diff --git a/CHANGELOG.txt b/CHANGELOG.txt deleted file mode 100644 index 7314431d..00000000 --- a/CHANGELOG.txt +++ /dev/null @@ -1,48 +0,0 @@ -*IN-DEVELOPEMENT* ----------------- -Make licence explicit: it is GPLv3 as per the conditions of the source - code dump from Epsitec. -Fix URL of colobot repository. -Render README for Markdown. -Ease git-based releasing. -Handle levels iternationalisation with po4a. -Drop translations as they are built from colobot itself. - ----------------- -2012-10-05 - -Release for Colobot Gold pre-alpha -Updated scene files to ones from colobot-level repository -Fixed incorrectly converted relief files - ----------------- -2012-09-22 - -Updated level files (resource paths and extensions) - ----------------- -2012-09-13 - -Added models converted to new text format -Added translation files -Removed unused files - ----------------- -2012-08-03 - -Added fonts -Changed other texture names to lowercase - ----------------- -2012-07-27 - -Changed indexed and grayscale PNG images to RGB - ----------------- -2012-07-22 - -Initial release made from files from original package by Epsitec -Minor changes: -- some files were not copied, as unnecessary, or dubious -- changed file names to lowercase -- changed all texture and image formats to PNG diff --git a/CMakeLists.txt b/CMakeLists.txt index fcf5d1a7..767abba9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,6 @@ endif() install(DIRECTORY ai DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY fonts DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) -install(DIRECTORY help DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY icons DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY models DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) #install(DIRECTORY models-new DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) @@ -18,4 +17,5 @@ install(DIRECTORY music DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY sounds DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY textures DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) +add_subdirectory(help) add_subdirectory(levels) diff --git a/README.i18n.md b/README.i18n.md new file mode 100644 index 00000000..61b4bdec --- /dev/null +++ b/README.i18n.md @@ -0,0 +1,110 @@ +# Colobot data translation + +The translation of Colobot level titles, level hierarchy and help files +is managed through [gettext](https://www.gnu.org/software/gettext/). + +## Level scene description files + +Level scene description files have english headers that are used in the +Colobot interface to describe the levels. Level scene description files +are levels/$level/scene.txt and translations are handled in the +level-specific po/ directory: levels/$levels/po/. The .pot file is the +source translation file, the *.po files are the translations. + +## Help files + +Helpfiles are divided in two categories: +* Generic helpfiles, about the game, the objects, the syntax, etc. These + are stored in help/ , in four sub-categories: generic, bots, object + and bots. +* Level-specific helpfiles, about the level, instructions, example + programs, etc. These are stored in levels/$level/help/. + +Helpfiles have their source in english, always stored in the E/ +subdirectory. To ensure retro-compatibility, existing translations have +not been integrated in the gettext-based translation mechanisms and are +stored in their respective one-character directories. New translations +snd updates to existing ones should really use the gettext-based +translation. + +## Colobot syntax + +Colobot parses a specific syntax to enable some formatting in the game +interface. + +To ease translation, this syntax is transformed into a pseudo-HTML +syntax in the gettext files. + +Here is the table of transformations and their meanings: + +
Transformed label | +Colobot native label | +Description | +
<button $buttonID/> | +\button $buttonID; | +Indicates a UI button. $buttonID is a number | +
<key $keyCode/> | +\key $keyCode; | +Indicates a keyboard key. $keyCode is a code, such as action | +
<format $formatID>Formatted text</format> | +\$formatID;Formatted text\norm; | +Changes text formatting in the marker. $formatID can be const, type, token or key. | +
<$formatID/> | +\$formatID; | +Toggle text formatting. $formatID can be const, type, token, key or norm. | +
<a $link>Link text</a> | +\l;Link text\u $link; | +Direct hyper-link. $link can be direct or in a category (such as cbot\abstime) | +
<a $linkcat|$link>Link text</a> | +\l;Link text\u $linkcat\$link; | +In-category hyper-link, linkcat can only be cbot, bots or object. | +
<code>CBot code</code> | +\c;CBot code\n; | +Code formatting | +
<s/> | +\s; | +Typewriter line indicator (usually verbatim code) | +
<t/> | +\t; | +Title line indicator | +
<b/> | +\b; | +Subtitle line indicator | +
<c/> | +\c; | +Typewriter formatting toggle | +
<n/> | +\n; | +Normal formatting toggle | +
move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:15 bots-help/botfj.txt:17 bots-help/botfr.txt:15 bots-help/botfs.txt:15
+#, no-wrap
+msgid ""
+"To program the fireball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:16 bots-help/botfj.txt:18 bots-help/botfr.txt:16 bots-help/botfs.txt:16 bots-help/botgc.txt:29 bots-help/botgj.txt:31 bots-help/botgr.txt:29 bots-help/botgs.txt:29 bots-help/botoc.txt:14 bots-help/botoj.txt:16 bots-help/botor.txt:14 bots-help/botos.txt:14 bots-help/botphaz.txt:10 bots-help/botrecy.txt:10 bots-help/botsc.txt:16 bots-help/botshld.txt:14 bots-help/botsj.txt:18 bots-help/botsr.txt:16 bots-help/botss.txt:16 bots-help/botsub.txt:12 bots-help/bottarg.txt:7 bots-help/bottr.txt:8 bots-help/bottump.txt:14
+#, no-wrap
+msgid "Object Category"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:18
+#, no-wrap
+msgid "TrackedShooter
"
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:19 bots-help/botfj.txt:21 bots-help/botfr.txt:19 bots-help/botfs.txt:19 bots-help/botgc.txt:32 bots-help/botgj.txt:34 bots-help/botgr.txt:32 bots-help/botgs.txt:32 bots-help/botoc.txt:17 bots-help/botoj.txt:19 bots-help/botor.txt:17 bots-help/botos.txt:17 bots-help/botphaz.txt:13 bots-help/botrecy.txt:13 bots-help/botsc.txt:19 bots-help/botshld.txt:17 bots-help/botsj.txt:21 bots-help/botsr.txt:19 bots-help/botss.txt:19 bots-help/botsub.txt:15 bots-help/bottarg.txt:10 bots-help/bottr.txt:11 bots-help/bottump.txt:17
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:20 bots-help/botfj.txt:22 bots-help/botfr.txt:20 bots-help/botfs.txt:20 bots-help/botgc.txt:33 bots-help/botgj.txt:35 bots-help/botgr.txt:33 bots-help/botgs.txt:34 bots-help/botoc.txt:18 bots-help/botoj.txt:20 bots-help/botor.txt:19 bots-help/botos.txt:18 bots-help/botphaz.txt:14 bots-help/botrecy.txt:14 bots-help/botsc.txt:20 bots-help/botshld.txt:18 bots-help/botsj.txt:22 bots-help/botsr.txt:20 bots-help/botss.txt:20 bots-help/botsub.txt:16 bots-help/bottarg.txt:11 bots-help/bottr.txt:12 bots-help/bottump.txt:18
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfj.txt:1
+#, no-wrap
+msgid " Winged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfj.txt:2
+#, no-wrap
+msgid "botfj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:10 bots-help/botgj.txt:21 bots-help/botoj.txt:8
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine will stop "
+"and the bot will crash."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:15 bots-help/botoj.txt:13 bots-help/botsj.txt:15
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands : move
, turn
, motor
, jet
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:20
+#, no-wrap
+msgid "WingedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfr.txt:1
+#, no-wrap
+msgid " Wheeled Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfr.txt:2
+#, no-wrap
+msgid "botfr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:10 bots-help/botgr.txt:21
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"shooter instead, or, if this is impossible, a tracked "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:18
+#, no-wrap
+msgid "WheeledShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfs.txt:1
+#, no-wrap
+msgid " Legged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfs.txt:2
+#, no-wrap
+msgid "botfs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled shooter. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:18
+#, no-wrap
+msgid "LeggedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgc.txt:1
+#, no-wrap
+msgid " Tracked Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgc.txt:2
+#, no-wrap
+msgid "botgc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:9 bots-help/botgj.txt:9 bots-help/botgr.txt:9 bots-help/botgs.txt:9
+#, no-wrap
+msgid ""
+" Grabs an object or lays it down again, at a position that is "
+"determined by one of the following options :\n"
+" The object is lying in front of the bot, on the ground or on "
+"the back of a second bot.\n"
+" The object is the bot's own power cell.\n"
+" The object is lying behind the bot, on the ground."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "The following objects can be transported :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:12 bots-help/botgj.txt:12 bots-help/botgr.txt:12 bots-help/botgs.txt:12
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:13 bots-help/botgj.txt:13
+#, no-wrap
+msgid "Cube of titanium."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:14 bots-help/botgj.txt:14 bots-help/botgr.txt:14 bots-help/botgs.txt:14
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:15 bots-help/botgj.txt:15 bots-help/botgr.txt:15 bots-help/botgs.txt:15
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:16 bots-help/botgj.txt:16 bots-help/botgr.txt:16 bots-help/botgs.txt:16
+#, no-wrap
+msgid "Black box."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:17 bots-help/botgj.txt:17 bots-help/botgr.txt:17 bots-help/botgs.txt:17
+#, no-wrap
+msgid "Keys A, B, C, and D."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:18 bots-help/botgj.txt:18 bots-help/botgr.txt:18 bots-help/botgs.txt:18
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:21
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use "
+"much energy. On flat ground for short distances, a wheeled "
+"grabber is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:23 bots-help/botgj.txt:25 bots-help/botgr.txt:23 bots-help/botgs.txt:23
+#, no-wrap
+msgid ""
+"A grabber won't function underwater. What you'll need instead is a subber."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:28 bots-help/botgj.txt:30 bots-help/botgr.txt:28 bots-help/botgs.txt:28
+#, no-wrap
+msgid ""
+"To program the operating arm, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:31
+#, no-wrap
+msgid "TrackedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgj.txt:1
+#, no-wrap
+msgid " Winged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgj.txt:2
+#, no-wrap
+msgid "botgj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:23
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled grabber instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:33
+#, no-wrap
+msgid "WingedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgr.txt:1
+#, no-wrap
+msgid " Wheeled Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgr.txt:2
+#, no-wrap
+msgid "botgr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an operating arm."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgr.txt:13 bots-help/botgs.txt:13
+#, no-wrap
+msgid "Converted titanium."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:31
+#, no-wrap
+msgid "WheeledGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgs.txt:1
+#, no-wrap
+msgid " Legged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgs.txt:2
+#, no-wrap
+msgid "botgs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:21
+#, no-wrap
+msgid ""
+"A moving legged grabber uses up half as much energy as a wheeled grabber. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:31
+#, no-wrap
+msgid "LeggedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoc.txt:1
+#, no-wrap
+msgid " Tracked Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoc.txt:2
+#, no-wrap
+msgid "botoc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:8
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"orga shooter is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:13 bots-help/botoj.txt:15 bots-help/botor.txt:13 bots-help/botos.txt:13
+#, no-wrap
+msgid ""
+"To program the orgaball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:16
+#, no-wrap
+msgid "TrackedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoj.txt:1
+#, no-wrap
+msgid " Winged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoj.txt:2
+#, no-wrap
+msgid "botoj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:10
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled orga shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:18
+#, no-wrap
+msgid "WingedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botor.txt:1
+#, no-wrap
+msgid " Wheeled Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botor.txt:2
+#, no-wrap
+msgid "botor"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:8
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to instead use a winged "
+"orga shooter, or, if this is impossible, a tracked orga "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:16
+#, no-wrap
+msgid "WheeledOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botos.txt:1
+#, no-wrap
+msgid " Legged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botos.txt:2
+#, no-wrap
+msgid "botos"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:8
+#, no-wrap
+msgid ""
+"A moving legged orga shooter uses up half as much energy as a wheeled orga shooter. A legged bot is also perfectly "
+"adapted to climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:16
+#, no-wrap
+msgid "LeggedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botphaz.txt:1
+#, no-wrap
+msgid " Phazer Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botphaz.txt:2
+#, no-wrap
+msgid "botphaz"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped with a very powerful phazer cannon, efficient against "
+"most kinds of enemies. When you aim upward, it can shoot up to 60 meters. It "
+"is the only weapon that can kill the Alien Queen."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:9
+#, no-wrap
+msgid ""
+"To program the phazer cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:12
+#, no-wrap
+msgid "PhazerShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botrecy.txt:1
+#, no-wrap
+msgid " Recycler"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botrecy.txt:2
+#, no-wrap
+msgid "botrecy"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to convert a derelict bot back into "
+"a reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:9
+#, no-wrap
+msgid ""
+"To program the recycling of a derelict bot, use recycle
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:12
+#, no-wrap
+msgid "RecyclerBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsc.txt:1
+#, no-wrap
+msgid " Tracked Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsc.txt:2
+#, no-wrap
+msgid "botsc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:5 bots-help/botsj.txt:5 bots-help/botsr.txt:5 bots-help/botss.txt:5
+#, no-wrap
+msgid ""
+"a red cross -> titanium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:6 bots-help/botsj.txt:6 bots-help/botsr.txt:6 bots-help/botss.txt:6
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:7 bots-help/botsj.txt:7 bots-help/botsr.txt:7 bots-help/botss.txt:7
+#, no-wrap
+msgid ""
+"a green cross -> energy deposit, useful for a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:10
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"sniffer is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:15 bots-help/botsj.txt:17 bots-help/botsr.txt:15 bots-help/botss.txt:15
+#, no-wrap
+msgid "To program the sniffing arm, use sniff
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:18
+#, no-wrap
+msgid "TrackedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botshld.txt:1
+#, no-wrap
+msgid " Shielder"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botshld.txt:2
+#, no-wrap
+msgid "botshld"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to protect and defend against all enemy attacks within a perimeter of 10 to 25 meters. The "
+"individual shields of bots and buildings are re-energized through the "
+"shielder's defensive actions. This bot is the only way to get through narrow "
+"passages adorned with poisonous green mushrooms."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:6
+#, no-wrap
+msgid ""
+"A regular power cell allows for a 20-second activity "
+"span with a radius of 25 meters, much too short in most cases. A nuclear power cell is of course more suited to this bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:8
+#, no-wrap
+msgid ""
+"The energy consumption is proportional to the radius of the protective "
+"sphere. With a radius of 10 meters, the bot can work 2.5 times longer than "
+"with the maximum radius of 25 meters."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:13
+#, no-wrap
+msgid ""
+"To program the deployment of the shield, use shield
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:16
+#, no-wrap
+msgid "Shielder
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsj.txt:1
+#, no-wrap
+msgid " Winged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsj.txt:2
+#, no-wrap
+msgid "botsj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:4
+#, no-wrap
+msgid ""
+"Jet propelled flying bot equipped to prospect the geological structure of "
+"the subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:10
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine stops and "
+"the bot crashes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply uses up quickly. They're slow on the ground. To cover a "
+"short distance that will not call for flying, it is recommended to use a wheeled sniffer instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:20
+#, no-wrap
+msgid "WingedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsr.txt:1
+#, no-wrap
+msgid " Wheeled Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsr.txt:2
+#, no-wrap
+msgid "botsr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:10
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"sniffer instead, or, if this is impossible, a tracked "
+"sniffer."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:18
+#, no-wrap
+msgid "WheeledSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botss.txt:1
+#, no-wrap
+msgid " Legged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botss.txt:2
+#, no-wrap
+msgid "botss"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:4
+#, no-wrap
+msgid ""
+"Ant-legged creeping bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled sniffer. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:18
+#, no-wrap
+msgid "LeggedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsub.txt:1
+#, no-wrap
+msgid " Subber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsub.txt:2
+#, no-wrap
+msgid "botsub"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:4
+#, no-wrap
+msgid ""
+"Amphibious tracked bot equipped with an operating claw. The subber is the "
+"only bot capable of moving and running operations underwater."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:6
+#, no-wrap
+msgid ""
+"It is best to check the power cell readings prior to "
+"immersion since replacing or recharging it underwater is impossible. The "
+"subber can only pick up objects from the ground, as opposed to, for example, "
+"a battery from the back of another bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:11
+#, no-wrap
+msgid ""
+"To program the operating claw, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:14
+#, no-wrap
+msgid "Subber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottarg.txt:1
+#, no-wrap
+msgid " Target Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottarg.txt:2
+#, no-wrap
+msgid "bottarg"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for target practice. It is autonomous and its "
+"trajectory is dependant upon the nature of the exercise."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:6
+#, no-wrap
+msgid ""
+"Note that target bots, loaded as they are with TNT, are "
+"extremely sensitive to shocks."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:9
+#, no-wrap
+msgid "TargetBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottr.txt:1
+#, no-wrap
+msgid " Practice Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottr.txt:2
+#, no-wrap
+msgid "bottr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for training and practice. Its only purpose is "
+"to help you get accustomed to the programming of the bots' various ground "
+"movements."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/bottr.txt:5 bots-help/bottump.txt:9
+#, no-wrap
+msgid "Instructions"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:7
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands: move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:10
+#, no-wrap
+msgid "PracticeBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottump.txt:1
+#, no-wrap
+msgid " Thumper"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottump.txt:2
+#, no-wrap
+msgid "bottump"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to hit the ground with enormous force. The purpose of "
+"the thumping is to turn ants and spiders belly up within a radius of 100 meters. An insect "
+"on its back is not dead but will struggle to get right side up again. After "
+"approximately 60 seconds of effort, it will usually succeed."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:6
+#, no-wrap
+msgid ""
+"To visualize the zone of impact, hit the thump
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:16
+#, no-wrap
+msgid "Thumper
"
+msgstr ""
diff --git a/help/bots/po/de.po b/help/bots/po/de.po
new file mode 100644
index 00000000..d10ab682
--- /dev/null
+++ b/help/bots/po/de.po
@@ -0,0 +1,1121 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:15 bots-help/botfj.txt:17 bots-help/botfr.txt:15 bots-help/botfs.txt:15
+#, no-wrap
+msgid ""
+"To program the fireball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:16 bots-help/botfj.txt:18 bots-help/botfr.txt:16 bots-help/botfs.txt:16 bots-help/botgc.txt:29 bots-help/botgj.txt:31 bots-help/botgr.txt:29 bots-help/botgs.txt:29 bots-help/botoc.txt:14 bots-help/botoj.txt:16 bots-help/botor.txt:14 bots-help/botos.txt:14 bots-help/botphaz.txt:10 bots-help/botrecy.txt:10 bots-help/botsc.txt:16 bots-help/botshld.txt:14 bots-help/botsj.txt:18 bots-help/botsr.txt:16 bots-help/botss.txt:16 bots-help/botsub.txt:12 bots-help/bottarg.txt:7 bots-help/bottr.txt:8 bots-help/bottump.txt:14
+#, no-wrap
+msgid "Object Category"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:18
+#, no-wrap
+msgid "TrackedShooter
"
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:19 bots-help/botfj.txt:21 bots-help/botfr.txt:19 bots-help/botfs.txt:19 bots-help/botgc.txt:32 bots-help/botgj.txt:34 bots-help/botgr.txt:32 bots-help/botgs.txt:32 bots-help/botoc.txt:17 bots-help/botoj.txt:19 bots-help/botor.txt:17 bots-help/botos.txt:17 bots-help/botphaz.txt:13 bots-help/botrecy.txt:13 bots-help/botsc.txt:19 bots-help/botshld.txt:17 bots-help/botsj.txt:21 bots-help/botsr.txt:19 bots-help/botss.txt:19 bots-help/botsub.txt:15 bots-help/bottarg.txt:10 bots-help/bottr.txt:11 bots-help/bottump.txt:17
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:20 bots-help/botfj.txt:22 bots-help/botfr.txt:20 bots-help/botfs.txt:20 bots-help/botgc.txt:33 bots-help/botgj.txt:35 bots-help/botgr.txt:33 bots-help/botgs.txt:34 bots-help/botoc.txt:18 bots-help/botoj.txt:20 bots-help/botor.txt:19 bots-help/botos.txt:18 bots-help/botphaz.txt:14 bots-help/botrecy.txt:14 bots-help/botsc.txt:20 bots-help/botshld.txt:18 bots-help/botsj.txt:22 bots-help/botsr.txt:20 bots-help/botss.txt:20 bots-help/botsub.txt:16 bots-help/bottarg.txt:11 bots-help/bottr.txt:12 bots-help/bottump.txt:18
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfj.txt:1
+#, no-wrap
+msgid " Winged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfj.txt:2
+#, no-wrap
+msgid "botfj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:10 bots-help/botgj.txt:21 bots-help/botoj.txt:8
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine will stop "
+"and the bot will crash."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:15 bots-help/botoj.txt:13 bots-help/botsj.txt:15
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands : move
, turn
, motor
, jet
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:20
+#, no-wrap
+msgid "WingedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfr.txt:1
+#, no-wrap
+msgid " Wheeled Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfr.txt:2
+#, no-wrap
+msgid "botfr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:10 bots-help/botgr.txt:21
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"shooter instead, or, if this is impossible, a tracked "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:18
+#, no-wrap
+msgid "WheeledShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfs.txt:1
+#, no-wrap
+msgid " Legged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfs.txt:2
+#, no-wrap
+msgid "botfs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled shooter. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:18
+#, no-wrap
+msgid "LeggedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgc.txt:1
+#, no-wrap
+msgid " Tracked Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgc.txt:2
+#, no-wrap
+msgid "botgc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:9 bots-help/botgj.txt:9 bots-help/botgr.txt:9 bots-help/botgs.txt:9
+#, no-wrap
+msgid ""
+" Grabs an object or lays it down again, at a position that is "
+"determined by one of the following options :\n"
+" The object is lying in front of the bot, on the ground or on "
+"the back of a second bot.\n"
+" The object is the bot's own power cell.\n"
+" The object is lying behind the bot, on the ground."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "The following objects can be transported :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:12 bots-help/botgj.txt:12 bots-help/botgr.txt:12 bots-help/botgs.txt:12
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:13 bots-help/botgj.txt:13
+#, no-wrap
+msgid "Cube of titanium."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:14 bots-help/botgj.txt:14 bots-help/botgr.txt:14 bots-help/botgs.txt:14
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:15 bots-help/botgj.txt:15 bots-help/botgr.txt:15 bots-help/botgs.txt:15
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:16 bots-help/botgj.txt:16 bots-help/botgr.txt:16 bots-help/botgs.txt:16
+#, no-wrap
+msgid "Black box."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:17 bots-help/botgj.txt:17 bots-help/botgr.txt:17 bots-help/botgs.txt:17
+#, no-wrap
+msgid "Keys A, B, C, and D."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:18 bots-help/botgj.txt:18 bots-help/botgr.txt:18 bots-help/botgs.txt:18
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:21
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use "
+"much energy. On flat ground for short distances, a wheeled "
+"grabber is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:23 bots-help/botgj.txt:25 bots-help/botgr.txt:23 bots-help/botgs.txt:23
+#, no-wrap
+msgid ""
+"A grabber won't function underwater. What you'll need instead is a subber."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:28 bots-help/botgj.txt:30 bots-help/botgr.txt:28 bots-help/botgs.txt:28
+#, no-wrap
+msgid ""
+"To program the operating arm, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:31
+#, no-wrap
+msgid "TrackedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgj.txt:1
+#, no-wrap
+msgid " Winged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgj.txt:2
+#, no-wrap
+msgid "botgj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:23
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled grabber instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:33
+#, no-wrap
+msgid "WingedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgr.txt:1
+#, no-wrap
+msgid " Wheeled Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgr.txt:2
+#, no-wrap
+msgid "botgr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an operating arm."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgr.txt:13 bots-help/botgs.txt:13
+#, no-wrap
+msgid "Converted titanium."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:31
+#, no-wrap
+msgid "WheeledGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgs.txt:1
+#, no-wrap
+msgid " Legged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgs.txt:2
+#, no-wrap
+msgid "botgs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:21
+#, no-wrap
+msgid ""
+"A moving legged grabber uses up half as much energy as a wheeled grabber. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:31
+#, no-wrap
+msgid "LeggedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoc.txt:1
+#, no-wrap
+msgid " Tracked Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoc.txt:2
+#, no-wrap
+msgid "botoc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:8
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"orga shooter is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:13 bots-help/botoj.txt:15 bots-help/botor.txt:13 bots-help/botos.txt:13
+#, no-wrap
+msgid ""
+"To program the orgaball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:16
+#, no-wrap
+msgid "TrackedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoj.txt:1
+#, no-wrap
+msgid " Winged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoj.txt:2
+#, no-wrap
+msgid "botoj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:10
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled orga shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:18
+#, no-wrap
+msgid "WingedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botor.txt:1
+#, no-wrap
+msgid " Wheeled Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botor.txt:2
+#, no-wrap
+msgid "botor"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:8
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to instead use a winged "
+"orga shooter, or, if this is impossible, a tracked orga "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:16
+#, no-wrap
+msgid "WheeledOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botos.txt:1
+#, no-wrap
+msgid " Legged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botos.txt:2
+#, no-wrap
+msgid "botos"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:8
+#, no-wrap
+msgid ""
+"A moving legged orga shooter uses up half as much energy as a wheeled orga shooter. A legged bot is also perfectly "
+"adapted to climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:16
+#, no-wrap
+msgid "LeggedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botphaz.txt:1
+#, no-wrap
+msgid " Phazer Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botphaz.txt:2
+#, no-wrap
+msgid "botphaz"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped with a very powerful phazer cannon, efficient against "
+"most kinds of enemies. When you aim upward, it can shoot up to 60 meters. It "
+"is the only weapon that can kill the Alien Queen."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:9
+#, no-wrap
+msgid ""
+"To program the phazer cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:12
+#, no-wrap
+msgid "PhazerShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botrecy.txt:1
+#, no-wrap
+msgid " Recycler"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botrecy.txt:2
+#, no-wrap
+msgid "botrecy"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to convert a derelict bot back into "
+"a reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:9
+#, no-wrap
+msgid ""
+"To program the recycling of a derelict bot, use recycle
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:12
+#, no-wrap
+msgid "RecyclerBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsc.txt:1
+#, no-wrap
+msgid " Tracked Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsc.txt:2
+#, no-wrap
+msgid "botsc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:5 bots-help/botsj.txt:5 bots-help/botsr.txt:5 bots-help/botss.txt:5
+#, no-wrap
+msgid ""
+"a red cross -> titanium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:6 bots-help/botsj.txt:6 bots-help/botsr.txt:6 bots-help/botss.txt:6
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:7 bots-help/botsj.txt:7 bots-help/botsr.txt:7 bots-help/botss.txt:7
+#, no-wrap
+msgid ""
+"a green cross -> energy deposit, useful for a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:10
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"sniffer is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:15 bots-help/botsj.txt:17 bots-help/botsr.txt:15 bots-help/botss.txt:15
+#, no-wrap
+msgid "To program the sniffing arm, use sniff
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:18
+#, no-wrap
+msgid "TrackedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botshld.txt:1
+#, no-wrap
+msgid " Shielder"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botshld.txt:2
+#, no-wrap
+msgid "botshld"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to protect and defend against all enemy attacks within a perimeter of 10 to 25 meters. The "
+"individual shields of bots and buildings are re-energized through the "
+"shielder's defensive actions. This bot is the only way to get through narrow "
+"passages adorned with poisonous green mushrooms."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:6
+#, no-wrap
+msgid ""
+"A regular power cell allows for a 20-second activity "
+"span with a radius of 25 meters, much too short in most cases. A nuclear power cell is of course more suited to this bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:8
+#, no-wrap
+msgid ""
+"The energy consumption is proportional to the radius of the protective "
+"sphere. With a radius of 10 meters, the bot can work 2.5 times longer than "
+"with the maximum radius of 25 meters."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:13
+#, no-wrap
+msgid ""
+"To program the deployment of the shield, use shield
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:16
+#, no-wrap
+msgid "Shielder
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsj.txt:1
+#, no-wrap
+msgid " Winged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsj.txt:2
+#, no-wrap
+msgid "botsj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:4
+#, no-wrap
+msgid ""
+"Jet propelled flying bot equipped to prospect the geological structure of "
+"the subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:10
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine stops and "
+"the bot crashes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply uses up quickly. They're slow on the ground. To cover a "
+"short distance that will not call for flying, it is recommended to use a wheeled sniffer instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:20
+#, no-wrap
+msgid "WingedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsr.txt:1
+#, no-wrap
+msgid " Wheeled Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsr.txt:2
+#, no-wrap
+msgid "botsr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:10
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"sniffer instead, or, if this is impossible, a tracked "
+"sniffer."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:18
+#, no-wrap
+msgid "WheeledSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botss.txt:1
+#, no-wrap
+msgid " Legged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botss.txt:2
+#, no-wrap
+msgid "botss"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:4
+#, no-wrap
+msgid ""
+"Ant-legged creeping bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled sniffer. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:18
+#, no-wrap
+msgid "LeggedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsub.txt:1
+#, no-wrap
+msgid " Subber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsub.txt:2
+#, no-wrap
+msgid "botsub"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:4
+#, no-wrap
+msgid ""
+"Amphibious tracked bot equipped with an operating claw. The subber is the "
+"only bot capable of moving and running operations underwater."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:6
+#, no-wrap
+msgid ""
+"It is best to check the power cell readings prior to "
+"immersion since replacing or recharging it underwater is impossible. The "
+"subber can only pick up objects from the ground, as opposed to, for example, "
+"a battery from the back of another bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:11
+#, no-wrap
+msgid ""
+"To program the operating claw, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:14
+#, no-wrap
+msgid "Subber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottarg.txt:1
+#, no-wrap
+msgid " Target Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottarg.txt:2
+#, no-wrap
+msgid "bottarg"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for target practice. It is autonomous and its "
+"trajectory is dependant upon the nature of the exercise."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:6
+#, no-wrap
+msgid ""
+"Note that target bots, loaded as they are with TNT, are "
+"extremely sensitive to shocks."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:9
+#, no-wrap
+msgid "TargetBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottr.txt:1
+#, no-wrap
+msgid " Practice Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottr.txt:2
+#, no-wrap
+msgid "bottr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for training and practice. Its only purpose is "
+"to help you get accustomed to the programming of the bots' various ground "
+"movements."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/bottr.txt:5 bots-help/bottump.txt:9
+#, no-wrap
+msgid "Instructions"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:7
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands: move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:10
+#, no-wrap
+msgid "PracticeBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottump.txt:1
+#, no-wrap
+msgid " Thumper"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottump.txt:2
+#, no-wrap
+msgid "bottump"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to hit the ground with enormous force. The purpose of "
+"the thumping is to turn ants and spiders belly up within a radius of 100 meters. An insect "
+"on its back is not dead but will struggle to get right side up again. After "
+"approximately 60 seconds of effort, it will usually succeed."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:6
+#, no-wrap
+msgid ""
+"To visualize the zone of impact, hit the thump
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:16
+#, no-wrap
+msgid "Thumper
"
+msgstr ""
diff --git a/help/bots/po/fr.po b/help/bots/po/fr.po
new file mode 100644
index 00000000..eef33b7d
--- /dev/null
+++ b/help/bots/po/fr.po
@@ -0,0 +1,1121 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:15 bots-help/botfj.txt:17 bots-help/botfr.txt:15 bots-help/botfs.txt:15
+#, no-wrap
+msgid ""
+"To program the fireball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:16 bots-help/botfj.txt:18 bots-help/botfr.txt:16 bots-help/botfs.txt:16 bots-help/botgc.txt:29 bots-help/botgj.txt:31 bots-help/botgr.txt:29 bots-help/botgs.txt:29 bots-help/botoc.txt:14 bots-help/botoj.txt:16 bots-help/botor.txt:14 bots-help/botos.txt:14 bots-help/botphaz.txt:10 bots-help/botrecy.txt:10 bots-help/botsc.txt:16 bots-help/botshld.txt:14 bots-help/botsj.txt:18 bots-help/botsr.txt:16 bots-help/botss.txt:16 bots-help/botsub.txt:12 bots-help/bottarg.txt:7 bots-help/bottr.txt:8 bots-help/bottump.txt:14
+#, no-wrap
+msgid "Object Category"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:18
+#, no-wrap
+msgid "TrackedShooter
"
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:19 bots-help/botfj.txt:21 bots-help/botfr.txt:19 bots-help/botfs.txt:19 bots-help/botgc.txt:32 bots-help/botgj.txt:34 bots-help/botgr.txt:32 bots-help/botgs.txt:32 bots-help/botoc.txt:17 bots-help/botoj.txt:19 bots-help/botor.txt:17 bots-help/botos.txt:17 bots-help/botphaz.txt:13 bots-help/botrecy.txt:13 bots-help/botsc.txt:19 bots-help/botshld.txt:17 bots-help/botsj.txt:21 bots-help/botsr.txt:19 bots-help/botss.txt:19 bots-help/botsub.txt:15 bots-help/bottarg.txt:10 bots-help/bottr.txt:11 bots-help/bottump.txt:17
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:20 bots-help/botfj.txt:22 bots-help/botfr.txt:20 bots-help/botfs.txt:20 bots-help/botgc.txt:33 bots-help/botgj.txt:35 bots-help/botgr.txt:33 bots-help/botgs.txt:34 bots-help/botoc.txt:18 bots-help/botoj.txt:20 bots-help/botor.txt:19 bots-help/botos.txt:18 bots-help/botphaz.txt:14 bots-help/botrecy.txt:14 bots-help/botsc.txt:20 bots-help/botshld.txt:18 bots-help/botsj.txt:22 bots-help/botsr.txt:20 bots-help/botss.txt:20 bots-help/botsub.txt:16 bots-help/bottarg.txt:11 bots-help/bottr.txt:12 bots-help/bottump.txt:18
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfj.txt:1
+#, no-wrap
+msgid " Winged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfj.txt:2
+#, no-wrap
+msgid "botfj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:10 bots-help/botgj.txt:21 bots-help/botoj.txt:8
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine will stop "
+"and the bot will crash."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:15 bots-help/botoj.txt:13 bots-help/botsj.txt:15
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands : move
, turn
, motor
, jet
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:20
+#, no-wrap
+msgid "WingedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfr.txt:1
+#, no-wrap
+msgid " Wheeled Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfr.txt:2
+#, no-wrap
+msgid "botfr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:10 bots-help/botgr.txt:21
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"shooter instead, or, if this is impossible, a tracked "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:18
+#, no-wrap
+msgid "WheeledShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfs.txt:1
+#, no-wrap
+msgid " Legged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfs.txt:2
+#, no-wrap
+msgid "botfs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled shooter. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:18
+#, no-wrap
+msgid "LeggedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgc.txt:1
+#, no-wrap
+msgid " Tracked Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgc.txt:2
+#, no-wrap
+msgid "botgc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:9 bots-help/botgj.txt:9 bots-help/botgr.txt:9 bots-help/botgs.txt:9
+#, no-wrap
+msgid ""
+" Grabs an object or lays it down again, at a position that is "
+"determined by one of the following options :\n"
+" The object is lying in front of the bot, on the ground or on "
+"the back of a second bot.\n"
+" The object is the bot's own power cell.\n"
+" The object is lying behind the bot, on the ground."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "The following objects can be transported :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:12 bots-help/botgj.txt:12 bots-help/botgr.txt:12 bots-help/botgs.txt:12
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:13 bots-help/botgj.txt:13
+#, no-wrap
+msgid "Cube of titanium."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:14 bots-help/botgj.txt:14 bots-help/botgr.txt:14 bots-help/botgs.txt:14
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:15 bots-help/botgj.txt:15 bots-help/botgr.txt:15 bots-help/botgs.txt:15
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:16 bots-help/botgj.txt:16 bots-help/botgr.txt:16 bots-help/botgs.txt:16
+#, no-wrap
+msgid "Black box."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:17 bots-help/botgj.txt:17 bots-help/botgr.txt:17 bots-help/botgs.txt:17
+#, no-wrap
+msgid "Keys A, B, C, and D."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:18 bots-help/botgj.txt:18 bots-help/botgr.txt:18 bots-help/botgs.txt:18
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:21
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use "
+"much energy. On flat ground for short distances, a wheeled "
+"grabber is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:23 bots-help/botgj.txt:25 bots-help/botgr.txt:23 bots-help/botgs.txt:23
+#, no-wrap
+msgid ""
+"A grabber won't function underwater. What you'll need instead is a subber."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:28 bots-help/botgj.txt:30 bots-help/botgr.txt:28 bots-help/botgs.txt:28
+#, no-wrap
+msgid ""
+"To program the operating arm, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:31
+#, no-wrap
+msgid "TrackedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgj.txt:1
+#, no-wrap
+msgid " Winged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgj.txt:2
+#, no-wrap
+msgid "botgj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:23
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled grabber instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:33
+#, no-wrap
+msgid "WingedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgr.txt:1
+#, no-wrap
+msgid " Wheeled Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgr.txt:2
+#, no-wrap
+msgid "botgr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an operating arm."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgr.txt:13 bots-help/botgs.txt:13
+#, no-wrap
+msgid "Converted titanium."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:31
+#, no-wrap
+msgid "WheeledGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgs.txt:1
+#, no-wrap
+msgid " Legged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgs.txt:2
+#, no-wrap
+msgid "botgs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:21
+#, no-wrap
+msgid ""
+"A moving legged grabber uses up half as much energy as a wheeled grabber. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:31
+#, no-wrap
+msgid "LeggedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoc.txt:1
+#, no-wrap
+msgid " Tracked Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoc.txt:2
+#, no-wrap
+msgid "botoc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:8
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"orga shooter is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:13 bots-help/botoj.txt:15 bots-help/botor.txt:13 bots-help/botos.txt:13
+#, no-wrap
+msgid ""
+"To program the orgaball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:16
+#, no-wrap
+msgid "TrackedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoj.txt:1
+#, no-wrap
+msgid " Winged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoj.txt:2
+#, no-wrap
+msgid "botoj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:10
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled orga shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:18
+#, no-wrap
+msgid "WingedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botor.txt:1
+#, no-wrap
+msgid " Wheeled Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botor.txt:2
+#, no-wrap
+msgid "botor"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:8
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to instead use a winged "
+"orga shooter, or, if this is impossible, a tracked orga "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:16
+#, no-wrap
+msgid "WheeledOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botos.txt:1
+#, no-wrap
+msgid " Legged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botos.txt:2
+#, no-wrap
+msgid "botos"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:8
+#, no-wrap
+msgid ""
+"A moving legged orga shooter uses up half as much energy as a wheeled orga shooter. A legged bot is also perfectly "
+"adapted to climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:16
+#, no-wrap
+msgid "LeggedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botphaz.txt:1
+#, no-wrap
+msgid " Phazer Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botphaz.txt:2
+#, no-wrap
+msgid "botphaz"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped with a very powerful phazer cannon, efficient against "
+"most kinds of enemies. When you aim upward, it can shoot up to 60 meters. It "
+"is the only weapon that can kill the Alien Queen."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:9
+#, no-wrap
+msgid ""
+"To program the phazer cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:12
+#, no-wrap
+msgid "PhazerShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botrecy.txt:1
+#, no-wrap
+msgid " Recycler"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botrecy.txt:2
+#, no-wrap
+msgid "botrecy"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to convert a derelict bot back into "
+"a reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:9
+#, no-wrap
+msgid ""
+"To program the recycling of a derelict bot, use recycle
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:12
+#, no-wrap
+msgid "RecyclerBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsc.txt:1
+#, no-wrap
+msgid " Tracked Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsc.txt:2
+#, no-wrap
+msgid "botsc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:5 bots-help/botsj.txt:5 bots-help/botsr.txt:5 bots-help/botss.txt:5
+#, no-wrap
+msgid ""
+"a red cross -> titanium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:6 bots-help/botsj.txt:6 bots-help/botsr.txt:6 bots-help/botss.txt:6
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:7 bots-help/botsj.txt:7 bots-help/botsr.txt:7 bots-help/botss.txt:7
+#, no-wrap
+msgid ""
+"a green cross -> energy deposit, useful for a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:10
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"sniffer is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:15 bots-help/botsj.txt:17 bots-help/botsr.txt:15 bots-help/botss.txt:15
+#, no-wrap
+msgid "To program the sniffing arm, use sniff
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:18
+#, no-wrap
+msgid "TrackedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botshld.txt:1
+#, no-wrap
+msgid " Shielder"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botshld.txt:2
+#, no-wrap
+msgid "botshld"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to protect and defend against all enemy attacks within a perimeter of 10 to 25 meters. The "
+"individual shields of bots and buildings are re-energized through the "
+"shielder's defensive actions. This bot is the only way to get through narrow "
+"passages adorned with poisonous green mushrooms."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:6
+#, no-wrap
+msgid ""
+"A regular power cell allows for a 20-second activity "
+"span with a radius of 25 meters, much too short in most cases. A nuclear power cell is of course more suited to this bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:8
+#, no-wrap
+msgid ""
+"The energy consumption is proportional to the radius of the protective "
+"sphere. With a radius of 10 meters, the bot can work 2.5 times longer than "
+"with the maximum radius of 25 meters."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:13
+#, no-wrap
+msgid ""
+"To program the deployment of the shield, use shield
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:16
+#, no-wrap
+msgid "Shielder
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsj.txt:1
+#, no-wrap
+msgid " Winged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsj.txt:2
+#, no-wrap
+msgid "botsj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:4
+#, no-wrap
+msgid ""
+"Jet propelled flying bot equipped to prospect the geological structure of "
+"the subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:10
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine stops and "
+"the bot crashes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply uses up quickly. They're slow on the ground. To cover a "
+"short distance that will not call for flying, it is recommended to use a wheeled sniffer instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:20
+#, no-wrap
+msgid "WingedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsr.txt:1
+#, no-wrap
+msgid " Wheeled Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsr.txt:2
+#, no-wrap
+msgid "botsr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:10
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"sniffer instead, or, if this is impossible, a tracked "
+"sniffer."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:18
+#, no-wrap
+msgid "WheeledSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botss.txt:1
+#, no-wrap
+msgid " Legged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botss.txt:2
+#, no-wrap
+msgid "botss"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:4
+#, no-wrap
+msgid ""
+"Ant-legged creeping bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled sniffer. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:18
+#, no-wrap
+msgid "LeggedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsub.txt:1
+#, no-wrap
+msgid " Subber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsub.txt:2
+#, no-wrap
+msgid "botsub"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:4
+#, no-wrap
+msgid ""
+"Amphibious tracked bot equipped with an operating claw. The subber is the "
+"only bot capable of moving and running operations underwater."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:6
+#, no-wrap
+msgid ""
+"It is best to check the power cell readings prior to "
+"immersion since replacing or recharging it underwater is impossible. The "
+"subber can only pick up objects from the ground, as opposed to, for example, "
+"a battery from the back of another bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:11
+#, no-wrap
+msgid ""
+"To program the operating claw, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:14
+#, no-wrap
+msgid "Subber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottarg.txt:1
+#, no-wrap
+msgid " Target Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottarg.txt:2
+#, no-wrap
+msgid "bottarg"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for target practice. It is autonomous and its "
+"trajectory is dependant upon the nature of the exercise."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:6
+#, no-wrap
+msgid ""
+"Note that target bots, loaded as they are with TNT, are "
+"extremely sensitive to shocks."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:9
+#, no-wrap
+msgid "TargetBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottr.txt:1
+#, no-wrap
+msgid " Practice Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottr.txt:2
+#, no-wrap
+msgid "bottr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for training and practice. Its only purpose is "
+"to help you get accustomed to the programming of the bots' various ground "
+"movements."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/bottr.txt:5 bots-help/bottump.txt:9
+#, no-wrap
+msgid "Instructions"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:7
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands: move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:10
+#, no-wrap
+msgid "PracticeBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottump.txt:1
+#, no-wrap
+msgid " Thumper"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottump.txt:2
+#, no-wrap
+msgid "bottump"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to hit the ground with enormous force. The purpose of "
+"the thumping is to turn ants and spiders belly up within a radius of 100 meters. An insect "
+"on its back is not dead but will struggle to get right side up again. After "
+"approximately 60 seconds of effort, it will usually succeed."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:6
+#, no-wrap
+msgid ""
+"To visualize the zone of impact, hit the thump
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:16
+#, no-wrap
+msgid "Thumper
"
+msgstr ""
diff --git a/help/bots/po/pl.po b/help/bots/po/pl.po
new file mode 100644
index 00000000..bece8155
--- /dev/null
+++ b/help/bots/po/pl.po
@@ -0,0 +1,1121 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:15 bots-help/botfj.txt:17 bots-help/botfr.txt:15 bots-help/botfs.txt:15
+#, no-wrap
+msgid ""
+"To program the fireball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:16 bots-help/botfj.txt:18 bots-help/botfr.txt:16 bots-help/botfs.txt:16 bots-help/botgc.txt:29 bots-help/botgj.txt:31 bots-help/botgr.txt:29 bots-help/botgs.txt:29 bots-help/botoc.txt:14 bots-help/botoj.txt:16 bots-help/botor.txt:14 bots-help/botos.txt:14 bots-help/botphaz.txt:10 bots-help/botrecy.txt:10 bots-help/botsc.txt:16 bots-help/botshld.txt:14 bots-help/botsj.txt:18 bots-help/botsr.txt:16 bots-help/botss.txt:16 bots-help/botsub.txt:12 bots-help/bottarg.txt:7 bots-help/bottr.txt:8 bots-help/bottump.txt:14
+#, no-wrap
+msgid "Object Category"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:18
+#, no-wrap
+msgid "TrackedShooter
"
+msgstr ""
+
+#. type: \t; header
+#: bots-help/botfc.txt:19 bots-help/botfj.txt:21 bots-help/botfr.txt:19 bots-help/botfs.txt:19 bots-help/botgc.txt:32 bots-help/botgj.txt:34 bots-help/botgr.txt:32 bots-help/botgs.txt:32 bots-help/botoc.txt:17 bots-help/botoj.txt:19 bots-help/botor.txt:17 bots-help/botos.txt:17 bots-help/botphaz.txt:13 bots-help/botrecy.txt:13 bots-help/botsc.txt:19 bots-help/botshld.txt:17 bots-help/botsj.txt:21 bots-help/botsr.txt:19 bots-help/botss.txt:19 bots-help/botsub.txt:15 bots-help/bottarg.txt:10 bots-help/bottr.txt:11 bots-help/bottump.txt:17
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfc.txt:20 bots-help/botfj.txt:22 bots-help/botfr.txt:20 bots-help/botfs.txt:20 bots-help/botgc.txt:33 bots-help/botgj.txt:35 bots-help/botgr.txt:33 bots-help/botgs.txt:34 bots-help/botoc.txt:18 bots-help/botoj.txt:20 bots-help/botor.txt:19 bots-help/botos.txt:18 bots-help/botphaz.txt:14 bots-help/botrecy.txt:14 bots-help/botsc.txt:20 bots-help/botshld.txt:18 bots-help/botsj.txt:22 bots-help/botsr.txt:20 bots-help/botss.txt:20 bots-help/botsub.txt:16 bots-help/bottarg.txt:11 bots-help/bottr.txt:12 bots-help/bottump.txt:18
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfj.txt:1
+#, no-wrap
+msgid " Winged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfj.txt:2
+#, no-wrap
+msgid "botfj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:10 bots-help/botgj.txt:21 bots-help/botoj.txt:8
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine will stop "
+"and the bot will crash."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:15 bots-help/botoj.txt:13 bots-help/botsj.txt:15
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands : move
, turn
, motor
, jet
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfj.txt:20
+#, no-wrap
+msgid "WingedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfr.txt:1
+#, no-wrap
+msgid " Wheeled Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfr.txt:2
+#, no-wrap
+msgid "botfr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:10 bots-help/botgr.txt:21
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"shooter instead, or, if this is impossible, a tracked "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfr.txt:18
+#, no-wrap
+msgid "WheeledShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botfs.txt:1
+#, no-wrap
+msgid " Legged Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botfs.txt:2
+#, no-wrap
+msgid "botfs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with a fireball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled shooter. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botfs.txt:18
+#, no-wrap
+msgid "LeggedShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgc.txt:1
+#, no-wrap
+msgid " Tracked Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgc.txt:2
+#, no-wrap
+msgid "botgc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:9 bots-help/botgj.txt:9 bots-help/botgr.txt:9 bots-help/botgs.txt:9
+#, no-wrap
+msgid ""
+" Grabs an object or lays it down again, at a position that is "
+"determined by one of the following options :\n"
+" The object is lying in front of the bot, on the ground or on "
+"the back of a second bot.\n"
+" The object is the bot's own power cell.\n"
+" The object is lying behind the bot, on the ground."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "The following objects can be transported :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:11 bots-help/botgj.txt:11 bots-help/botgr.txt:11 bots-help/botgs.txt:11
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:12 bots-help/botgj.txt:12 bots-help/botgr.txt:12 bots-help/botgs.txt:12
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:13 bots-help/botgj.txt:13
+#, no-wrap
+msgid "Cube of titanium."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:14 bots-help/botgj.txt:14 bots-help/botgr.txt:14 bots-help/botgs.txt:14
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:15 bots-help/botgj.txt:15 bots-help/botgr.txt:15 bots-help/botgs.txt:15
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:16 bots-help/botgj.txt:16 bots-help/botgr.txt:16 bots-help/botgs.txt:16
+#, no-wrap
+msgid "Black box."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:17 bots-help/botgj.txt:17 bots-help/botgr.txt:17 bots-help/botgs.txt:17
+#, no-wrap
+msgid "Keys A, B, C, and D."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgc.txt:18 bots-help/botgj.txt:18 bots-help/botgr.txt:18 bots-help/botgs.txt:18
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:21
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use "
+"much energy. On flat ground for short distances, a wheeled "
+"grabber is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:23 bots-help/botgj.txt:25 bots-help/botgr.txt:23 bots-help/botgs.txt:23
+#, no-wrap
+msgid ""
+"A grabber won't function underwater. What you'll need instead is a subber."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:28 bots-help/botgj.txt:30 bots-help/botgr.txt:28 bots-help/botgs.txt:28
+#, no-wrap
+msgid ""
+"To program the operating arm, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgc.txt:31
+#, no-wrap
+msgid "TrackedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgj.txt:1
+#, no-wrap
+msgid " Winged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgj.txt:2
+#, no-wrap
+msgid "botgj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:23
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled grabber instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgj.txt:33
+#, no-wrap
+msgid "WingedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgr.txt:1
+#, no-wrap
+msgid " Wheeled Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgr.txt:2
+#, no-wrap
+msgid "botgr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an operating arm."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: bots-help/botgr.txt:13 bots-help/botgs.txt:13
+#, no-wrap
+msgid "Converted titanium."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgr.txt:31
+#, no-wrap
+msgid "WheeledGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botgs.txt:1
+#, no-wrap
+msgid " Legged Grabber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botgs.txt:2
+#, no-wrap
+msgid "botgs"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an operating arm."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:21
+#, no-wrap
+msgid ""
+"A moving legged grabber uses up half as much energy as a wheeled grabber. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botgs.txt:31
+#, no-wrap
+msgid "LeggedGrabber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoc.txt:1
+#, no-wrap
+msgid " Tracked Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoc.txt:2
+#, no-wrap
+msgid "botoc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:4
+#, no-wrap
+msgid "Tracked bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:8
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"orga shooter is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:13 bots-help/botoj.txt:15 bots-help/botor.txt:13 bots-help/botos.txt:13
+#, no-wrap
+msgid ""
+"To program the orgaball cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoc.txt:16
+#, no-wrap
+msgid "TrackedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botoj.txt:1
+#, no-wrap
+msgid " Winged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botoj.txt:2
+#, no-wrap
+msgid "botoj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:4
+#, no-wrap
+msgid "Jet propelled flying bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:10
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply is used up quickly. They're slow on the ground. To cover "
+"a short distance that will not call for flying, it is recommended to use a "
+"wheeled orga shooter instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botoj.txt:18
+#, no-wrap
+msgid "WingedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botor.txt:1
+#, no-wrap
+msgid " Wheeled Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botor.txt:2
+#, no-wrap
+msgid "botor"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:4
+#, no-wrap
+msgid "Wheeled bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:8
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to instead use a winged "
+"orga shooter, or, if this is impossible, a tracked orga "
+"shooter."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botor.txt:16
+#, no-wrap
+msgid "WheeledOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botos.txt:1
+#, no-wrap
+msgid " Legged Orga Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botos.txt:2
+#, no-wrap
+msgid "botos"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:4
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with an orgaball cannon."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:6
+#, no-wrap
+msgid ""
+"The orgaball cannon is more effective than the fireball "
+"cannon. It shoots small spheres of corrosive organic "
+"matter. A regular power cell will allow you to shoot "
+"11 orgaball bursts."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:8
+#, no-wrap
+msgid ""
+"A moving legged orga shooter uses up half as much energy as a wheeled orga shooter. A legged bot is also perfectly "
+"adapted to climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botos.txt:16
+#, no-wrap
+msgid "LeggedOrgaShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botphaz.txt:1
+#, no-wrap
+msgid " Phazer Shooter"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botphaz.txt:2
+#, no-wrap
+msgid "botphaz"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped with a very powerful phazer cannon, efficient against "
+"most kinds of enemies. When you aim upward, it can shoot up to 60 meters. It "
+"is the only weapon that can kill the Alien Queen."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:9
+#, no-wrap
+msgid ""
+"To program the phazer cannon, use fire
. To "
+"raise or lower the aim, use aim
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botphaz.txt:12
+#, no-wrap
+msgid "PhazerShooter
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botrecy.txt:1
+#, no-wrap
+msgid " Recycler"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botrecy.txt:2
+#, no-wrap
+msgid "botrecy"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to convert a derelict bot back into "
+"a reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:9
+#, no-wrap
+msgid ""
+"To program the recycling of a derelict bot, use recycle
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botrecy.txt:12
+#, no-wrap
+msgid "RecyclerBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsc.txt:1
+#, no-wrap
+msgid " Tracked Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsc.txt:2
+#, no-wrap
+msgid "botsc"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:5 bots-help/botsj.txt:5 bots-help/botsr.txt:5 bots-help/botss.txt:5
+#, no-wrap
+msgid ""
+"a red cross -> titanium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:6 bots-help/botsj.txt:6 bots-help/botsr.txt:6 bots-help/botss.txt:6
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: bots-help/botsc.txt:7 bots-help/botsj.txt:7 bots-help/botsr.txt:7 bots-help/botss.txt:7
+#, no-wrap
+msgid ""
+"a green cross -> energy deposit, useful for a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:10
+#, no-wrap
+msgid ""
+"Tracked bots can ascend steep inclinations but they are quite slow and use a "
+"lot of energy. On flat ground for short distances, a wheeled "
+"sniffer is a better option. When it is possible to build winged bots, these represent the best solution for long "
+"distances."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:15 bots-help/botsj.txt:17 bots-help/botsr.txt:15 bots-help/botss.txt:15
+#, no-wrap
+msgid "To program the sniffing arm, use sniff
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsc.txt:18
+#, no-wrap
+msgid "TrackedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botshld.txt:1
+#, no-wrap
+msgid " Shielder"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botshld.txt:2
+#, no-wrap
+msgid "botshld"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to protect and defend against all enemy attacks within a perimeter of 10 to 25 meters. The "
+"individual shields of bots and buildings are re-energized through the "
+"shielder's defensive actions. This bot is the only way to get through narrow "
+"passages adorned with poisonous green mushrooms."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:6
+#, no-wrap
+msgid ""
+"A regular power cell allows for a 20-second activity "
+"span with a radius of 25 meters, much too short in most cases. A nuclear power cell is of course more suited to this bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:8
+#, no-wrap
+msgid ""
+"The energy consumption is proportional to the radius of the protective "
+"sphere. With a radius of 10 meters, the bot can work 2.5 times longer than "
+"with the maximum radius of 25 meters."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:13
+#, no-wrap
+msgid ""
+"To program the deployment of the shield, use shield
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botshld.txt:16
+#, no-wrap
+msgid "Shielder
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsj.txt:1
+#, no-wrap
+msgid " Winged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsj.txt:2
+#, no-wrap
+msgid "botsj"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:4
+#, no-wrap
+msgid ""
+"Jet propelled flying bot equipped to prospect the geological structure of "
+"the subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:10
+#, no-wrap
+msgid ""
+"The display at the bottom of your screen indicates the temperature of the "
+"reactor. Keep an eye on it. If the reactor overheats, the engine stops and "
+"the bot crashes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:12
+#, no-wrap
+msgid ""
+"Winged bots can fly across natural obstacles such as mountains or lakes but "
+"their energy supply uses up quickly. They're slow on the ground. To cover a "
+"short distance that will not call for flying, it is recommended to use a wheeled sniffer instead."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsj.txt:20
+#, no-wrap
+msgid "WingedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsr.txt:1
+#, no-wrap
+msgid " Wheeled Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsr.txt:2
+#, no-wrap
+msgid "botsr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:10
+#, no-wrap
+msgid ""
+"Wheels constitute a standard, fast and energy-saving mode of propulsion, "
+"which is perfectly adapted for a relatively flat terrain. Whenever the "
+"terrain gets sloped, it is advised to use a winged "
+"sniffer instead, or, if this is impossible, a tracked "
+"sniffer."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsr.txt:18
+#, no-wrap
+msgid "WheeledSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botss.txt:1
+#, no-wrap
+msgid " Legged Sniffer"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botss.txt:2
+#, no-wrap
+msgid "botss"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:4
+#, no-wrap
+msgid ""
+"Ant-legged creeping bot equipped to prospect the geological structure of the "
+"subsoil. Whenever it locates something of use, the sniffer lays down the "
+"following marks:"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:10
+#, no-wrap
+msgid ""
+"A moving legged shooter uses up half as much energy as a wheeled sniffer. A legged bot is also perfectly adapted to "
+"climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botss.txt:18
+#, no-wrap
+msgid "LeggedSniffer
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/botsub.txt:1
+#, no-wrap
+msgid " Subber"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/botsub.txt:2
+#, no-wrap
+msgid "botsub"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:4
+#, no-wrap
+msgid ""
+"Amphibious tracked bot equipped with an operating claw. The subber is the "
+"only bot capable of moving and running operations underwater."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:6
+#, no-wrap
+msgid ""
+"It is best to check the power cell readings prior to "
+"immersion since replacing or recharging it underwater is impossible. The "
+"subber can only pick up objects from the ground, as opposed to, for example, "
+"a battery from the back of another bot."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:11
+#, no-wrap
+msgid ""
+"To program the operating claw, use grab
and "
+"drop
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/botsub.txt:14
+#, no-wrap
+msgid "Subber
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottarg.txt:1
+#, no-wrap
+msgid " Target Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottarg.txt:2
+#, no-wrap
+msgid "bottarg"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for target practice. It is autonomous and its "
+"trajectory is dependant upon the nature of the exercise."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:6
+#, no-wrap
+msgid ""
+"Note that target bots, loaded as they are with TNT, are "
+"extremely sensitive to shocks."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottarg.txt:9
+#, no-wrap
+msgid "TargetBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottr.txt:1
+#, no-wrap
+msgid " Practice Bot"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottr.txt:2
+#, no-wrap
+msgid "bottr"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:4
+#, no-wrap
+msgid ""
+"Wheeled bot intended solely for training and practice. Its only purpose is "
+"to help you get accustomed to the programming of the bots' various ground "
+"movements."
+msgstr ""
+
+#. type: \t; header
+#: bots-help/bottr.txt:5 bots-help/bottump.txt:9
+#, no-wrap
+msgid "Instructions"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:7
+#, no-wrap
+msgid ""
+"To program the bot's movements, use the following commands: move
, turn
, motor
, goto
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottr.txt:10
+#, no-wrap
+msgid "PracticeBot
"
+msgstr ""
+
+#. type: \b; header
+#: bots-help/bottump.txt:1
+#, no-wrap
+msgid " Thumper"
+msgstr ""
+
+#. type: Image filename
+#: bots-help/bottump.txt:2
+#, no-wrap
+msgid "bottump"
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:4
+#, no-wrap
+msgid ""
+"Tracked bot designed to hit the ground with enormous force. The purpose of "
+"the thumping is to turn ants and spiders belly up within a radius of 100 meters. An insect "
+"on its back is not dead but will struggle to get right side up again. After "
+"approximately 60 seconds of effort, it will usually succeed."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:6
+#, no-wrap
+msgid ""
+"To visualize the zone of impact, hit the thump
."
+msgstr ""
+
+#. type: Plain text
+#: bots-help/bottump.txt:16
+#, no-wrap
+msgid "Thumper
"
+msgstr ""
diff --git a/help/D/cbot/abstime.txt b/help/cbot/D/abstime.txt
similarity index 100%
rename from help/D/cbot/abstime.txt
rename to help/cbot/D/abstime.txt
diff --git a/help/D/cbot/aim.txt b/help/cbot/D/aim.txt
similarity index 100%
rename from help/D/cbot/aim.txt
rename to help/cbot/D/aim.txt
diff --git a/help/D/cbot/array.txt b/help/cbot/D/array.txt
similarity index 100%
rename from help/D/cbot/array.txt
rename to help/cbot/D/array.txt
diff --git a/help/D/cbot/bloc.txt b/help/cbot/D/bloc.txt
similarity index 100%
rename from help/D/cbot/bloc.txt
rename to help/cbot/D/bloc.txt
diff --git a/help/D/cbot/bool.txt b/help/cbot/D/bool.txt
similarity index 100%
rename from help/D/cbot/bool.txt
rename to help/cbot/D/bool.txt
diff --git a/help/D/cbot/break.txt b/help/cbot/D/break.txt
similarity index 100%
rename from help/D/cbot/break.txt
rename to help/cbot/D/break.txt
diff --git a/help/D/cbot/category.txt b/help/cbot/D/category.txt
similarity index 100%
rename from help/D/cbot/category.txt
rename to help/cbot/D/category.txt
diff --git a/help/D/cbot/class.txt b/help/cbot/D/class.txt
similarity index 100%
rename from help/D/cbot/class.txt
rename to help/cbot/D/class.txt
diff --git a/help/D/cbot/close.txt b/help/cbot/D/close.txt
similarity index 100%
rename from help/D/cbot/close.txt
rename to help/cbot/D/close.txt
diff --git a/help/D/cbot/cond.txt b/help/cbot/D/cond.txt
similarity index 100%
rename from help/D/cbot/cond.txt
rename to help/cbot/D/cond.txt
diff --git a/help/D/cbot/continue.txt b/help/cbot/D/continue.txt
similarity index 100%
rename from help/D/cbot/continue.txt
rename to help/cbot/D/continue.txt
diff --git a/help/D/cbot/deletef.txt b/help/cbot/D/deletef.txt
similarity index 100%
rename from help/D/cbot/deletef.txt
rename to help/cbot/D/deletef.txt
diff --git a/help/D/cbot/delinfo.txt b/help/cbot/D/delinfo.txt
similarity index 100%
rename from help/D/cbot/delinfo.txt
rename to help/cbot/D/delinfo.txt
diff --git a/help/D/cbot/direct.txt b/help/cbot/D/direct.txt
similarity index 100%
rename from help/D/cbot/direct.txt
rename to help/cbot/D/direct.txt
diff --git a/help/D/cbot/dist.txt b/help/cbot/D/dist.txt
similarity index 100%
rename from help/D/cbot/dist.txt
rename to help/cbot/D/dist.txt
diff --git a/help/D/cbot/dist2d.txt b/help/cbot/D/dist2d.txt
similarity index 100%
rename from help/D/cbot/dist2d.txt
rename to help/cbot/D/dist2d.txt
diff --git a/help/D/cbot/do.txt b/help/cbot/D/do.txt
similarity index 100%
rename from help/D/cbot/do.txt
rename to help/cbot/D/do.txt
diff --git a/help/D/cbot/drop.txt b/help/cbot/D/drop.txt
similarity index 100%
rename from help/D/cbot/drop.txt
rename to help/cbot/D/drop.txt
diff --git a/help/D/cbot/eof.txt b/help/cbot/D/eof.txt
similarity index 100%
rename from help/D/cbot/eof.txt
rename to help/cbot/D/eof.txt
diff --git a/help/D/cbot/errmode.txt b/help/cbot/D/errmode.txt
similarity index 100%
rename from help/D/cbot/errmode.txt
rename to help/cbot/D/errmode.txt
diff --git a/help/D/cbot/expr.txt b/help/cbot/D/expr.txt
similarity index 100%
rename from help/D/cbot/expr.txt
rename to help/cbot/D/expr.txt
diff --git a/help/D/cbot/extern.txt b/help/cbot/D/extern.txt
similarity index 100%
rename from help/D/cbot/extern.txt
rename to help/cbot/D/extern.txt
diff --git a/help/D/cbot/false.txt b/help/cbot/D/false.txt
similarity index 100%
rename from help/D/cbot/false.txt
rename to help/cbot/D/false.txt
diff --git a/help/D/cbot/file.txt b/help/cbot/D/file.txt
similarity index 100%
rename from help/D/cbot/file.txt
rename to help/cbot/D/file.txt
diff --git a/help/D/cbot/fire.txt b/help/cbot/D/fire.txt
similarity index 100%
rename from help/D/cbot/fire.txt
rename to help/cbot/D/fire.txt
diff --git a/help/D/cbot/flatgrnd.txt b/help/cbot/D/flatgrnd.txt
similarity index 100%
rename from help/D/cbot/flatgrnd.txt
rename to help/cbot/D/flatgrnd.txt
diff --git a/help/D/cbot/float.txt b/help/cbot/D/float.txt
similarity index 100%
rename from help/D/cbot/float.txt
rename to help/cbot/D/float.txt
diff --git a/help/D/cbot/for.txt b/help/cbot/D/for.txt
similarity index 100%
rename from help/D/cbot/for.txt
rename to help/cbot/D/for.txt
diff --git a/help/D/cbot/function.txt b/help/cbot/D/function.txt
similarity index 100%
rename from help/D/cbot/function.txt
rename to help/cbot/D/function.txt
diff --git a/help/D/cbot/goto.txt b/help/cbot/D/goto.txt
similarity index 100%
rename from help/D/cbot/goto.txt
rename to help/cbot/D/goto.txt
diff --git a/help/D/cbot/grab.txt b/help/cbot/D/grab.txt
similarity index 100%
rename from help/D/cbot/grab.txt
rename to help/cbot/D/grab.txt
diff --git a/help/D/cbot/if.txt b/help/cbot/D/if.txt
similarity index 100%
rename from help/D/cbot/if.txt
rename to help/cbot/D/if.txt
diff --git a/help/D/cbot/int.txt b/help/cbot/D/int.txt
similarity index 100%
rename from help/D/cbot/int.txt
rename to help/cbot/D/int.txt
diff --git a/help/D/cbot/jet.txt b/help/cbot/D/jet.txt
similarity index 100%
rename from help/D/cbot/jet.txt
rename to help/cbot/D/jet.txt
diff --git a/help/D/cbot/message.txt b/help/cbot/D/message.txt
similarity index 100%
rename from help/D/cbot/message.txt
rename to help/cbot/D/message.txt
diff --git a/help/D/cbot/motor.txt b/help/cbot/D/motor.txt
similarity index 100%
rename from help/D/cbot/motor.txt
rename to help/cbot/D/motor.txt
diff --git a/help/D/cbot/move.txt b/help/cbot/D/move.txt
similarity index 100%
rename from help/D/cbot/move.txt
rename to help/cbot/D/move.txt
diff --git a/help/D/cbot/nan.txt b/help/cbot/D/nan.txt
similarity index 100%
rename from help/D/cbot/nan.txt
rename to help/cbot/D/nan.txt
diff --git a/help/D/cbot/new.txt b/help/cbot/D/new.txt
similarity index 100%
rename from help/D/cbot/new.txt
rename to help/cbot/D/new.txt
diff --git a/help/D/cbot/null.txt b/help/cbot/D/null.txt
similarity index 100%
rename from help/D/cbot/null.txt
rename to help/cbot/D/null.txt
diff --git a/help/D/cbot/object.txt b/help/cbot/D/object.txt
similarity index 100%
rename from help/D/cbot/object.txt
rename to help/cbot/D/object.txt
diff --git a/help/D/cbot/open.txt b/help/cbot/D/open.txt
similarity index 100%
rename from help/D/cbot/open.txt
rename to help/cbot/D/open.txt
diff --git a/help/D/cbot/openfile.txt b/help/cbot/D/openfile.txt
similarity index 100%
rename from help/D/cbot/openfile.txt
rename to help/cbot/D/openfile.txt
diff --git a/help/D/cbot/point.txt b/help/cbot/D/point.txt
similarity index 100%
rename from help/D/cbot/point.txt
rename to help/cbot/D/point.txt
diff --git a/help/D/cbot/pointer.txt b/help/cbot/D/pointer.txt
similarity index 100%
rename from help/D/cbot/pointer.txt
rename to help/cbot/D/pointer.txt
diff --git a/help/D/cbot/private.txt b/help/cbot/D/private.txt
similarity index 100%
rename from help/D/cbot/private.txt
rename to help/cbot/D/private.txt
diff --git a/help/D/cbot/public.txt b/help/cbot/D/public.txt
similarity index 100%
rename from help/D/cbot/public.txt
rename to help/cbot/D/public.txt
diff --git a/help/D/cbot/radar.txt b/help/cbot/D/radar.txt
similarity index 100%
rename from help/D/cbot/radar.txt
rename to help/cbot/D/radar.txt
diff --git a/help/D/cbot/readln.txt b/help/cbot/D/readln.txt
similarity index 100%
rename from help/D/cbot/readln.txt
rename to help/cbot/D/readln.txt
diff --git a/help/D/cbot/receive.txt b/help/cbot/D/receive.txt
similarity index 100%
rename from help/D/cbot/receive.txt
rename to help/cbot/D/receive.txt
diff --git a/help/D/cbot/recycle.txt b/help/cbot/D/recycle.txt
similarity index 100%
rename from help/D/cbot/recycle.txt
rename to help/cbot/D/recycle.txt
diff --git a/help/D/cbot/retobj.txt b/help/cbot/D/retobj.txt
similarity index 100%
rename from help/D/cbot/retobj.txt
rename to help/cbot/D/retobj.txt
diff --git a/help/D/cbot/return.txt b/help/cbot/D/return.txt
similarity index 100%
rename from help/D/cbot/return.txt
rename to help/cbot/D/return.txt
diff --git a/help/D/cbot/search.txt b/help/cbot/D/search.txt
similarity index 100%
rename from help/D/cbot/search.txt
rename to help/cbot/D/search.txt
diff --git a/help/D/cbot/send.txt b/help/cbot/D/send.txt
similarity index 100%
rename from help/D/cbot/send.txt
rename to help/cbot/D/send.txt
diff --git a/help/D/cbot/shield.txt b/help/cbot/D/shield.txt
similarity index 100%
rename from help/D/cbot/shield.txt
rename to help/cbot/D/shield.txt
diff --git a/help/D/cbot/sizeof.txt b/help/cbot/D/sizeof.txt
similarity index 100%
rename from help/D/cbot/sizeof.txt
rename to help/cbot/D/sizeof.txt
diff --git a/help/D/cbot/sniff.txt b/help/cbot/D/sniff.txt
similarity index 100%
rename from help/D/cbot/sniff.txt
rename to help/cbot/D/sniff.txt
diff --git a/help/D/cbot/space.txt b/help/cbot/D/space.txt
similarity index 100%
rename from help/D/cbot/space.txt
rename to help/cbot/D/space.txt
diff --git a/help/D/cbot/static.txt b/help/cbot/D/static.txt
similarity index 100%
rename from help/D/cbot/static.txt
rename to help/cbot/D/static.txt
diff --git a/help/D/cbot/strfind.txt b/help/cbot/D/strfind.txt
similarity index 100%
rename from help/D/cbot/strfind.txt
rename to help/cbot/D/strfind.txt
diff --git a/help/D/cbot/string.txt b/help/cbot/D/string.txt
similarity index 100%
rename from help/D/cbot/string.txt
rename to help/cbot/D/string.txt
diff --git a/help/D/cbot/strleft.txt b/help/cbot/D/strleft.txt
similarity index 100%
rename from help/D/cbot/strleft.txt
rename to help/cbot/D/strleft.txt
diff --git a/help/D/cbot/strlen.txt b/help/cbot/D/strlen.txt
similarity index 100%
rename from help/D/cbot/strlen.txt
rename to help/cbot/D/strlen.txt
diff --git a/help/D/cbot/strlower.txt b/help/cbot/D/strlower.txt
similarity index 100%
rename from help/D/cbot/strlower.txt
rename to help/cbot/D/strlower.txt
diff --git a/help/D/cbot/strmid.txt b/help/cbot/D/strmid.txt
similarity index 100%
rename from help/D/cbot/strmid.txt
rename to help/cbot/D/strmid.txt
diff --git a/help/D/cbot/strright.txt b/help/cbot/D/strright.txt
similarity index 100%
rename from help/D/cbot/strright.txt
rename to help/cbot/D/strright.txt
diff --git a/help/D/cbot/strupper.txt b/help/cbot/D/strupper.txt
similarity index 100%
rename from help/D/cbot/strupper.txt
rename to help/cbot/D/strupper.txt
diff --git a/help/D/cbot/strval.txt b/help/cbot/D/strval.txt
similarity index 100%
rename from help/D/cbot/strval.txt
rename to help/cbot/D/strval.txt
diff --git a/help/D/cbot/synchro.txt b/help/cbot/D/synchro.txt
similarity index 100%
rename from help/D/cbot/synchro.txt
rename to help/cbot/D/synchro.txt
diff --git a/help/D/cbot/term.txt b/help/cbot/D/term.txt
similarity index 100%
rename from help/D/cbot/term.txt
rename to help/cbot/D/term.txt
diff --git a/help/D/cbot/testinfo.txt b/help/cbot/D/testinfo.txt
similarity index 100%
rename from help/D/cbot/testinfo.txt
rename to help/cbot/D/testinfo.txt
diff --git a/help/D/cbot/this.txt b/help/cbot/D/this.txt
similarity index 100%
rename from help/D/cbot/this.txt
rename to help/cbot/D/this.txt
diff --git a/help/D/cbot/thump.txt b/help/cbot/D/thump.txt
similarity index 100%
rename from help/D/cbot/thump.txt
rename to help/cbot/D/thump.txt
diff --git a/help/D/cbot/topo.txt b/help/cbot/D/topo.txt
similarity index 100%
rename from help/D/cbot/topo.txt
rename to help/cbot/D/topo.txt
diff --git a/help/D/cbot/true.txt b/help/cbot/D/true.txt
similarity index 100%
rename from help/D/cbot/true.txt
rename to help/cbot/D/true.txt
diff --git a/help/D/cbot/turn.txt b/help/cbot/D/turn.txt
similarity index 100%
rename from help/D/cbot/turn.txt
rename to help/cbot/D/turn.txt
diff --git a/help/D/cbot/type.txt b/help/cbot/D/type.txt
similarity index 100%
rename from help/D/cbot/type.txt
rename to help/cbot/D/type.txt
diff --git a/help/D/cbot/var.txt b/help/cbot/D/var.txt
similarity index 100%
rename from help/D/cbot/var.txt
rename to help/cbot/D/var.txt
diff --git a/help/D/cbot/void.txt b/help/cbot/D/void.txt
similarity index 100%
rename from help/D/cbot/void.txt
rename to help/cbot/D/void.txt
diff --git a/help/D/cbot/wait.txt b/help/cbot/D/wait.txt
similarity index 100%
rename from help/D/cbot/wait.txt
rename to help/cbot/D/wait.txt
diff --git a/help/D/cbot/while.txt b/help/cbot/D/while.txt
similarity index 100%
rename from help/D/cbot/while.txt
rename to help/cbot/D/while.txt
diff --git a/help/D/cbot/writeln.txt b/help/cbot/D/writeln.txt
similarity index 100%
rename from help/D/cbot/writeln.txt
rename to help/cbot/D/writeln.txt
diff --git a/help/E/cbot/abstime.txt b/help/cbot/E/abstime.txt
similarity index 100%
rename from help/E/cbot/abstime.txt
rename to help/cbot/E/abstime.txt
diff --git a/help/E/cbot/aim.txt b/help/cbot/E/aim.txt
similarity index 100%
rename from help/E/cbot/aim.txt
rename to help/cbot/E/aim.txt
diff --git a/help/E/cbot/array.txt b/help/cbot/E/array.txt
similarity index 100%
rename from help/E/cbot/array.txt
rename to help/cbot/E/array.txt
diff --git a/help/E/cbot/bloc.txt b/help/cbot/E/bloc.txt
similarity index 100%
rename from help/E/cbot/bloc.txt
rename to help/cbot/E/bloc.txt
diff --git a/help/E/cbot/bool.txt b/help/cbot/E/bool.txt
similarity index 100%
rename from help/E/cbot/bool.txt
rename to help/cbot/E/bool.txt
diff --git a/help/E/cbot/break.txt b/help/cbot/E/break.txt
similarity index 100%
rename from help/E/cbot/break.txt
rename to help/cbot/E/break.txt
diff --git a/help/E/cbot/category.txt b/help/cbot/E/category.txt
similarity index 100%
rename from help/E/cbot/category.txt
rename to help/cbot/E/category.txt
diff --git a/help/E/cbot/class.txt b/help/cbot/E/class.txt
similarity index 100%
rename from help/E/cbot/class.txt
rename to help/cbot/E/class.txt
diff --git a/help/E/cbot/close.txt b/help/cbot/E/close.txt
similarity index 100%
rename from help/E/cbot/close.txt
rename to help/cbot/E/close.txt
diff --git a/help/E/cbot/cond.txt b/help/cbot/E/cond.txt
similarity index 100%
rename from help/E/cbot/cond.txt
rename to help/cbot/E/cond.txt
diff --git a/help/E/cbot/continue.txt b/help/cbot/E/continue.txt
similarity index 100%
rename from help/E/cbot/continue.txt
rename to help/cbot/E/continue.txt
diff --git a/help/E/cbot/deletef.txt b/help/cbot/E/deletef.txt
similarity index 100%
rename from help/E/cbot/deletef.txt
rename to help/cbot/E/deletef.txt
diff --git a/help/E/cbot/delinfo.txt b/help/cbot/E/delinfo.txt
similarity index 100%
rename from help/E/cbot/delinfo.txt
rename to help/cbot/E/delinfo.txt
diff --git a/help/E/cbot/direct.txt b/help/cbot/E/direct.txt
similarity index 100%
rename from help/E/cbot/direct.txt
rename to help/cbot/E/direct.txt
diff --git a/help/E/cbot/dist.txt b/help/cbot/E/dist.txt
similarity index 100%
rename from help/E/cbot/dist.txt
rename to help/cbot/E/dist.txt
diff --git a/help/E/cbot/dist2d.txt b/help/cbot/E/dist2d.txt
similarity index 100%
rename from help/E/cbot/dist2d.txt
rename to help/cbot/E/dist2d.txt
diff --git a/help/E/cbot/do.txt b/help/cbot/E/do.txt
similarity index 100%
rename from help/E/cbot/do.txt
rename to help/cbot/E/do.txt
diff --git a/help/E/cbot/drop.txt b/help/cbot/E/drop.txt
similarity index 100%
rename from help/E/cbot/drop.txt
rename to help/cbot/E/drop.txt
diff --git a/help/E/cbot/eof.txt b/help/cbot/E/eof.txt
similarity index 100%
rename from help/E/cbot/eof.txt
rename to help/cbot/E/eof.txt
diff --git a/help/E/cbot/errmode.txt b/help/cbot/E/errmode.txt
similarity index 100%
rename from help/E/cbot/errmode.txt
rename to help/cbot/E/errmode.txt
diff --git a/help/E/cbot/expr.txt b/help/cbot/E/expr.txt
similarity index 100%
rename from help/E/cbot/expr.txt
rename to help/cbot/E/expr.txt
diff --git a/help/E/cbot/extern.txt b/help/cbot/E/extern.txt
similarity index 100%
rename from help/E/cbot/extern.txt
rename to help/cbot/E/extern.txt
diff --git a/help/E/cbot/false.txt b/help/cbot/E/false.txt
similarity index 100%
rename from help/E/cbot/false.txt
rename to help/cbot/E/false.txt
diff --git a/help/E/cbot/file.txt b/help/cbot/E/file.txt
similarity index 100%
rename from help/E/cbot/file.txt
rename to help/cbot/E/file.txt
diff --git a/help/E/cbot/fire.txt b/help/cbot/E/fire.txt
similarity index 100%
rename from help/E/cbot/fire.txt
rename to help/cbot/E/fire.txt
diff --git a/help/E/cbot/flatgrnd.txt b/help/cbot/E/flatgrnd.txt
similarity index 100%
rename from help/E/cbot/flatgrnd.txt
rename to help/cbot/E/flatgrnd.txt
diff --git a/help/E/cbot/float.txt b/help/cbot/E/float.txt
similarity index 100%
rename from help/E/cbot/float.txt
rename to help/cbot/E/float.txt
diff --git a/help/E/cbot/for.txt b/help/cbot/E/for.txt
similarity index 100%
rename from help/E/cbot/for.txt
rename to help/cbot/E/for.txt
diff --git a/help/E/cbot/function.txt b/help/cbot/E/function.txt
similarity index 100%
rename from help/E/cbot/function.txt
rename to help/cbot/E/function.txt
diff --git a/help/E/cbot/goto.txt b/help/cbot/E/goto.txt
similarity index 100%
rename from help/E/cbot/goto.txt
rename to help/cbot/E/goto.txt
diff --git a/help/E/cbot/grab.txt b/help/cbot/E/grab.txt
similarity index 100%
rename from help/E/cbot/grab.txt
rename to help/cbot/E/grab.txt
diff --git a/help/E/cbot/if.txt b/help/cbot/E/if.txt
similarity index 100%
rename from help/E/cbot/if.txt
rename to help/cbot/E/if.txt
diff --git a/help/E/cbot/int.txt b/help/cbot/E/int.txt
similarity index 100%
rename from help/E/cbot/int.txt
rename to help/cbot/E/int.txt
diff --git a/help/E/cbot/jet.txt b/help/cbot/E/jet.txt
similarity index 100%
rename from help/E/cbot/jet.txt
rename to help/cbot/E/jet.txt
diff --git a/help/E/cbot/message.txt b/help/cbot/E/message.txt
similarity index 100%
rename from help/E/cbot/message.txt
rename to help/cbot/E/message.txt
diff --git a/help/E/cbot/motor.txt b/help/cbot/E/motor.txt
similarity index 100%
rename from help/E/cbot/motor.txt
rename to help/cbot/E/motor.txt
diff --git a/help/E/cbot/move.txt b/help/cbot/E/move.txt
similarity index 100%
rename from help/E/cbot/move.txt
rename to help/cbot/E/move.txt
diff --git a/help/E/cbot/nan.txt b/help/cbot/E/nan.txt
similarity index 100%
rename from help/E/cbot/nan.txt
rename to help/cbot/E/nan.txt
diff --git a/help/E/cbot/new.txt b/help/cbot/E/new.txt
similarity index 100%
rename from help/E/cbot/new.txt
rename to help/cbot/E/new.txt
diff --git a/help/E/cbot/null.txt b/help/cbot/E/null.txt
similarity index 100%
rename from help/E/cbot/null.txt
rename to help/cbot/E/null.txt
diff --git a/help/E/cbot/object.txt b/help/cbot/E/object.txt
similarity index 100%
rename from help/E/cbot/object.txt
rename to help/cbot/E/object.txt
diff --git a/help/E/cbot/open.txt b/help/cbot/E/open.txt
similarity index 100%
rename from help/E/cbot/open.txt
rename to help/cbot/E/open.txt
diff --git a/help/E/cbot/openfile.txt b/help/cbot/E/openfile.txt
similarity index 100%
rename from help/E/cbot/openfile.txt
rename to help/cbot/E/openfile.txt
diff --git a/help/E/cbot/point.txt b/help/cbot/E/point.txt
similarity index 100%
rename from help/E/cbot/point.txt
rename to help/cbot/E/point.txt
diff --git a/help/E/cbot/pointer.txt b/help/cbot/E/pointer.txt
similarity index 100%
rename from help/E/cbot/pointer.txt
rename to help/cbot/E/pointer.txt
diff --git a/help/E/cbot/private.txt b/help/cbot/E/private.txt
similarity index 100%
rename from help/E/cbot/private.txt
rename to help/cbot/E/private.txt
diff --git a/help/E/cbot/public.txt b/help/cbot/E/public.txt
similarity index 100%
rename from help/E/cbot/public.txt
rename to help/cbot/E/public.txt
diff --git a/help/E/cbot/radar.txt b/help/cbot/E/radar.txt
similarity index 100%
rename from help/E/cbot/radar.txt
rename to help/cbot/E/radar.txt
diff --git a/help/E/cbot/readln.txt b/help/cbot/E/readln.txt
similarity index 100%
rename from help/E/cbot/readln.txt
rename to help/cbot/E/readln.txt
diff --git a/help/E/cbot/receive.txt b/help/cbot/E/receive.txt
similarity index 100%
rename from help/E/cbot/receive.txt
rename to help/cbot/E/receive.txt
diff --git a/help/E/cbot/recycle.txt b/help/cbot/E/recycle.txt
similarity index 100%
rename from help/E/cbot/recycle.txt
rename to help/cbot/E/recycle.txt
diff --git a/help/E/cbot/retobj.txt b/help/cbot/E/retobj.txt
similarity index 100%
rename from help/E/cbot/retobj.txt
rename to help/cbot/E/retobj.txt
diff --git a/help/E/cbot/return.txt b/help/cbot/E/return.txt
similarity index 100%
rename from help/E/cbot/return.txt
rename to help/cbot/E/return.txt
diff --git a/help/E/cbot/search.txt b/help/cbot/E/search.txt
similarity index 100%
rename from help/E/cbot/search.txt
rename to help/cbot/E/search.txt
diff --git a/help/E/cbot/send.txt b/help/cbot/E/send.txt
similarity index 100%
rename from help/E/cbot/send.txt
rename to help/cbot/E/send.txt
diff --git a/help/E/cbot/shield.txt b/help/cbot/E/shield.txt
similarity index 100%
rename from help/E/cbot/shield.txt
rename to help/cbot/E/shield.txt
diff --git a/help/E/cbot/sizeof.txt b/help/cbot/E/sizeof.txt
similarity index 100%
rename from help/E/cbot/sizeof.txt
rename to help/cbot/E/sizeof.txt
diff --git a/help/E/cbot/sniff.txt b/help/cbot/E/sniff.txt
similarity index 100%
rename from help/E/cbot/sniff.txt
rename to help/cbot/E/sniff.txt
diff --git a/help/E/cbot/space.txt b/help/cbot/E/space.txt
similarity index 100%
rename from help/E/cbot/space.txt
rename to help/cbot/E/space.txt
diff --git a/help/E/cbot/static.txt b/help/cbot/E/static.txt
similarity index 100%
rename from help/E/cbot/static.txt
rename to help/cbot/E/static.txt
diff --git a/help/E/cbot/strfind.txt b/help/cbot/E/strfind.txt
similarity index 100%
rename from help/E/cbot/strfind.txt
rename to help/cbot/E/strfind.txt
diff --git a/help/E/cbot/string.txt b/help/cbot/E/string.txt
similarity index 100%
rename from help/E/cbot/string.txt
rename to help/cbot/E/string.txt
diff --git a/help/E/cbot/strleft.txt b/help/cbot/E/strleft.txt
similarity index 100%
rename from help/E/cbot/strleft.txt
rename to help/cbot/E/strleft.txt
diff --git a/help/E/cbot/strlen.txt b/help/cbot/E/strlen.txt
similarity index 100%
rename from help/E/cbot/strlen.txt
rename to help/cbot/E/strlen.txt
diff --git a/help/E/cbot/strlower.txt b/help/cbot/E/strlower.txt
similarity index 100%
rename from help/E/cbot/strlower.txt
rename to help/cbot/E/strlower.txt
diff --git a/help/E/cbot/strmid.txt b/help/cbot/E/strmid.txt
similarity index 100%
rename from help/E/cbot/strmid.txt
rename to help/cbot/E/strmid.txt
diff --git a/help/E/cbot/strright.txt b/help/cbot/E/strright.txt
similarity index 100%
rename from help/E/cbot/strright.txt
rename to help/cbot/E/strright.txt
diff --git a/help/E/cbot/strupper.txt b/help/cbot/E/strupper.txt
similarity index 100%
rename from help/E/cbot/strupper.txt
rename to help/cbot/E/strupper.txt
diff --git a/help/E/cbot/strval.txt b/help/cbot/E/strval.txt
similarity index 100%
rename from help/E/cbot/strval.txt
rename to help/cbot/E/strval.txt
diff --git a/help/E/cbot/synchro.txt b/help/cbot/E/synchro.txt
similarity index 100%
rename from help/E/cbot/synchro.txt
rename to help/cbot/E/synchro.txt
diff --git a/help/E/cbot/term.txt b/help/cbot/E/term.txt
similarity index 100%
rename from help/E/cbot/term.txt
rename to help/cbot/E/term.txt
diff --git a/help/E/cbot/testinfo.txt b/help/cbot/E/testinfo.txt
similarity index 100%
rename from help/E/cbot/testinfo.txt
rename to help/cbot/E/testinfo.txt
diff --git a/help/E/cbot/this.txt b/help/cbot/E/this.txt
similarity index 100%
rename from help/E/cbot/this.txt
rename to help/cbot/E/this.txt
diff --git a/help/E/cbot/thump.txt b/help/cbot/E/thump.txt
similarity index 100%
rename from help/E/cbot/thump.txt
rename to help/cbot/E/thump.txt
diff --git a/help/E/cbot/topo.txt b/help/cbot/E/topo.txt
similarity index 100%
rename from help/E/cbot/topo.txt
rename to help/cbot/E/topo.txt
diff --git a/help/E/cbot/true.txt b/help/cbot/E/true.txt
similarity index 100%
rename from help/E/cbot/true.txt
rename to help/cbot/E/true.txt
diff --git a/help/E/cbot/turn.txt b/help/cbot/E/turn.txt
similarity index 100%
rename from help/E/cbot/turn.txt
rename to help/cbot/E/turn.txt
diff --git a/help/E/cbot/type.txt b/help/cbot/E/type.txt
similarity index 100%
rename from help/E/cbot/type.txt
rename to help/cbot/E/type.txt
diff --git a/help/E/cbot/var.txt b/help/cbot/E/var.txt
similarity index 100%
rename from help/E/cbot/var.txt
rename to help/cbot/E/var.txt
diff --git a/help/E/cbot/void.txt b/help/cbot/E/void.txt
similarity index 100%
rename from help/E/cbot/void.txt
rename to help/cbot/E/void.txt
diff --git a/help/E/cbot/wait.txt b/help/cbot/E/wait.txt
similarity index 100%
rename from help/E/cbot/wait.txt
rename to help/cbot/E/wait.txt
diff --git a/help/E/cbot/while.txt b/help/cbot/E/while.txt
similarity index 100%
rename from help/E/cbot/while.txt
rename to help/cbot/E/while.txt
diff --git a/help/E/cbot/writeln.txt b/help/cbot/E/writeln.txt
similarity index 100%
rename from help/E/cbot/writeln.txt
rename to help/cbot/E/writeln.txt
diff --git a/help/F/cbot/abstime.txt b/help/cbot/F/abstime.txt
similarity index 100%
rename from help/F/cbot/abstime.txt
rename to help/cbot/F/abstime.txt
diff --git a/help/F/cbot/aim.txt b/help/cbot/F/aim.txt
similarity index 100%
rename from help/F/cbot/aim.txt
rename to help/cbot/F/aim.txt
diff --git a/help/F/cbot/array.txt b/help/cbot/F/array.txt
similarity index 100%
rename from help/F/cbot/array.txt
rename to help/cbot/F/array.txt
diff --git a/help/F/cbot/bloc.txt b/help/cbot/F/bloc.txt
similarity index 100%
rename from help/F/cbot/bloc.txt
rename to help/cbot/F/bloc.txt
diff --git a/help/F/cbot/bool.txt b/help/cbot/F/bool.txt
similarity index 100%
rename from help/F/cbot/bool.txt
rename to help/cbot/F/bool.txt
diff --git a/help/F/cbot/break.txt b/help/cbot/F/break.txt
similarity index 100%
rename from help/F/cbot/break.txt
rename to help/cbot/F/break.txt
diff --git a/help/F/cbot/category.txt b/help/cbot/F/category.txt
similarity index 100%
rename from help/F/cbot/category.txt
rename to help/cbot/F/category.txt
diff --git a/help/F/cbot/class.txt b/help/cbot/F/class.txt
similarity index 100%
rename from help/F/cbot/class.txt
rename to help/cbot/F/class.txt
diff --git a/help/F/cbot/close.txt b/help/cbot/F/close.txt
similarity index 100%
rename from help/F/cbot/close.txt
rename to help/cbot/F/close.txt
diff --git a/help/F/cbot/cond.txt b/help/cbot/F/cond.txt
similarity index 100%
rename from help/F/cbot/cond.txt
rename to help/cbot/F/cond.txt
diff --git a/help/F/cbot/continue.txt b/help/cbot/F/continue.txt
similarity index 100%
rename from help/F/cbot/continue.txt
rename to help/cbot/F/continue.txt
diff --git a/help/F/cbot/deletef.txt b/help/cbot/F/deletef.txt
similarity index 100%
rename from help/F/cbot/deletef.txt
rename to help/cbot/F/deletef.txt
diff --git a/help/F/cbot/delinfo.txt b/help/cbot/F/delinfo.txt
similarity index 100%
rename from help/F/cbot/delinfo.txt
rename to help/cbot/F/delinfo.txt
diff --git a/help/F/cbot/direct.txt b/help/cbot/F/direct.txt
similarity index 100%
rename from help/F/cbot/direct.txt
rename to help/cbot/F/direct.txt
diff --git a/help/F/cbot/dist.txt b/help/cbot/F/dist.txt
similarity index 100%
rename from help/F/cbot/dist.txt
rename to help/cbot/F/dist.txt
diff --git a/help/F/cbot/dist2d.txt b/help/cbot/F/dist2d.txt
similarity index 100%
rename from help/F/cbot/dist2d.txt
rename to help/cbot/F/dist2d.txt
diff --git a/help/F/cbot/do.txt b/help/cbot/F/do.txt
similarity index 100%
rename from help/F/cbot/do.txt
rename to help/cbot/F/do.txt
diff --git a/help/F/cbot/drop.txt b/help/cbot/F/drop.txt
similarity index 100%
rename from help/F/cbot/drop.txt
rename to help/cbot/F/drop.txt
diff --git a/help/F/cbot/eof.txt b/help/cbot/F/eof.txt
similarity index 100%
rename from help/F/cbot/eof.txt
rename to help/cbot/F/eof.txt
diff --git a/help/F/cbot/errmode.txt b/help/cbot/F/errmode.txt
similarity index 100%
rename from help/F/cbot/errmode.txt
rename to help/cbot/F/errmode.txt
diff --git a/help/F/cbot/expr.txt b/help/cbot/F/expr.txt
similarity index 100%
rename from help/F/cbot/expr.txt
rename to help/cbot/F/expr.txt
diff --git a/help/F/cbot/extern.txt b/help/cbot/F/extern.txt
similarity index 100%
rename from help/F/cbot/extern.txt
rename to help/cbot/F/extern.txt
diff --git a/help/F/cbot/false.txt b/help/cbot/F/false.txt
similarity index 100%
rename from help/F/cbot/false.txt
rename to help/cbot/F/false.txt
diff --git a/help/F/cbot/file.txt b/help/cbot/F/file.txt
similarity index 100%
rename from help/F/cbot/file.txt
rename to help/cbot/F/file.txt
diff --git a/help/F/cbot/fire.txt b/help/cbot/F/fire.txt
similarity index 100%
rename from help/F/cbot/fire.txt
rename to help/cbot/F/fire.txt
diff --git a/help/F/cbot/flatgrnd.txt b/help/cbot/F/flatgrnd.txt
similarity index 100%
rename from help/F/cbot/flatgrnd.txt
rename to help/cbot/F/flatgrnd.txt
diff --git a/help/F/cbot/float.txt b/help/cbot/F/float.txt
similarity index 100%
rename from help/F/cbot/float.txt
rename to help/cbot/F/float.txt
diff --git a/help/F/cbot/for.txt b/help/cbot/F/for.txt
similarity index 100%
rename from help/F/cbot/for.txt
rename to help/cbot/F/for.txt
diff --git a/help/F/cbot/function.txt b/help/cbot/F/function.txt
similarity index 100%
rename from help/F/cbot/function.txt
rename to help/cbot/F/function.txt
diff --git a/help/F/cbot/goto.txt b/help/cbot/F/goto.txt
similarity index 100%
rename from help/F/cbot/goto.txt
rename to help/cbot/F/goto.txt
diff --git a/help/F/cbot/grab.txt b/help/cbot/F/grab.txt
similarity index 100%
rename from help/F/cbot/grab.txt
rename to help/cbot/F/grab.txt
diff --git a/help/F/cbot/if.txt b/help/cbot/F/if.txt
similarity index 100%
rename from help/F/cbot/if.txt
rename to help/cbot/F/if.txt
diff --git a/help/F/cbot/int.txt b/help/cbot/F/int.txt
similarity index 100%
rename from help/F/cbot/int.txt
rename to help/cbot/F/int.txt
diff --git a/help/F/cbot/jet.txt b/help/cbot/F/jet.txt
similarity index 100%
rename from help/F/cbot/jet.txt
rename to help/cbot/F/jet.txt
diff --git a/help/F/cbot/message.txt b/help/cbot/F/message.txt
similarity index 100%
rename from help/F/cbot/message.txt
rename to help/cbot/F/message.txt
diff --git a/help/F/cbot/motor.txt b/help/cbot/F/motor.txt
similarity index 100%
rename from help/F/cbot/motor.txt
rename to help/cbot/F/motor.txt
diff --git a/help/F/cbot/move.txt b/help/cbot/F/move.txt
similarity index 100%
rename from help/F/cbot/move.txt
rename to help/cbot/F/move.txt
diff --git a/help/F/cbot/nan.txt b/help/cbot/F/nan.txt
similarity index 100%
rename from help/F/cbot/nan.txt
rename to help/cbot/F/nan.txt
diff --git a/help/F/cbot/new.txt b/help/cbot/F/new.txt
similarity index 100%
rename from help/F/cbot/new.txt
rename to help/cbot/F/new.txt
diff --git a/help/F/cbot/null.txt b/help/cbot/F/null.txt
similarity index 100%
rename from help/F/cbot/null.txt
rename to help/cbot/F/null.txt
diff --git a/help/F/cbot/object.txt b/help/cbot/F/object.txt
similarity index 100%
rename from help/F/cbot/object.txt
rename to help/cbot/F/object.txt
diff --git a/help/F/cbot/open.txt b/help/cbot/F/open.txt
similarity index 100%
rename from help/F/cbot/open.txt
rename to help/cbot/F/open.txt
diff --git a/help/F/cbot/openfile.txt b/help/cbot/F/openfile.txt
similarity index 100%
rename from help/F/cbot/openfile.txt
rename to help/cbot/F/openfile.txt
diff --git a/help/F/cbot/point.txt b/help/cbot/F/point.txt
similarity index 100%
rename from help/F/cbot/point.txt
rename to help/cbot/F/point.txt
diff --git a/help/F/cbot/pointer.txt b/help/cbot/F/pointer.txt
similarity index 100%
rename from help/F/cbot/pointer.txt
rename to help/cbot/F/pointer.txt
diff --git a/help/F/cbot/private.txt b/help/cbot/F/private.txt
similarity index 100%
rename from help/F/cbot/private.txt
rename to help/cbot/F/private.txt
diff --git a/help/F/cbot/public.txt b/help/cbot/F/public.txt
similarity index 100%
rename from help/F/cbot/public.txt
rename to help/cbot/F/public.txt
diff --git a/help/F/cbot/radar.txt b/help/cbot/F/radar.txt
similarity index 100%
rename from help/F/cbot/radar.txt
rename to help/cbot/F/radar.txt
diff --git a/help/F/cbot/readln.txt b/help/cbot/F/readln.txt
similarity index 100%
rename from help/F/cbot/readln.txt
rename to help/cbot/F/readln.txt
diff --git a/help/F/cbot/receive.txt b/help/cbot/F/receive.txt
similarity index 100%
rename from help/F/cbot/receive.txt
rename to help/cbot/F/receive.txt
diff --git a/help/F/cbot/recycle.txt b/help/cbot/F/recycle.txt
similarity index 100%
rename from help/F/cbot/recycle.txt
rename to help/cbot/F/recycle.txt
diff --git a/help/F/cbot/retobj.txt b/help/cbot/F/retobj.txt
similarity index 100%
rename from help/F/cbot/retobj.txt
rename to help/cbot/F/retobj.txt
diff --git a/help/F/cbot/return.txt b/help/cbot/F/return.txt
similarity index 100%
rename from help/F/cbot/return.txt
rename to help/cbot/F/return.txt
diff --git a/help/F/cbot/search.txt b/help/cbot/F/search.txt
similarity index 100%
rename from help/F/cbot/search.txt
rename to help/cbot/F/search.txt
diff --git a/help/F/cbot/send.txt b/help/cbot/F/send.txt
similarity index 100%
rename from help/F/cbot/send.txt
rename to help/cbot/F/send.txt
diff --git a/help/F/cbot/shield.txt b/help/cbot/F/shield.txt
similarity index 100%
rename from help/F/cbot/shield.txt
rename to help/cbot/F/shield.txt
diff --git a/help/F/cbot/sizeof.txt b/help/cbot/F/sizeof.txt
similarity index 100%
rename from help/F/cbot/sizeof.txt
rename to help/cbot/F/sizeof.txt
diff --git a/help/F/cbot/sniff.txt b/help/cbot/F/sniff.txt
similarity index 100%
rename from help/F/cbot/sniff.txt
rename to help/cbot/F/sniff.txt
diff --git a/help/F/cbot/space.txt b/help/cbot/F/space.txt
similarity index 100%
rename from help/F/cbot/space.txt
rename to help/cbot/F/space.txt
diff --git a/help/F/cbot/static.txt b/help/cbot/F/static.txt
similarity index 100%
rename from help/F/cbot/static.txt
rename to help/cbot/F/static.txt
diff --git a/help/F/cbot/strfind.txt b/help/cbot/F/strfind.txt
similarity index 100%
rename from help/F/cbot/strfind.txt
rename to help/cbot/F/strfind.txt
diff --git a/help/F/cbot/string.txt b/help/cbot/F/string.txt
similarity index 100%
rename from help/F/cbot/string.txt
rename to help/cbot/F/string.txt
diff --git a/help/F/cbot/strleft.txt b/help/cbot/F/strleft.txt
similarity index 100%
rename from help/F/cbot/strleft.txt
rename to help/cbot/F/strleft.txt
diff --git a/help/F/cbot/strlen.txt b/help/cbot/F/strlen.txt
similarity index 100%
rename from help/F/cbot/strlen.txt
rename to help/cbot/F/strlen.txt
diff --git a/help/F/cbot/strlower.txt b/help/cbot/F/strlower.txt
similarity index 100%
rename from help/F/cbot/strlower.txt
rename to help/cbot/F/strlower.txt
diff --git a/help/F/cbot/strmid.txt b/help/cbot/F/strmid.txt
similarity index 100%
rename from help/F/cbot/strmid.txt
rename to help/cbot/F/strmid.txt
diff --git a/help/F/cbot/strright.txt b/help/cbot/F/strright.txt
similarity index 100%
rename from help/F/cbot/strright.txt
rename to help/cbot/F/strright.txt
diff --git a/help/F/cbot/strupper.txt b/help/cbot/F/strupper.txt
similarity index 100%
rename from help/F/cbot/strupper.txt
rename to help/cbot/F/strupper.txt
diff --git a/help/F/cbot/strval.txt b/help/cbot/F/strval.txt
similarity index 100%
rename from help/F/cbot/strval.txt
rename to help/cbot/F/strval.txt
diff --git a/help/F/cbot/synchro.txt b/help/cbot/F/synchro.txt
similarity index 100%
rename from help/F/cbot/synchro.txt
rename to help/cbot/F/synchro.txt
diff --git a/help/F/cbot/term.txt b/help/cbot/F/term.txt
similarity index 100%
rename from help/F/cbot/term.txt
rename to help/cbot/F/term.txt
diff --git a/help/F/cbot/testinfo.txt b/help/cbot/F/testinfo.txt
similarity index 100%
rename from help/F/cbot/testinfo.txt
rename to help/cbot/F/testinfo.txt
diff --git a/help/F/cbot/this.txt b/help/cbot/F/this.txt
similarity index 100%
rename from help/F/cbot/this.txt
rename to help/cbot/F/this.txt
diff --git a/help/F/cbot/thump.txt b/help/cbot/F/thump.txt
similarity index 100%
rename from help/F/cbot/thump.txt
rename to help/cbot/F/thump.txt
diff --git a/help/F/cbot/topo.txt b/help/cbot/F/topo.txt
similarity index 100%
rename from help/F/cbot/topo.txt
rename to help/cbot/F/topo.txt
diff --git a/help/F/cbot/true.txt b/help/cbot/F/true.txt
similarity index 100%
rename from help/F/cbot/true.txt
rename to help/cbot/F/true.txt
diff --git a/help/F/cbot/turn.txt b/help/cbot/F/turn.txt
similarity index 100%
rename from help/F/cbot/turn.txt
rename to help/cbot/F/turn.txt
diff --git a/help/F/cbot/type.txt b/help/cbot/F/type.txt
similarity index 100%
rename from help/F/cbot/type.txt
rename to help/cbot/F/type.txt
diff --git a/help/F/cbot/var.txt b/help/cbot/F/var.txt
similarity index 100%
rename from help/F/cbot/var.txt
rename to help/cbot/F/var.txt
diff --git a/help/F/cbot/void.txt b/help/cbot/F/void.txt
similarity index 100%
rename from help/F/cbot/void.txt
rename to help/cbot/F/void.txt
diff --git a/help/F/cbot/wait.txt b/help/cbot/F/wait.txt
similarity index 100%
rename from help/F/cbot/wait.txt
rename to help/cbot/F/wait.txt
diff --git a/help/F/cbot/while.txt b/help/cbot/F/while.txt
similarity index 100%
rename from help/F/cbot/while.txt
rename to help/cbot/F/while.txt
diff --git a/help/F/cbot/writeln.txt b/help/cbot/F/writeln.txt
similarity index 100%
rename from help/F/cbot/writeln.txt
rename to help/cbot/F/writeln.txt
diff --git a/help/P/cbot/Point.txt b/help/cbot/P/Point.txt
similarity index 100%
rename from help/P/cbot/Point.txt
rename to help/cbot/P/Point.txt
diff --git a/help/P/cbot/Receive.txt b/help/cbot/P/Receive.txt
similarity index 100%
rename from help/P/cbot/Receive.txt
rename to help/cbot/P/Receive.txt
diff --git a/help/P/cbot/abstime.txt b/help/cbot/P/abstime.txt
similarity index 100%
rename from help/P/cbot/abstime.txt
rename to help/cbot/P/abstime.txt
diff --git a/help/P/cbot/AIM.TXT b/help/cbot/P/aim.txt
similarity index 100%
rename from help/P/cbot/AIM.TXT
rename to help/cbot/P/aim.txt
diff --git a/help/P/cbot/array.txt b/help/cbot/P/array.txt
similarity index 100%
rename from help/P/cbot/array.txt
rename to help/cbot/P/array.txt
diff --git a/help/P/cbot/bloc.txt b/help/cbot/P/bloc.txt
similarity index 100%
rename from help/P/cbot/bloc.txt
rename to help/cbot/P/bloc.txt
diff --git a/help/P/cbot/BOOL.TXT b/help/cbot/P/bool.txt
similarity index 100%
rename from help/P/cbot/BOOL.TXT
rename to help/cbot/P/bool.txt
diff --git a/help/P/cbot/BREAK.TXT b/help/cbot/P/break.txt
similarity index 100%
rename from help/P/cbot/BREAK.TXT
rename to help/cbot/P/break.txt
diff --git a/help/P/cbot/category.txt b/help/cbot/P/category.txt
similarity index 100%
rename from help/P/cbot/category.txt
rename to help/cbot/P/category.txt
diff --git a/help/P/cbot/class.txt b/help/cbot/P/class.txt
similarity index 100%
rename from help/P/cbot/class.txt
rename to help/cbot/P/class.txt
diff --git a/help/P/cbot/close.txt b/help/cbot/P/close.txt
similarity index 100%
rename from help/P/cbot/close.txt
rename to help/cbot/P/close.txt
diff --git a/help/P/cbot/COND.TXT b/help/cbot/P/cond.txt
similarity index 100%
rename from help/P/cbot/COND.TXT
rename to help/cbot/P/cond.txt
diff --git a/help/P/cbot/CONTINUE.TXT b/help/cbot/P/continue.txt
similarity index 100%
rename from help/P/cbot/CONTINUE.TXT
rename to help/cbot/P/continue.txt
diff --git a/help/P/cbot/deletef.txt b/help/cbot/P/deletef.txt
similarity index 100%
rename from help/P/cbot/deletef.txt
rename to help/cbot/P/deletef.txt
diff --git a/help/P/cbot/delinfo.txt b/help/cbot/P/delinfo.txt
similarity index 100%
rename from help/P/cbot/delinfo.txt
rename to help/cbot/P/delinfo.txt
diff --git a/help/P/cbot/DIRECT.TXT b/help/cbot/P/direct.txt
similarity index 100%
rename from help/P/cbot/DIRECT.TXT
rename to help/cbot/P/direct.txt
diff --git a/help/P/cbot/DIST.TXT b/help/cbot/P/dist.txt
similarity index 100%
rename from help/P/cbot/DIST.TXT
rename to help/cbot/P/dist.txt
diff --git a/help/P/cbot/dist2d.txt b/help/cbot/P/dist2d.txt
similarity index 100%
rename from help/P/cbot/dist2d.txt
rename to help/cbot/P/dist2d.txt
diff --git a/help/P/cbot/DO.TXT b/help/cbot/P/do.txt
similarity index 100%
rename from help/P/cbot/DO.TXT
rename to help/cbot/P/do.txt
diff --git a/help/P/cbot/DROP.TXT b/help/cbot/P/drop.txt
similarity index 100%
rename from help/P/cbot/DROP.TXT
rename to help/cbot/P/drop.txt
diff --git a/help/P/cbot/eof.txt b/help/cbot/P/eof.txt
similarity index 100%
rename from help/P/cbot/eof.txt
rename to help/cbot/P/eof.txt
diff --git a/help/P/cbot/errmode.txt b/help/cbot/P/errmode.txt
similarity index 100%
rename from help/P/cbot/errmode.txt
rename to help/cbot/P/errmode.txt
diff --git a/help/P/cbot/EXPR.TXT b/help/cbot/P/expr.txt
similarity index 100%
rename from help/P/cbot/EXPR.TXT
rename to help/cbot/P/expr.txt
diff --git a/help/P/cbot/extern.txt b/help/cbot/P/extern.txt
similarity index 100%
rename from help/P/cbot/extern.txt
rename to help/cbot/P/extern.txt
diff --git a/help/P/cbot/FALSE.TXT b/help/cbot/P/false.txt
similarity index 100%
rename from help/P/cbot/FALSE.TXT
rename to help/cbot/P/false.txt
diff --git a/help/P/cbot/file.txt b/help/cbot/P/file.txt
similarity index 100%
rename from help/P/cbot/file.txt
rename to help/cbot/P/file.txt
diff --git a/help/P/cbot/FIRE.TXT b/help/cbot/P/fire.txt
similarity index 100%
rename from help/P/cbot/FIRE.TXT
rename to help/cbot/P/fire.txt
diff --git a/help/P/cbot/flatgrnd.txt b/help/cbot/P/flatgrnd.txt
similarity index 100%
rename from help/P/cbot/flatgrnd.txt
rename to help/cbot/P/flatgrnd.txt
diff --git a/help/P/cbot/FLOAT.TXT b/help/cbot/P/float.txt
similarity index 100%
rename from help/P/cbot/FLOAT.TXT
rename to help/cbot/P/float.txt
diff --git a/help/P/cbot/FOR.TXT b/help/cbot/P/for.txt
similarity index 100%
rename from help/P/cbot/FOR.TXT
rename to help/cbot/P/for.txt
diff --git a/help/P/cbot/function.txt b/help/cbot/P/function.txt
similarity index 100%
rename from help/P/cbot/function.txt
rename to help/cbot/P/function.txt
diff --git a/help/P/cbot/GOTO.TXT b/help/cbot/P/goto.txt
similarity index 100%
rename from help/P/cbot/GOTO.TXT
rename to help/cbot/P/goto.txt
diff --git a/help/P/cbot/GRAB.TXT b/help/cbot/P/grab.txt
similarity index 100%
rename from help/P/cbot/GRAB.TXT
rename to help/cbot/P/grab.txt
diff --git a/help/P/cbot/IF.TXT b/help/cbot/P/if.txt
similarity index 100%
rename from help/P/cbot/IF.TXT
rename to help/cbot/P/if.txt
diff --git a/help/P/cbot/INT.TXT b/help/cbot/P/int.txt
similarity index 100%
rename from help/P/cbot/INT.TXT
rename to help/cbot/P/int.txt
diff --git a/help/P/cbot/JET.TXT b/help/cbot/P/jet.txt
similarity index 100%
rename from help/P/cbot/JET.TXT
rename to help/cbot/P/jet.txt
diff --git a/help/P/cbot/MESSAGE.TXT b/help/cbot/P/message.txt
similarity index 100%
rename from help/P/cbot/MESSAGE.TXT
rename to help/cbot/P/message.txt
diff --git a/help/P/cbot/motor.txt b/help/cbot/P/motor.txt
similarity index 100%
rename from help/P/cbot/motor.txt
rename to help/cbot/P/motor.txt
diff --git a/help/P/cbot/MOVE.TXT b/help/cbot/P/move.txt
similarity index 100%
rename from help/P/cbot/MOVE.TXT
rename to help/cbot/P/move.txt
diff --git a/help/P/cbot/NAN.TXT b/help/cbot/P/nan.txt
similarity index 100%
rename from help/P/cbot/NAN.TXT
rename to help/cbot/P/nan.txt
diff --git a/help/P/cbot/new.txt b/help/cbot/P/new.txt
similarity index 100%
rename from help/P/cbot/new.txt
rename to help/cbot/P/new.txt
diff --git a/help/P/cbot/NULL.TXT b/help/cbot/P/null.txt
similarity index 100%
rename from help/P/cbot/NULL.TXT
rename to help/cbot/P/null.txt
diff --git a/help/P/cbot/OBJECT.TXT b/help/cbot/P/object.txt
similarity index 100%
rename from help/P/cbot/OBJECT.TXT
rename to help/cbot/P/object.txt
diff --git a/help/P/cbot/open.txt b/help/cbot/P/open.txt
similarity index 100%
rename from help/P/cbot/open.txt
rename to help/cbot/P/open.txt
diff --git a/help/P/cbot/openfile.txt b/help/cbot/P/openfile.txt
similarity index 100%
rename from help/P/cbot/openfile.txt
rename to help/cbot/P/openfile.txt
diff --git a/help/P/cbot/pointer.txt b/help/cbot/P/pointer.txt
similarity index 100%
rename from help/P/cbot/pointer.txt
rename to help/cbot/P/pointer.txt
diff --git a/help/P/cbot/private.txt b/help/cbot/P/private.txt
similarity index 100%
rename from help/P/cbot/private.txt
rename to help/cbot/P/private.txt
diff --git a/help/P/cbot/public.txt b/help/cbot/P/public.txt
similarity index 100%
rename from help/P/cbot/public.txt
rename to help/cbot/P/public.txt
diff --git a/help/P/cbot/RADAR.TXT b/help/cbot/P/radar.txt
similarity index 100%
rename from help/P/cbot/RADAR.TXT
rename to help/cbot/P/radar.txt
diff --git a/help/P/cbot/readln.txt b/help/cbot/P/readln.txt
similarity index 100%
rename from help/P/cbot/readln.txt
rename to help/cbot/P/readln.txt
diff --git a/help/P/cbot/RECYCLE.TXT b/help/cbot/P/recycle.txt
similarity index 100%
rename from help/P/cbot/RECYCLE.TXT
rename to help/cbot/P/recycle.txt
diff --git a/help/P/cbot/RETOBJ.TXT b/help/cbot/P/retobj.txt
similarity index 100%
rename from help/P/cbot/RETOBJ.TXT
rename to help/cbot/P/retobj.txt
diff --git a/help/P/cbot/RETURN.TXT b/help/cbot/P/return.txt
similarity index 100%
rename from help/P/cbot/RETURN.TXT
rename to help/cbot/P/return.txt
diff --git a/help/P/cbot/SEARCH.TXT b/help/cbot/P/search.txt
similarity index 100%
rename from help/P/cbot/SEARCH.TXT
rename to help/cbot/P/search.txt
diff --git a/help/P/cbot/send.txt b/help/cbot/P/send.txt
similarity index 100%
rename from help/P/cbot/send.txt
rename to help/cbot/P/send.txt
diff --git a/help/P/cbot/SHIELD.TXT b/help/cbot/P/shield.txt
similarity index 100%
rename from help/P/cbot/SHIELD.TXT
rename to help/cbot/P/shield.txt
diff --git a/help/P/cbot/sizeof.txt b/help/cbot/P/sizeof.txt
similarity index 100%
rename from help/P/cbot/sizeof.txt
rename to help/cbot/P/sizeof.txt
diff --git a/help/P/cbot/SNIFF.TXT b/help/cbot/P/sniff.txt
similarity index 100%
rename from help/P/cbot/SNIFF.TXT
rename to help/cbot/P/sniff.txt
diff --git a/help/P/cbot/space.txt b/help/cbot/P/space.txt
similarity index 100%
rename from help/P/cbot/space.txt
rename to help/cbot/P/space.txt
diff --git a/help/P/cbot/static.txt b/help/cbot/P/static.txt
similarity index 100%
rename from help/P/cbot/static.txt
rename to help/cbot/P/static.txt
diff --git a/help/P/cbot/strfind.txt b/help/cbot/P/strfind.txt
similarity index 100%
rename from help/P/cbot/strfind.txt
rename to help/cbot/P/strfind.txt
diff --git a/help/P/cbot/STRING.TXT b/help/cbot/P/string.txt
similarity index 100%
rename from help/P/cbot/STRING.TXT
rename to help/cbot/P/string.txt
diff --git a/help/P/cbot/strleft.txt b/help/cbot/P/strleft.txt
similarity index 100%
rename from help/P/cbot/strleft.txt
rename to help/cbot/P/strleft.txt
diff --git a/help/P/cbot/strlen.txt b/help/cbot/P/strlen.txt
similarity index 100%
rename from help/P/cbot/strlen.txt
rename to help/cbot/P/strlen.txt
diff --git a/help/P/cbot/strlower.txt b/help/cbot/P/strlower.txt
similarity index 100%
rename from help/P/cbot/strlower.txt
rename to help/cbot/P/strlower.txt
diff --git a/help/P/cbot/strmid.txt b/help/cbot/P/strmid.txt
similarity index 100%
rename from help/P/cbot/strmid.txt
rename to help/cbot/P/strmid.txt
diff --git a/help/P/cbot/strright.txt b/help/cbot/P/strright.txt
similarity index 100%
rename from help/P/cbot/strright.txt
rename to help/cbot/P/strright.txt
diff --git a/help/P/cbot/strupper.txt b/help/cbot/P/strupper.txt
similarity index 100%
rename from help/P/cbot/strupper.txt
rename to help/cbot/P/strupper.txt
diff --git a/help/P/cbot/strval.txt b/help/cbot/P/strval.txt
similarity index 100%
rename from help/P/cbot/strval.txt
rename to help/cbot/P/strval.txt
diff --git a/help/P/cbot/synchro.txt b/help/cbot/P/synchro.txt
similarity index 100%
rename from help/P/cbot/synchro.txt
rename to help/cbot/P/synchro.txt
diff --git a/help/P/cbot/TERM.TXT b/help/cbot/P/term.txt
similarity index 100%
rename from help/P/cbot/TERM.TXT
rename to help/cbot/P/term.txt
diff --git a/help/P/cbot/testinfo.txt b/help/cbot/P/testinfo.txt
similarity index 100%
rename from help/P/cbot/testinfo.txt
rename to help/cbot/P/testinfo.txt
diff --git a/help/P/cbot/this.txt b/help/cbot/P/this.txt
similarity index 100%
rename from help/P/cbot/this.txt
rename to help/cbot/P/this.txt
diff --git a/help/P/cbot/THUMP.TXT b/help/cbot/P/thump.txt
similarity index 100%
rename from help/P/cbot/THUMP.TXT
rename to help/cbot/P/thump.txt
diff --git a/help/P/cbot/TOPO.TXT b/help/cbot/P/topo.txt
similarity index 100%
rename from help/P/cbot/TOPO.TXT
rename to help/cbot/P/topo.txt
diff --git a/help/P/cbot/TRUE.TXT b/help/cbot/P/true.txt
similarity index 100%
rename from help/P/cbot/TRUE.TXT
rename to help/cbot/P/true.txt
diff --git a/help/P/cbot/TURN.TXT b/help/cbot/P/turn.txt
similarity index 100%
rename from help/P/cbot/TURN.TXT
rename to help/cbot/P/turn.txt
diff --git a/help/P/cbot/TYPE.TXT b/help/cbot/P/type.txt
similarity index 100%
rename from help/P/cbot/TYPE.TXT
rename to help/cbot/P/type.txt
diff --git a/help/P/cbot/VAR.TXT b/help/cbot/P/var.txt
similarity index 100%
rename from help/P/cbot/VAR.TXT
rename to help/cbot/P/var.txt
diff --git a/help/P/cbot/VOID.TXT b/help/cbot/P/void.txt
similarity index 100%
rename from help/P/cbot/VOID.TXT
rename to help/cbot/P/void.txt
diff --git a/help/P/cbot/WAIT.TXT b/help/cbot/P/wait.txt
similarity index 100%
rename from help/P/cbot/WAIT.TXT
rename to help/cbot/P/wait.txt
diff --git a/help/P/cbot/while.txt b/help/cbot/P/while.txt
similarity index 100%
rename from help/P/cbot/while.txt
rename to help/cbot/P/while.txt
diff --git a/help/P/cbot/writeln.txt b/help/cbot/P/writeln.txt
similarity index 100%
rename from help/P/cbot/writeln.txt
rename to help/cbot/P/writeln.txt
diff --git a/help/cbot/R/abstime.txt b/help/cbot/R/abstime.txt
new file mode 100644
index 00000000..f2824d38
--- /dev/null
+++ b/help/cbot/R/abstime.txt
@@ -0,0 +1,11 @@
+\b;Инструкция \c;abstime\n;
+Синтаксис¦:
+\s;\c;abstime ( );\n;
+
+Созвращает время в секундах от начала миссии.
+
+\t;Возвращает: \c;\l;float\u cbot\float;\n;
+Время в секундах.
+
+\t;См. также
+\l;Язык CBOT\u cbot; и \l;Переменные\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/aim.txt b/help/cbot/R/aim.txt
new file mode 100644
index 00000000..34800fc2
--- /dev/null
+++ b/help/cbot/R/aim.txt
@@ -0,0 +1,21 @@
+\b;Инструкция \c;aim\n;
+Синтаксис :
+\s;\c;aim ( угол );\n;
+
+Эта инструкция устанавливает вертикальны угол пушки. Пушкой снабжаются следующи роботы:
+o \l;Стрелок\u object\botfr;
+o \l;Орга-стрелок\u object\botor;
+o \l;Фазовый стрелок\u object\botphaz;
+
+Если управлять роботом с помощью программиорвания, единственный способ повернуть оружие вправо или влево - это повернуть робота целиком инструкцией \c;\l;turn\u cbot\turn;\n;.
+
+\t;угол: \c;\l;float\u cbot\float;\n;
+Угол оружия относительно робота, в градусах. Положительное значение ориентирует ружье вперед. Для стрелков и орга-стрелков, угол должен быть от \c;-20\n; до \c;+20\n; градусов. Для фазовый стрелок стрелков, угол должен быть в пределах от \c;-20\n; до \c;45\n; градусов.
+
+\t;Возвращаемое значение: \c;\l;int\u cbot\int;\n;
+Ноль если все в порядке. Число отличное от нуля, если вращение выполнить не удалось:
+\c;== 0 \n;Оружие получило нужную ориентацию
+\c;!= 0 \n;вращение невозможно
+
+\t;смотреть также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/array.txt b/help/cbot/R/array.txt
new file mode 100644
index 00000000..adf3e622
--- /dev/null
+++ b/help/cbot/R/array.txt
@@ -0,0 +1,31 @@
+\b;Массивы
+Массив - это в основном набор переменных того же типа и класса. Вы можете использовать н-ное количество массивов в языке CBOT, однако максимальный размер массива равен 9999 элементов. Вы должны использовать квадратные скобки \c;[]\n; после того, как объявили массив.
+\c;
+\s;int [ ] a; // целочисленный массив
+\s;int a [12]; // целочисленный массив, где максимум 12 элементов
+\s;string s[3]; // массив с тремя строчками
+\s;float xy[][]; // двумерный массив плавающей запятой
+\n;
+На самом деле, когда компилятор CBOT встречает объявление массива, то он просто создает \c;\l;null\u cbot\null;\n; \l;ссылку\u cbot\pointer;:
+\c;
+\s;int a[5]; // просто пустая ссылка
+\n;
+Как только вы поместите значения в массив, элементы создаются и ссылки инициализируются:
+\c;
+\s;a[2] = 213; // указывает на
+\s; // три элемента [0], [1] и [2]
+\n;
+После этой операции, \c;a\n; содержит ссылки на элементы массива. Элементы \c;[0]\n; и \c;[1]\n; созданы, однако не инициализированы, т.к. они пусты. Инструкция \c;\l;sizeof\u cbot\sizeof;\n; позволяет получить число элементов, хранящихся в массиве.
+
+Если массив объявлен с максимальным размером, то программа остановится, как только доступ к нему выйдет за его рамки(т.е. кол-во элементов+N). При компиляции ошибки не возникнет, даже если она очевидна:
+\c;
+\s;{
+\s; int a[5];
+\s; a[7] = 123; // нет ошибки при компиляции
+\s; // однако ошибка при выполнении
+\s;}
+\n;
+Если вы передаете \l;функции\u cbot\function; массив в качестве параметра, то функция получает только \l;ссылку\u cbot\pointer; на массив. Это означает, что если вы измение элемент в массиве, то этот элемент будет измененным и в самой функции.
+
+\t;См. также
+\l;Язык CBOT\u cbot; и \l;Переменные\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/bloc.txt b/help/cbot/R/bloc.txt
new file mode 100644
index 00000000..be004026
--- /dev/null
+++ b/help/cbot/R/bloc.txt
@@ -0,0 +1,49 @@
+\b;Блоки
+Можно использовать скобки \c;{ }\n; чтобы сгруппировать несколько инструкций вместе и составить из них целый блок, например:
+\c;
+\s; {
+\s; float t;
+\s; t = a;
+\s; a = b;
+\s; b = t; // переключает между a и b
+\s; }
+\n;
+Каждая инструкци в блоке заканчивается \l;двоеточием\u cbot\term;, но не сам блок.
+Расмотрим следующий пример с инструкцией \c;\l;if\u cbot\if;\n; чтобы проиллюстрировать блоки в программах:
+\c;
+\s; if ( a < b )
+\s; \n;инструкция 1\c;;
+\s; \n;инструкция 2\c;;
+\s; \n;инструкция 3\c;;
+\n;
+Если \l;состояние\u cbot\cond; верно, то инструкции 1, 2 и 3 выполняются. Если состояние не верно, не выполняется только инструкция 1, а инструкции 2 и 3 выполняются. Тот факт, что инструкция 2 стоит в одной линии с инструкцией 1 на ход не влияет.
+Если вы хотите выполнить только инструкции 1 и 2, причем условие выполняется, вам нужно выделить их вместе в одном блоке:
+\c;
+\s; if ( a < b )
+\s; {
+\s; \n;инструкция 1\c;;
+\s; \n;инструкция 2\c;;
+\s; }
+\s; \n;инструкция 3\c;;
+\n;
+Блоки могут использоваться с инструкциями \c;\l;if\u cbot\if;\n;, \c;\l;while\u cbot\while;\n; и \c;\l;for\u cbot\for;\n;, чтобы сгруппировать отдельные инструкции, которые должны выполняться только если условие выполняется, или повторяется несколько раз.
+Можно включать блоки в другие блоки, на столько уровней насколько нужно. Вот пример включения в скобки на двух уровнях:
+\c;
+\s; if ( a > b )
+\s; {
+\s; int i = 0;
+\s; while ( i < 18 )
+\s; {
+\s; move(10);
+\s; turn(5);
+\s; i = i+1;
+\s; }
+\s; }
+\n;
+Было бы целесообразнее выравнивать открытую скобку \c;{\n; по закрытой скобке \c;}\n; в целях улучшения читаемости, но это необязательно. Следующий пример занимает меньше места, но эквивалентен предыдущему примеру, однако писать свои программы в подобном стиле не рекомендуется:
+\c;
+\s; if(a>b) { int i=0; while(i<18) {
+\s; move(10);turn(5);i=i+1; }}
+\n;
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/bool.txt b/help/cbot/R/bool.txt
new file mode 100644
index 00000000..46f2f311
--- /dev/null
+++ b/help/cbot/R/bool.txt
@@ -0,0 +1,5 @@
+\b;Тип \c;bool\n;
+Переменной этого типа вы можете присваивать булевое значение, т.е. значение, которое может иметь лишь два состояния: да и нет.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/break.txt b/help/cbot/R/break.txt
new file mode 100644
index 00000000..28ac45f0
--- /dev/null
+++ b/help/cbot/R/break.txt
@@ -0,0 +1,24 @@
+\b;Инструкция \c;break\n;
+Синтаксис :
+\s;\c;while ( условие )
+\s;{
+\s; break;
+\s;}
+\n;
+С помощью этой инструкции, вы можете немедленно выйти из цикла функции \c;\l;while\u cbot\while;\n; или \c;\l;for\u cbot\for;\n;.
+
+Вот пример:
+\s;\c;int i = 0;
+\s;while ( да )
+\s;{
+\s; \n;Инструкции...\c;
+\s; i = i+1;
+\s; if ( i >= 10 )
+\s; {
+\s; break;
+\s; }
+\s;}
+\n;
+
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/category.txt b/help/cbot/R/category.txt
new file mode 100644
index 00000000..e02920d5
--- /dev/null
+++ b/help/cbot/R/category.txt
@@ -0,0 +1,108 @@
+\b;Значение \c;Категорий\n;
+Категории отображают названия обьектов на языке CBOT. В игре COLOBOT все предеты являются обьектами: роботы, здания, сырье, и т.д., даже сам игрок.
+
+В самой программе, категории всегда отображаются на \const;красном фоне\norm;. Если категория не выделена красным, она названа не правильно. Заглавные и обычные буквы нужно оставлять как есть.
+
+Ниже даются все известные категории:
+
+\t;Здания:
+
+\button 176; \c;\l;Houston\u object\Huston; \n;Управление Миссией
+\button 171; \c;\l;SpaceShip\u object\base; \n;Корабль
+\button 160; \c;\l;BotFactory\u object\factory; \n;Фабрика ботов
+\button 163; \c;\l;ResearchCenter\u object\research; \n;Исследовательский Центр
+\button 168; \c;\l;RadarStation\u object\radar; \n;Радар
+\button 172; \c;\l;ExchangePost\u object\exchange; \n;Пост Обмена Информацией
+\button 169; \c;\l;RepairCenter\u object\repair; \n;Ремонтный Центр
+\button 165; \c;\l;DefenseTower\u object\tower; \n;Защитная Башня
+\button 166; \c;\l;AutoLab\u object\labo; \n;Анализатор Органической Материи
+\button 164; \c;\l;PowerStation\u object\station; \n;Силовая Станция
+\button 167; \c;\l;PowerPlant\u object\energy; \n;Фабрика батареек
+\button 170; \c;\l;NuclearPlant\u object\nuclear; \n;Ядерная фабрика
+\button 162; \c;\l;Converter\u object\convert; \n;Титановый Конвертер
+\button 161; \c;\l;Derrick\u object\derrick; \n;Буровая Вышка
+\button 174; \c;\l;PowerCaptor\u object\captor; \n;Параболический громоотвод
+\button 175; \c;\l;Vault\u object\safe; \n;Хранилище
+ \c;\l;StartArea\u object\start; \n;Стартовая площадка
+ \c;\l;FinishArea\u object\goal; \n;Финальная Площадка
+ \c;\l;AlienNest\u object\nest; \n;Гнездо Чужих
+
+
+\t;Переносные обьекты:
+
+ \c;\l;TitaniumOre\u object\titanore; \n;Титановая Руда
+ \c;\l;UraniumOre\u object\uranore; \n;Урановая Руда
+ \c;\l;Titanium\u object\titan; \n;Куб переработанного титана
+ \c;\l;PowerCell\u object\power; \n;Обычная Батарейка
+ \c;\l;NuclearPowerCell\u object\atomic; \n;Ядерная Батарейка
+ \c;\l;OrgaMatter\u object\bullet; \n;Органическая Материя
+ \c;\l;BlackBox\u object\bbox; \n;Черный Ящик
+ \c;\l;TNT\u object\tnt; \n;Взрывное устройство
+ \c;\l;KeyA..D\u object\key; \n;Ключи A, B, C and D
+
+
+\t;Роботы:
+
+\button 158; \c;\l;PracticeBot\u object\bottr; \n;Тренировочный Бот
+\button 173; \c;\l;TargetBot\u object\bottarg; \n;Целевой бот
+
+\button 137; \c;\l;WheeledGrabber\u object\botgr; \n;Колесный сборщик
+\button 138; \c;\l;TrackedGrabber\u object\botgc; \n;Гусеничный сборщик
+\button 139; \c;\l;WingedGrabber\u object\botgj; \n;Летающий сборщик
+\button 150; \c;\l;LeggedGrabber\u object\botgs; \n;Шагающий сборщик
+
+\button 140; \c;\l;WheeledSniffer\u object\botsr; \n;Колесный сниффер
+\button 141; \c;\l;TrackedSniffer\u object\botsc; \n;Гусеничный сниффер
+\button 142; \c;\l;WingedSniffer\u object\botsj; \n;Летающий сниффер
+\button 152; \c;\l;LeggedSniffer\u object\botss; \n;Шагающий сниффер
+
+\button 143; \c;\l;WheeledShooter\u object\botfr; \n;Колесный стрелок
+\button 144; \c;\l;TrackedShooter\u object\botfc; \n;Гусеничный стрелок
+\button 145; \c;\l;WingedShooter\u object\botfj; \n;Летающий стрелок
+\button 151; \c;\l;LeggedShooter\u object\botfs; \n;Шагающий стрелок
+
+\button 153; \c;\l;WheeledOrgaShooter\u object\botor; \n;Колесный орга-стрелок
+\button 154; \c;\l;TrackedOrgaShooter\u object\botoc; \n;Гусеничный орга-стрелок
+\button 155; \c;\l;WingedOrgaShooter\u object\botoj; \n;Летающий орга-стрелок
+\button 156; \c;\l;LeggedOrgaShooter\u object\botos; \n;Шагающий орга-стрелок
+
+\button 149; \c;\l;Subber\u object\botsub; \n;Саббер
+\button 148; \c;\l;Recycler\u object\botrecy; \n;Утилизатор
+\button 157; \c;\l;Shielder\u object\botshld; \n;Мобильный щит
+\button 146; \c;\l;Thumper\u object\bottump; \n;Ударник
+\button 147; \c;\l;PhazerShooter\u object\botphaz; \n;Фазовый стрелок
+
+
+\t;Враги :
+
+ \c;\l;AlienQueen\u object\mother; \n;Королева Чужих
+ \c;\l;AlienEgg\u object\egg; \n;Яйцо чужого
+ \c;\l;AlienAnt\u object\ant; \n;Муравей
+ \c;\l;AlienSpider\u object\spider; \n;Паук
+ \c;\l;AlienWasp\u object\wasp; \n;Оса
+ \c;\l;AlienWorm\u object\worm; \n;Червь
+
+
+\t;Разное:
+
+\button 136; \c;\l;Me\u object\human; \n;Вы!
+ \c;\l;Mine\u object\mine; \n;Мина
+ \c;\l;Barrier\u object\barrier; \n;Барьер
+ \c;\l;Wreck\u object\wreck; \n;Обломки
+ \c;\l;Ruin\u object\ruin; \n;Руины
+
+
+\t;Флаги и другие индикаторы:
+
+ \c;\l;BlueFlag\u object\flag; \n;Синий Флаг
+ \c;\l;RedFlag\u object\flag; \n;Красный Флаг
+ \c;\l;GreenFlag\u object\flag; \n;Зеленый Флаг
+ \c;\l;YellowFlag\u object\flag; \n;Желтый Флаг
+ \c;\l;VioletFlag\u object\flag; \n;Фиолетовый Флаг
+ \c;\l;WayPoint\u object\waypoint; \n;Отметка
+ \c;\l;EnergySite\u object\enerspot; \n;Подземный запас энергии
+ \c;\l;TitaniumSite\u object\stonspot; \n;Подземный запас титана
+ \c;\l;UraniumSite\u object\uranspot; \n;Подземный запас урана
+
+\t;См. также
+\l;Язык CBOT\u cbot; и \l;Переменные\u cbot\type;.
diff --git a/help/cbot/R/class.txt b/help/cbot/R/class.txt
new file mode 100644
index 00000000..6daf88a8
--- /dev/null
+++ b/help/cbot/R/class.txt
@@ -0,0 +1,72 @@
+\b;Инструкция \c;class\n;
+Синтаксис:
+\c;
+\s;public class ClassName
+\s;{
+\s; declarations;
+\s;}
+\n;
+Классы должны быть \l;общедоступными\u cbot\public;, таким образом они могут быть исползованы всеми ботами в любой миссии. Члены класса также должны быть общедоступными, тоесть должны быть доступны за пределами класса. Членами класса могут быть ячейки и функции (по-другому методы), например следующий класс \c;MyClass\n; содержит 4 ячейки (a, b, x и s) и один метод (MyFunction).
+\c;
+\s;public class MyClass
+\s;{
+\s; int a, b;
+\s; float x = 3.33;
+\s; string s = "hello";
+\s; float MyFunction( float value )
+\s; {
+\s; return (value*x)-1;
+\s; }
+\s;}
+\n;
+ак показано в данном примере члены класса могут быть инициализированы (\c;x=3.33\n;). Вы можете также определить конструктор, который представляет собой специальный метод, имеющий то же имя, как и имя класса. Этот метод будет вызван автоматически в момент создания экземпляра класса. Вы можете также объявить более одного метода с тем же именем, но с разными параметрами.
+\c;
+\s;public class MyClass
+\s;{
+\s; int a, b;
+\s; void MyClass( )
+\s; {
+\s; a = 2; b = 3;
+\s; }
+\s; void MyClass( int a, int b )
+\s; {
+\s; this.a = a; this.b = b;
+\s; }
+\s;}
+\n;
+В этом примере два конструктора были объявлены как \c;MyClass\n;, один без параметров и второй с двумя параметрами. Поскольку имена параметров второго конструктора такие же, как и имена двух членов \c;a\n; и \c;b\n; мы должны использовать \c;\l;this\u cbot\this;.a\n; и \c;\l;this\u cbot\this;.b\n; чтобы избежать путаницы с параметрами. Наболее простым решением было бы дать разные имена параметрам.
+\c;
+\s;void Test( )
+\s;{
+\s; MyClass item1(); // конструктор без параметров
+\s; MyClass item2(4, 5); // конструктор с двумя параметрами
+\s; MyClass item3; // нет вызова конструктора,
+\s; // поэтому item3 == null
+\s;}
+\n;
+Вы также можете определить деструктор. Это должна быть \c;пустая(void)\n; функция без параметров, имеющая то же имя, что и класс, но с первиксом ~. Деструктор вызывается автоматически, как только класс уже больше никому не понадобится.
+\c;
+\s;public class MyClass
+\s;{
+\s; static private int counter = 0; // инициализируем счетчик
+\s; void MyClass( )
+\s; {
+\s; counter ++; // увеличиваем
+\s; }
+\s; void ~MyClass( )
+\s; {
+\s; counter --; // уменьшаем
+\s; }
+\s;}
+\s;void Test()
+\s;{
+\s; MyClass item1( ); // счетчик = 1
+\s; MyClass item2( ); // счетчик = 2
+\s; item1 = null; // счетчик = 1
+\s;} // счетчик = 0
+\n;
+If you pass a class instance as parameter to a \l;function\u cbot\function;, the function only receives a \l;reference\u cbot\pointer; to the instance. That means if you modify the instance in the function, the instance that has been passed to the function will be actuallay modified.
+
+\t;См. также
+\c;\l;Общедоступное\u cbot\public;\n;, \c;\l;приватное\u cbot\private;\n;, \c;\l;статичное\u cbot\static;\n;, \c;\l;синхронизированное\u cbot\synchro;\n;, \c;\l;новое\u cbot\new;\n;, \c;\l;ссылка\u cbot\pointer;\n;, \c;\l;это\u cbot\this;\n;
+\l;Язык CBOT\u cbot; и \l;Переменные\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/close.txt b/help/cbot/R/close.txt
new file mode 100644
index 00000000..5a099aa3
--- /dev/null
+++ b/help/cbot/R/close.txt
@@ -0,0 +1,8 @@
+\b;Инструкция \c;close\n;
+Закрывает файл, открытый ранее функцией\c;\l;open\u cbot\open;\n;. Это метод класса \c;\l;file\u cbot\file;\n;; поэтому вы не можете записывать \c;close()\n;, только \c;handle.close()\n;¦:
+\c;
+\s; handle.close();
+\n;
+\t;См. также
+\c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;readln\u cbot\readln;\n;, \c;\l;writeln\u cbot\writeln;\n; and \c;\l;eof\u cbot\eof;\n;.
+\l;Язык CBOT\u cbot; и \l;Переменные\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/cond.txt b/help/cbot/R/cond.txt
new file mode 100644
index 00000000..4586e2c0
--- /dev/null
+++ b/help/cbot/R/cond.txt
@@ -0,0 +1,29 @@
+\b;Условия
+Условие - это специальное \l;выражение\u cbot\expr; которое возвращает \l;булевое\u cbot\bool; значение, которое может быть либо \c;\l;true\u cbot\true;\n; либо \c;\l;false\u cbot\false;\n;. Имея условия, вы можете выбирать Ф. экс. если инструкции в цикле \c;\l;while\u cbot\while;\n; должын повторяться снова, или если нужно выполнить инструкцию в блоке \c;\l;if\u cbot\if;\n;.
+Here are some operators that you can use in conditions to compare two values :
+
+\c;a == b \n;\c;a\n; равняется \c;b\n;
+\c;a != b \n;\c;a\n; отличное от \c;b\n;
+\c;a < b \n;\c;a\n; меньше чем \c;b\n;
+\c;a <= b \n;\c;a\n; меньше или равно \c;b\n;
+\c;a > b \n;\c;a\n; больше чем \c;b\n;
+\c;a >= b \n;\c;a\n; больше или равно \c;b\n;
+
+Например:
+
+\c;12 == 12 \n;возвращает да
+\c;45 != 47 \n;возвращает да
+\c;99 == 98 \n;возвращает нет
+\c;12 < -1 \n;возвращает нет
+\c;12 >= 10 \n;возвращает да
+\c;12 >= 12 \n;возвращает да
+
+\t;Примечание
+Будьте внимательны и не путайте сравнение равенства \c;==\n; с присвоением \l;переменной\u cbot\var; \c;=\n;.
+
+\c;a == b\n; is an expression that compares \c;a\n; with \c;b\n;.
+\c;a = b\n; is an expression that copies the value of \c;b\n; into \c;a\n;.
+
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/continue.txt b/help/cbot/R/continue.txt
new file mode 100644
index 00000000..af3e4c4e
--- /dev/null
+++ b/help/cbot/R/continue.txt
@@ -0,0 +1,25 @@
+\b;Инструкция \c;continue\n;
+Синтаксис :
+\s;\c;while ( условие )
+\s;{
+\s; continue;
+\s;}
+\n;
+С помощью этой инструкции, вы можете перепрыгивать через все остальные инструкции в \c;\l;блоке\u cbot\bloc;\n; цикла \c;\l;while\u cbot\while;\n; или \c;\l;for\u cbot\for;\n; : Выполнение продолжится с начала блока, в следующий раз цикл будет повторен.
+
+вот пример:
+\s;\c;int i = 0;
+\s;while ( i < 5 )
+\s;{
+\s; i = i+1;
+\s; if ( i == 3 )
+\s; {
+\s; continue;
+\s; }
+\s; \n;Инструкции...\c;
+\s;}
+\n;
+Инструкции будут выполнены только для значение \c;i\n; 1, 2, 4 и 5.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/deletef.txt b/help/cbot/R/deletef.txt
new file mode 100644
index 00000000..2bfd516a
--- /dev/null
+++ b/help/cbot/R/deletef.txt
@@ -0,0 +1,10 @@
+\b;Инструкция \c;deletefile\n;
+Инструкция deletefile удаляет существующие файлы/папки.
+
+Файлы и папки могут быть удалены только в той дирректории, в которую была установлена COLOBOT. Вы не можете удалять файлы и папки, находящиеся в другом месте.
+
+Синтаксис¦:
+\s;\c;deletefile ( filename );\n;
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; and \l;категории\u cbot\category;.
diff --git a/help/cbot/R/delinfo.txt b/help/cbot/R/delinfo.txt
new file mode 100644
index 00000000..2be48cdf
--- /dev/null
+++ b/help/cbot/R/delinfo.txt
@@ -0,0 +1,15 @@
+\b;Инструкция \c;deleteinfo\n;
+Синтаксис¦:
+\s;\c;deleteinfo ( name, power );\n;
+
+Удаляет существующую информацию в ближайшем \l;посте обмена информацией\u object\exchange;.
+
+\t;name: \c;string\n;
+Имя информации для удаления. Это имя - строка: она должна быть написана в кавычках "¦".
+
+\t;power: \c;float\n;
+Мощность передатчика, определяющая максимальное расстояние до поста. Если пост находится слишком далеко, то информаация не будет удалена. Стандартное значение равно 10 метрам.
+
+\t;См. также
+\c;\l;receive\u cbot\receive;\n;, \c;\l;send\u cbot\send;\n; and \c;\l;testinfo\u cbot\testinfo;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/direct.txt b/help/cbot/R/direct.txt
new file mode 100644
index 00000000..b2f8f2ce
--- /dev/null
+++ b/help/cbot/R/direct.txt
@@ -0,0 +1,15 @@
+\b;Инструкция \c;direction\n;
+Синтаксис :
+\s;\c;direction ( поз );\n;
+
+Вычисляет вращение, которое необходимо выполнить роботу, чтобы повернуться к данной позиции.
+
+\t;pos: \c;\l;point\u cbot\point;\n;
+Позиция, к которой робот должен повернуться.
+
+\t;Возвратное значение: \c;\l;float\u cbot\float;\n;
+Угол вращения, которое нужно проделать. -90 значит ф. экс. вращение на 90 градусов вправо.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/dist.txt b/help/cbot/R/dist.txt
new file mode 100644
index 00000000..c8356061
--- /dev/null
+++ b/help/cbot/R/dist.txt
@@ -0,0 +1,30 @@
+\b;Инструкция \c;distance\n;
+С помощью инструкции \c;distance( , )\n; вы можете подсчитывать расстояние между двумя позициями.
+
+\b;Основное использование
+Если вы напишете только \c;position\n;, то вы получите только позицию бота, который выполняет программу. Если вы напишете имя переменной, а за ней \c;.position\n;, то это даст вам позицию обьекта, который был обозначен вслед за переменной.
+
+Ниже приведена программа для движения вперед, на вличину, в точности равную расстоянию между ботом и ближайшим муравьем:
+\c;
+\s; item = \l;radar\u cbot\radar;(AlienAnt);
+\s; \l;move\u cbot\move;(distance(position, item.position));
+\n;
+Разумеется, это чистое самоубийство. Лучше остановиться за 40 метров вдали, чтобы оказаться в радиусе стрельбы:
+\c;
+\s; item = radar(AlienAnt);
+\s; move(distance(position, item.position) - 40);
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;distance ( pos1, pos2 );\n;
+
+Рассчитывает растояние между двумя позициями.
+
+\t;pos1, pos2: \c;\l;point\u cbot\point;\n;
+Коодинаты двух позиций.
+
+\t;Возвратное значение: \c;\l;float\u cbot\float;\n;
+расстояние между двумя позициями.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/dist2d.txt b/help/cbot/R/dist2d.txt
new file mode 100644
index 00000000..8e0ac695
--- /dev/null
+++ b/help/cbot/R/dist2d.txt
@@ -0,0 +1,14 @@
+\b;Инструкция \c;distance2d\n;
+Синтаксис:
+\s;\c;distance2d ( pos1, pos2 );\n;
+
+Рассчитывает растояние между двумя позициями (пренебрегая координатой z).
+
+\t;pos1, pos2: \c;\l;point\u cbot\point;\n;
+координаты двух позиций.
+
+\t;Возвратное значение: \c;\l;float\u cbot\float;\n;
+Расстояние между двумя позициями.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/do.txt b/help/cbot/R/do.txt
new file mode 100644
index 00000000..f653ffe1
--- /dev/null
+++ b/help/cbot/R/do.txt
@@ -0,0 +1,28 @@
+\b;Инструкция \c;do - while\n;
+Синтаксис:
+\s;\c;do
+\s;{
+\s; \n;Инструкции ...\c;
+\s;}
+\s;while ( условие );
+\n;
+Эта инструкция позволяет несколько раз выполнять инструкции внутри \l;блока\u cbot\bloc;. Инструкции выполняются как минимум один раз, поскольку условие выполняется только потом.
+Не путайте инструкцию \c;do { } while ( );\n; с инструкцией \c;\l;while\u cbot\while; ( ) { }\n;; последняя проверяет условие до того как выполняются инструкции внутри блока.
+
+\t;\c;condition\n;
+Инструкции внутри блока выполняются многократно, пока \l;условие\u cbot\cond; остается в силе.
+
+Вот пример подобной программы:
+\s;\c;do
+\s;{
+\s; p = radar(TitaniumOre);
+\s;}
+\s;while ( p == null );
+\n;
+\t;Внимание
+Всегда следует ставить \l;двоеточие\u cbot\term; в конце строки с \c;while ( )\n;.
+
+Инструкции \c;\l;break\u cbot\break;\n; и \c;\l;continue\u cbot\continue;\n; могут пригодиться внутри блока после инструкции \c;do { }\n;.
+
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/drop.txt b/help/cbot/R/drop.txt
new file mode 100644
index 00000000..fd14a77d
--- /dev/null
+++ b/help/cbot/R/drop.txt
@@ -0,0 +1,29 @@
+\b;Инструкция \c;drop\n;
+Инструкция \c;drop();\n; приказывает боту бросить все, что находися в данный момент в рабочей руке, на землю, на платформу здания, или на расположение энергобатарейки бота.
+
+\b;Основное использование
+Инструкция \c;drop();\n; написанная таким образом заставит бот бросить обьект прямо перед собой. Ниже приведена короткая программа, в которой бот берет обьект перед собой, и кладет его на землю в пяти метрах от себя:
+\c;
+\s; \l;grab\u cbot\grab;();
+\s; \l;move\u cbot\move;(5);
+\s; drop();
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;drop ( oper );\n;
+
+Эта инструкция обращается к рабочей руке \l;бота носильщика\u object\botgr;, и приказывает ей положить все что она держит.
+
+\t;oper: \c;\l;int\u cbot\int;\n; (default value\c;InFront\n;)
+Oper обозначает, где именно бот должен бросить предмет. Если не обозначить это место, обьект будет положен прямо перед ботом.
+\c;InFront \n; Кладет перед ботом (значение по умолчанию).
+\c;Behind \n; Кладет позади.
+\c;EnergyPack\n; Кладет на место расположеня собственной энергобатареи бота.
+
+\t;Возвратное значение: \c;\l;int\u cbot\int;\n;
+Обычно в случае ошибки выполнение программы прекращается. Вы можете сделать так, что в случае ошибки программа не будет останавливаться, для чего используется инструкция \c;\l;errmode\u cbot\errmode;(0)\n; . В случае ошибки \c;drop();\n; возвращает значение отличное от нуля.
+\c;== 0 \n;обьект был брошен
+\c;!= 0 \n;ошибка, обьект не был брошен
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/eof.txt b/help/cbot/R/eof.txt
new file mode 100644
index 00000000..9c0eb343
--- /dev/null
+++ b/help/cbot/R/eof.txt
@@ -0,0 +1,15 @@
+\b;Инструкция \c;eof\n;
+Проверяет конец открытого файла. Это метод класса \c;\l;file\u cbot\file;\n;; вы не можете писать \c;eof()\n;, только \c;handle.eof()\n;¦:
+\c;
+\s; if ( handle.eof() )
+\n;
+Например¦:
+\c;
+\s; while ( not handle.eof() )
+\s; {
+\s; s = handle.readln();
+\s; }
+\n;
+\t;См. также
+\c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n; and \c;\l;writeln\u cbot\writeln;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/errmode.txt b/help/cbot/R/errmode.txt
new file mode 100644
index 00000000..65e08fae
--- /dev/null
+++ b/help/cbot/R/errmode.txt
@@ -0,0 +1,33 @@
+\b;Инструкция \c;errmode\n;
+Инструкция \c;errmode();\n; позволяет вам определять, будет ли останавливаться программа в случае возникновения ошибки в одной из следующих инструкций: \c;\l;goto\u cbot\goto;\n;, \c;\l;move\u cbot\move;\n;, \c;\l;grab\u cbot\grab;\n;, \c;\l;drop\u cbot\drop;\n;, etc.
+
+\b;Для специалистов
+Синтаксис¦:
+\s;\c;errmode ( mode );\n;
+
+Обычно в случае ошибки выполнение программы прекращается. Если вы воспользуетесь инструкцией \c;errmode(0);\n; в начале программы, инструкции перечисленныен выше возвращают значение отличное от нуля, если инструкцию было невозможно выполенить.
+
+\t;mode: \c;\l;float\u cbot\float;\n; (\c;1\n; по умолчанию)
+Ошибка режима обработки.
+\c;0\n; -> продолжает выполнение программы и возвращает значение отличное от нуля
+\c;1\n; -> останавливает программу (поведение по умолчанию)
+
+Пример 1¦:
+\s;\c;errmode(0);
+\s;while ( goto(pos) != 0 )
+\s;{
+\s; wait(2);
+\s;}
+\n;
+Пример 2¦:
+\s;\c;errmode(0);
+\s;int err;
+\s;err = goto(pos);
+\s;if ( err != 0 )
+\s;{
+\s; \n;инструкция goto была выполнена некоррректно...\c;
+\s; \n;предпримите меры...\c;
+\s;}
+\n;
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/expr.txt b/help/cbot/R/expr.txt
new file mode 100644
index 00000000..e11d1595
--- /dev/null
+++ b/help/cbot/R/expr.txt
@@ -0,0 +1,51 @@
+\b;Выражения
+Выражения могут включать следующие операторы:
+
+\c;+\n; сложение
+\c;-\n; вычитание
+\c;*\n; умножение
+\c;/\n; деление
+\c;%\n; остаток деления (только для типа \c;\l;int\u cbot\int;\n;)
+
+При помощи оператора сложения \c;+\n;, вы можете складывать не только числа, но также можете присоединять \l;строки\u cbot\string;.
+\c;
+\s; int i = 12+3; // возвращает 15
+\s; string s = "a"+"bc"; // возвращает "abc"
+\s; int i = 2-5; // возвращает -3
+\s; float f = 3.01*10; // возвращает 30.1
+\s; int i = 5/3; // возвращает 1
+\s; float f = 5/3; // возвращает 1.67
+\s; float f = 5/0; // возвращает ошибку
+\s; int i = 13%5; // возвращает 3
+\s; int i = -8%3; // возвращает -2
+\n;
+Выражение может содержать постоянные и \l;переменные\u cbot\var;. Например:
+
+\s;\c; 12+dist\n;
+
+Умножение и деление выполняется перед сложением и вычитанием. Чтобы убедиться, что операции выполняются в правильном порядке, используйте скобки:
+\c;
+\s; 12*a+b/c \n;is equivalent to\c; (12*a)+(b/c)
+\s; 2.5*(dist+range)
+\n;
+Чтобы улучшить читаемость, можете добавлять сколько угодно пробелов:
+\c;
+\s; 12*a + b/c
+\s; 2.5 * (расст+рад)
+\n;
+Ниже приведет список математических функций:
+
+\c;sin(angle) \n;синус
+\c;cos(angle) \n;косинус
+\c;tan(angle) \n;тангенс
+\c;asin(value) \n;арксинус
+\c;acos(value) \n;арккосинус
+\c;atan(value) \n;арктангенс
+\c;sqrt(value) \n;квадратный корень
+\c;pow(x, y) \n;x в степени y
+\c;rand() \n;случайное число между 0 и 1
+
+Углы отображаются в градусах.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/extern.txt b/help/cbot/R/extern.txt
new file mode 100644
index 00000000..c3c2039e
--- /dev/null
+++ b/help/cbot/R/extern.txt
@@ -0,0 +1,30 @@
+\b;Инструкция \c;extern\n;
+Инструкция \c;extern\n; определяет \l;функцию\u cbot\function;, которая будет основной в программе бота. Имя функции, объявленой с помощью \c;extern\n;. появится в списке ваших программ в левом нижнем углу экрана.
+\c;
+\s;extern void object::MowDown( )
+\s;{
+\s; while ( true )
+\s; {
+\s; fire(1);
+\s; turn(10);
+\s; }
+\s;}
+\n;
+Если программа содержит другие функции, то им должна предшествовать \c;extern\n;.
+\c;
+\s;extern void object::Square( )
+\s;{
+\s; for ( int i=0 ; i<4 ; i++ )
+\s; {
+\s; Line(10);
+\s; }
+\s;}
+\s;
+\s;void object::Line(float dist)
+\s;{
+\s; move(dist);
+\s; turn(90);
+\s;}
+\n;
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/false.txt b/help/cbot/R/false.txt
new file mode 100644
index 00000000..0522fa37
--- /dev/null
+++ b/help/cbot/R/false.txt
@@ -0,0 +1,6 @@
+\b;Тип \c;false\n;
+Это значение оббозначает, что условие не соблюдается; это одно из двух значений, которые могут принимать \l;булевые\u cbot\bool; \l;переменные\u cbot\var; .
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/file.txt b/help/cbot/R/file.txt
new file mode 100644
index 00000000..e9bfdb7d
--- /dev/null
+++ b/help/cbot/R/file.txt
@@ -0,0 +1,18 @@
+\b;Тип \c;file\n;
+Этот тип используется для доступа к файлам/папкам.
+\c;
+\s; file handle();
+\n;
+Используйте синтаксис для объявления дескриптора файла. Вы должны использовать () для создания класса \c;file\n;. без использования () дескриптор вернет \c;\l;null\u cbot\null;\n;.
+
+Файлы и папки могут быть открыты или созданы только в папке с установленной игрой COLOBOT. Вы не можете удалять папки за пределами этой дирректории.
+
+\b;Для специалистов
+\c;file\n; на самом деле не просто тип, а класс. \c;open\n;, \c;close\n;, \c;writeln\n; и т.п. - это все методы класса \c;file\n;. Это причина, почему мы всегда пишем \c;handle.method()\n;¦:
+\c;
+\s; handle.open("test.txt", "w");
+\s; handle.close();
+\n;
+\t;См. также
+\c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n;, \c;\l;writeln\u cbot\writeln;\n; and \c;\l;eof\u cbot\eof;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/fire.txt b/help/cbot/R/fire.txt
new file mode 100644
index 00000000..023d453f
--- /dev/null
+++ b/help/cbot/R/fire.txt
@@ -0,0 +1,31 @@
+\b;Инструкция \c;fire\n;
+Инструкция \c;fire();\n; стреляет бортовой пушкой бота.
+
+\b;Основное использование
+Обычно эта инструкция используется для стрельбы односекундными залпами:
+\c;
+\s; fire(1);
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;fire ( время );\n;
+
+Стреляет из оружия, причем залп продолжается некоторое время. Чем дольше залп, тем больше энергии ему нужно. Эта инструкция может применяться к следующим типам ботов:
+o \l;Стрелок\u object\botfr;
+o \l;Орга Стрелок\u object\botor;
+o \l;Фазер Стрелок\u object\botphaz;
+
+Когда вы управляете своим ботом путем программирования, единственный способ повернуть оружие направо или налево - это повернуть весь бот инструкцией \c;\l;turn\u cbot\turn;\n;.
+
+Чтобы сдвинуть оружие вниз или вверх, используйте инструкцию \c;\l;aim\u cbot\aim;\n;.
+
+\t;time: \c;\l;float\u cbot\float;\n;
+Длительность залпа. Обычно, присваемое значение равно 1. В целях экономии времени и энергии можно производить боле короткие залпы.
+
+\t;Возвратное значение: \c;\l;int\u cbot\int;\n;
+Ноль если OK, или значение отличное от нуля, если произошла ошибка.
+\c;== 0 \n;пушка выстрелила
+\c;!= 0 \n;ошибка, пушка не смогла выстрелить
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/flatgrnd.txt b/help/cbot/R/flatgrnd.txt
new file mode 100644
index 00000000..534e2849
--- /dev/null
+++ b/help/cbot/R/flatgrnd.txt
@@ -0,0 +1,17 @@
+\b;Инструкция \c;flatground\n;
+Синтаксис¦:
+\s;\c;flatground ( center, rmax );\n;
+
+Подсчитывает максимальный радиус плоской зоны, на которой может быть что-либо построено.
+
+\t;center: \c;\l;point\u cbot\point;\n;
+Центр зона (зона - круг).
+
+\t;rmax: \c;\l;float\u cbot\float;\n;
+Максимальный радиус.
+
+\t;Возвращает значение: \c;\l;float\u cbot\float;\n;
+Радиус плоской зоны (всегда от 0 до rmax).
+
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/float.txt b/help/cbot/R/float.txt
new file mode 100644
index 00000000..cd9178fd
--- /dev/null
+++ b/help/cbot/R/float.txt
@@ -0,0 +1,25 @@
+\b;Тип \c;float\n;
+Используйте этот тип для большинства переменных, содержащих числа. Переменные этого типа могут содержать положительные и отрицательные числа, целые и дробные, ф. экс.:
+\c;
+\s; 12.9
+\s; 1.125
+\s; 0.002
+\s; -4.1
+\n;
+Если вамнужно, чтобы переменная содержала только целые числа (ф. экс. 12 или -5000), вам стоит использовать \c;\l;int\u cbot\int;\n;.
+
+\t;Внимание
+Не вставляйте знаки пробелов или запятых в написание числа. Чтоюы отделить целую часть от дробной, используйте точки.
+\c;
+\s; Писать а не
+\s; 12.56 12 . 56
+\s; -54.34 -54,34
+\s;12895.69 12,895.69
+
+\t;Для специалистов
+Числа с плавающей запятой представлены в игре в 32 битах.
+Наивысшее значение, которое можно представить - 3.4E+38.
+Наименьшее значение, которое можно представить - 3.4E-38.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/for.txt b/help/cbot/R/for.txt
new file mode 100644
index 00000000..65aff828
--- /dev/null
+++ b/help/cbot/R/for.txt
@@ -0,0 +1,34 @@
+\b;Инструкция \c;for\n;
+Синтаксис:
+\s;\c;for ( before ; condition ; end )
+\s;{
+\s; \n;Инструкции...\c;
+\s;}
+\n;
+Эта инструкция позволяет вам выполнять инструкции содержащиеся в \l;блоке\u cbot\bloc; определенное количество раз.
+
+\t;\c;before\n;
+Эта инструкция выполняется до появления первого цикла.
+
+\t;\c;condition\n;
+Это \l;условие\u cbot\cond; определяет, нужно ли выполнять следующее кольцо цикла. Она проверяется в ходе выполнения каждого кольца.
+
+\t;\c;end\n;
+Эта инструкция выпоолняется в конце каждого кольца цикла.
+
+Этот пример строго эквивалентен циклу \c;for\n;, но он использует инструкцию \c;\l;while\u cbot\while;\n;:
+\s;\c;before;
+\s;while ( условие )
+\s;{
+\s; \n;Инструкции...\c;
+\s; end;
+\s;}
+\n;
+\t;Внимание
+не следует ставить \l;двоеточие\u cbot\term; в конце строки оператора \c;for ( )\n;.
+
+Инструкции \c;\l;break\u cbot\break;\n; и \c;\l;continue\u cbot\continue;\n; могут быть полезными внутри блока после инструкции \c;for \n;.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/function.txt b/help/cbot/R/function.txt
new file mode 100644
index 00000000..bd5d8d1f
--- /dev/null
+++ b/help/cbot/R/function.txt
@@ -0,0 +1,84 @@
+\b;Функции
+С помощью функций программу можно разделить на несколько частей, которые будут выполнять каждая свою работу.
+Давайте представим следующую программу¦:
+\c;
+\s;extern void object::Remote( )
+\s;{
+\s; send("order", 1, 100);
+\s; wait(5);
+\s; send("order", 3, 100);
+\s; wait(5);
+\s; send("order", 2, 100);
+\s; wait(5);
+\s; send("order", 4, 100);
+\s; wait(5);
+\s;}
+\n;
+\c;send\n; и \c;wait\n; повторяются много раз. Поэтому, мы можем сделать функцию, которая заменит их:
+\c;
+\s;void object::SendToPost( float op )
+\s;{
+\s; send("order", op, 100);
+\s; wait(5);
+\s;}
+\s;extern void object::Remote( )
+\s;{
+\s; SendToPost(1);
+\s; SendToPost(3);
+\s; SendToPost(2);
+\s; SendToPost(4);
+\s;}
+\n;
+Функции могут иметь параметры¦:
+\c;
+\s;void Example( int a, float x, string s )
+\n;
+Функция \c;Exemple\n; функция получит целое \c;a\n;, число с плавающей точкой \c;x\n; и строку \c;s\n;. Параметры - это ничто иное, как просто копии значений в переменных. Если вы передадите \c;int\n; функции, то ее параметр станет копией этого значения, т.е. функция сможет изменять эту копию незатрагивая оригинал.
+
+Если вы передадите \l;классу\u cbot\class; массив \l;array\u cbot\array; как параметр функции, то функция получит только \l;ссылку\u cbot\pointer; к экземпляру массива. Это означает, что если вы измените массив в функции, то будет модифицирован только экземпляр этой функции.
+
+Функция может возвращать результат с помощью инструкции \c;\l;return\u cbot\return;\n;. Поэтому функции должны быть объявлены только как тип:
+\c;
+\s;float Mean( float a, float b )
+\s;{
+\s; return (a+b)/2;
+\s;}
+\s;
+\s;extern void object::Test( )
+\s;{
+\s; float value;
+\s; value = Mean(2, 6);
+\s; message( value ); // will display 4
+\s;}
+\n;
+Пример¦:
+\c;
+\s;float Pi( )
+\s;{
+\s; return 3.1415;
+\s;}
+\s;
+\s;string Sign( float a )
+\s;{
+\s; if ( a > 0 ) return "positive";
+\s; if ( a < 0 ) return "negative";
+\s; return "null";
+\s;}
+\n;
+вы также можете объявить несколько функций с одинаковыми именами, но разными параметрами¦:
+\c;
+\s;float Pythagoras( float a, float b )
+\s;{
+\s; return sqrt((a*a)+(b*b));
+\s;}
+\s;
+\s;float Pythagoras( float a, float b, float c )
+\s;{
+\s; return sqrt((a*a)+(b*b)+(c*c));
+\s;}
+\n;
+CBOT будет вызывать ту или иную функцию так, что вызов будет зависеть отт параметров.
+Вы также можете объявить функцию \l;общедоступной\u cbot\public;, так что ее смогут использовать остальне боты.
+
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/goto.txt b/help/cbot/R/goto.txt
new file mode 100644
index 00000000..f2a1db6e
--- /dev/null
+++ b/help/cbot/R/goto.txt
@@ -0,0 +1,35 @@
+\b;Инструкция \c;goto\n;
+Инструкция \c;goto();\n; приказывает боту достигнуть означенной позиции.
+
+\b;Основное использование
+Самое распространенное использование состоит в том, чтобы переместить бот к обьекту, обнаруженному с помощью инструкции \c;\l;radar\u cbot\radar;();\n;. Если информация, добытая инструкцией \c;\l;radar\u cbot\radar;();\n; помещена в определенную переменную, напишите имя этой переменной, а за ним \c;.position\n;, чтобы получить местоположение обьекта. Ниже приведен пример программы, которая ищет \l;титановый куб\u object\titan;, идет в его местоположение и берет его:
+\c;
+\s; item = \l;radar\u cbot\radar;(Titanium);
+\s; goto(item.position);
+\s; \l;grab\u cbot\grab;();
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;goto ( position, altitude, goal, crash );\n;
+
+Приказывает роботу двигаться к выбранной позиции, избегая все препятствия, если это возможно.
+
+\t;pos: \c;\l;point\u cbot\point;\n;
+Координаты позиции цели.
+
+\t;altitude: \c;\l;float\u cbot\float;\n;
+Высота полета для \l;летающих ботов\u object\botgj;. Высота имеет смысл только для \l;летающих ботов\u object\botgj;. От начальной высоты, бот забирается выше, пока не достигнет назначенной высоты. Когда он окажется близко к цели, он спускается и приземляется в назначенном месте. Если значение высоты не задано, по умолчанию принимается значение 10 метров. На очень коротких дистанциях, даже летающий бот останется на земле. Для всех ботов за исключением летающих, этот параметр игнорируется.
+
+\t;goal: \c;\l;int\u cbot\int;\n; (по умолчанию \c;0\n;)
+Этот параметр говорит боту, каким образом он должен достичь цели:
+\c;0\n; остановка прямо в позиции цели
+\c;1\n; подходит близко к позиции цели, не останавливаясь.
+Если нет значение по умолчанию, \c;1\n; (точность) является значением по умолчанию.
+
+\t;Возвратное значение: \c;\l;int\u cbot\int;\n;
+Обычно в случае ошибки программа останавливается. Вы можете приказать программе не останавливаться, с помощью инструкции \c;\l;errmode\u cbot\errmode;(0)\n;. Тогда в случае ошибки инструкция \c;goto()\n; возвращает значение отличное от нуля.
+\c;== 0 \n;Достиг позиции цели
+\c;!= 0 \n;Невозможно достичь позиции цели
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/grab.txt b/help/cbot/R/grab.txt
new file mode 100644
index 00000000..207cc349
--- /dev/null
+++ b/help/cbot/R/grab.txt
@@ -0,0 +1,29 @@
+\b;Инструкция \c;grab\n;
+Инструкция \c;grab();\n; приказывает боту использовать рабочую руку для взятия предмета лежащего на земле, на платформе здания или на месте размещения энергобатареи бота.
+
+\b;Основное использование
+Инструкция \c;grab();\n; написанная в данноц форме, забирает обьект лежащий перед ботом. Вот пример короткой программы, которая забирает предмет, лежащий перед ботом и кладет его на 5 метров дальше:
+\c;
+\s; grab();
+\s; \l;move\u cbot\move;(5);
+\s; \l;drop\u cbot\drop;();
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;grab ( oper );\n;
+
+Эта инструкция обращается к рабочей руке \l;сборщика\u object\botgr;, чтобы взять ближайший обьект.
+
+\t;oper: \c;\l;int\u cbot\int;\n; (default value\c;InFront\n;)
+Oper означает, что бот должен сначала отыскать обьект. Если это не обозначить, подбирается обьект прямо перед ботом.
+\c;InFront \n; Берет пере собой (по умолчанию).
+\c;Behind \n; Берет позади.
+\c;EnergyPack\n; Берет свою свою собственную батарею.
+
+\t;Возвратное значение: \c;\l;int\u cbot\int;\n;
+Обычно в случае ошибки программа останавливается. Вы можете приказать программе не останавливаться, с помощью инструкции \c;\l;errmode\u cbot\errmode;(0)\n;. Тогда в случае ошибки инструкция \c;grab()\n; возвращает значение отличное от нуля.
+\c;== 0 \n;обьект был взят
+\c;!= 0 \n;ошибка, обьект не был взят
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/if.txt b/help/cbot/R/if.txt
new file mode 100644
index 00000000..b52826b0
--- /dev/null
+++ b/help/cbot/R/if.txt
@@ -0,0 +1,40 @@
+\b;Инструкции \c;if\n; и \c;else\n;
+Инструкция \c;if() {}\n; выполняет набор инструкций только если выполняется определенное условие. Напишите условие в скобках \c;()\n;, а инструкции в квадратных скобках \c;{}\n;.
+
+\b;Основное использование
+Вот вам конкретный пример: Бот станет стрелять, только если цель находится ближе чем в 40 метрах:
+\c;
+\s; item = \l;radar\u cbot\radar;(AlienAnt);
+\s; if (\l;distance\u cbot\dist;(position, item.position) < 40)
+\s; {
+\s; fire(1);
+\s; }
+\n;
+Вы также можете проверить, существует ли обьект вообще. Если инструкция \c;\l;radar\u cbot\radar;();\n; не находит требуемый обьект, она возвращает значение \c;null\n;. Поэтому вы можете проверить наличие обьекта с помощью условия \c;(item == null)\n;, или с помощью \c;(item != null)\n;. Два знака равенства \c;==\n; проверяют равность, знак восклицания, за которым идет знак равенства \c;!=\n; проверяют неравенство. Вот тестовая программа, которая отправит бот на перезарядку \l;энергобатареи\u object\power; только в случае наличия \l;электростанции\u object\station;:
+\c;
+\s; item = \l;radar\u cbot\radar;(PowerStation);
+\s; if (item != null)
+\s; {
+\s; \l;goto\u cbot\goto;(item.position);
+\s; \l;wait\u cbot\wait;(5);
+\s; }
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;if ( условие )
+\s;{
+\s; \n;Инструкции A ...\c;
+\s;}
+\s;else
+\s;{
+\s; \n;Инструкции B ...\c;
+\s;}
+\n;
+Данной условной структурой вы можете выполнить \l;блок\u cbot\bloc; A или \l;блок\u cbot\bloc; B в зависимости от \l;условия\u cbot\cond;. Если условие выполняется, блок A выполняется. Если условие не выполняется, то выполняется блок B.
+Part \c;else { }\n; is not compulsory.
+
+\t;Внимание
+Не следует ставить двоеточие \l;semicolon\u cbot\term; в конце строки \c;if ( )\n;.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/int.txt b/help/cbot/R/int.txt
new file mode 100644
index 00000000..50e542d8
--- /dev/null
+++ b/help/cbot/R/int.txt
@@ -0,0 +1,20 @@
+\b;Тип \c;int\n;
+Используйте этот тип для переменных содержащих только целые числа, положительные и отрицательные. Например:
+\c;
+\s; 12
+\s; 1000
+\s; -4
+\n;
+Чтобы представить числа подобные 12.05 или -0.005, исползуйте тип \c;\l;float\u cbot\float;\n;.
+
+\t;Внимание
+Не ставьте пробел или запятую внутри числа.
+
+\t;Для специалистов
+Числа типа \c;int\n; представлены в 32 битах.
+Наибольшее число, которое можно представить (2^31)-1, это 2'147'483'647.
+Наименьшее число, которое можно представить -(2^31), this is -2'147'483'648.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/jet.txt b/help/cbot/R/jet.txt
new file mode 100644
index 00000000..2be6a14d
--- /dev/null
+++ b/help/cbot/R/jet.txt
@@ -0,0 +1,16 @@
+\b;Инструкция \c;jet\n;
+Синтаксис:
+\s;\c;jet ( сила );\n;
+
+Прямое управление реактивным двигателем \l;крылатого бота\u object\botgj;. Именно двигатель заставляет бот перемещаться. Используйте эту инструкцию, чтобы подыматься, опускаться или приземляться.
+
+\t;power: \c;\l;float\u cbot\float;\n;
+Сила двигателся, варьируется между \c;-1\n; и \c;+1\n;. \c;jet(1);\n; приказывает боту подняться как можно выше, \c;jet(-1);\n; опускается как можно быстрее, \c;jet(0);\n; стабилизирует высоту. Чтобы изменять высоту медленее, используйте средние значения, наприер \c;jet(0.3);\n;.
+
+
+\t;Возвратное значение: \c;\l;void\u cbot\void;\n;
+Нет.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/message.txt b/help/cbot/R/message.txt
new file mode 100644
index 00000000..1f3d5a38
--- /dev/null
+++ b/help/cbot/R/message.txt
@@ -0,0 +1,25 @@
+\b;Инструкция \c;message\n;
+Синтаксис:
+\s;\c;message ( text, type );\n;
+
+Выводит сообщение сверху экрана. Через несколько секунд сообщение автоматически исчезает.
+
+\t;text: \c;\l;string\u cbot\string;\n;
+Текст, который требуется отобразить. Возможно присоединять несколько кусков текста и/или значение с оператором \c;+\n;:
+\c;message("не найден");\n;
+\c;message(angle);\n;
+\c;message(n + " обьект(ы) найден");\n;
+\c;message("Расстояние = " + расст + " метров");\n;
+
+\t;type: \c;\l;int\u cbot\int;\n; (default value \c;DisplayMessage\n;)
+ТИп сообщения, определяющий фоновый цвет.
+o \c;DisplayMessage\n; Стандартное сообщение нажелтом фоне.
+o \c;DisplayInfo \n; Информация на зеленом фоне.
+o \c;DisplayWarning\n; Предупреждение на синем фоне.
+o \c;DisplayError \n; Ошибка на красном фоне.
+
+\t;возвратное значение: \c;\l;void\u cbot\void;\n;
+Нет.
+
+\t;См. также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/motor.txt b/help/cbot/R/motor.txt
new file mode 100644
index 00000000..1d9ff8f8
--- /dev/null
+++ b/help/cbot/R/motor.txt
@@ -0,0 +1,39 @@
+\b;Инструкция \c;motor\n;
+Инструкция \c;motor( , );\n; устанавливает скорости для правого и левого двигателей бота.
+
+\b;Основное использование
+Указанная моторам скорость будет оставаться постоянной во время выполнения последующих инструкций. Благодаря этой характеристике можно выполнять вращение во время выполнения инструкции \c;\l;fire\u cbot\fire;();\n;. Это позволит накрыть целую зону местности одной очередью. Вот пример того, как можно накрыть зону перед ботом:
+\c;
+\s; \l;turn\u cbot\turn;(45); // поворачивает на 45 градусов влево
+\s; motor(0.5, -0.5); // медленное вращение вправо
+\s; \l;fire\u cbot\fire;(2); // огонь
+\s; motor(0,0); // остановка вращения
+\n;
+Так как левый двигатель на половине скорости поворачивается вперед, а правый двигатель на половине скорости поворачивается назад, так что бот медленно поворачивается во время 2-секундной очереди.
+
+\b;Для специалистов
+Синтаксис :
+\s;\c;motor ( налево, направо );\n;
+
+Дает инструкции о скорости движения правому и левому двигателям робота. Двигатели будут поддерживать постоянную скорость до тех пор. пока двигателям не будет отдана новая инструкция, или пока не будут отданы инструкции \c;\l;move\u cbot\move;\n;, \c;\l;turn\u cbot\turn;\n; или \c;\l;goto\u cbot\goto;\n;.
+
+\t;налево: \c;\l;float\u cbot\float;\n;
+Дает инструкцию о скорости левого двигателя; значение должно быть в пределах от -1 до 1.
+
+\t;направо: \c;\l;float\u cbot\float;\n;
+Дает инструкцию о скорости правого двигателя; значение должно быть в пределах от -1 до 1.
+
+Примеры :
+\c;motor(1, 1);\n; Двигается вперед с наибольшей возможной скоростью.
+\c;motor(-0.5, -0.5);\n; двигается назад на половине скорости.
+\c;motor(1, -1);\n; со всей возможной скоростью поворачивается направо.
+
+Замечание :
+\c;motor(2, 2);\n; будет двигаться вперед не быстрее, чем \c;motor(1, 1)\n;
+\c;motor(-2, -2);\n; будет двигаться назад не быстрее, чем \c;motor(-1, -1)\n;
+
+\t;Возвращаемое значение: \c;\l;void\u cbot\void;\n;
+Нет.
+
+\t;Смотри также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/move.txt b/help/cbot/R/move.txt
new file mode 100644
index 00000000..525a8138
--- /dev/null
+++ b/help/cbot/R/move.txt
@@ -0,0 +1,22 @@
+\b;Инструкция \c;move\n;
+Инструкция \c;move();\n; приказывает боту двигаться вперед или назад, придерживаясь той же ориентации. В скобках вы должны указать дальность перемещения в метрах.
+
+\b;Основное использование
+Если вы хотите, чтобы бот переместился вперед на 30 метро, то напишите \c;move(30);\n;. Чтобы отправить бота назад после того, как он бросил кусок \l;титаниумовой руды\u object\titanore; в \l;преобразователь\u object\convert;, напишите \c;move(-2.5);\n;.
+
+\b;Для специалистов
+Синтаксис:
+\s;\c;move ( дальность );\n;
+
+Двигается вперед или назад на указанное расстояние, всегда выдерживая текущую ориентацию бота.
+
+\t;дальность: \c;\l;float\u cbot\float;\n;
+Дальность перемещения в метрах. Отрицательное значение заставляет его двигаться назад.
+
+\t;Возвращаемое значение: \c;\l;int\u cbot\int;\n;
+Обычно ошибка останавливает выполнение программы. Вы можете предотвратить остановку работы программы при появлении ошибок, используя инструкцию \c;\l;errmode\u cbot\errmode;(0)\n;. В том случае, если возникла ошибка, \c;move()\n; возвращает значение, отличное от нуля.
+\c;== 0 \n;Произведено передвижение
+\c;!= 0 \n;ошибка, инструкция не была выполнена соответствующим образом
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/nan.txt b/help/cbot/R/nan.txt
new file mode 100644
index 00000000..dbed8a3c
--- /dev/null
+++ b/help/cbot/R/nan.txt
@@ -0,0 +1,16 @@
+\b;Тип \c;nan\n;
+Это особое значение показывает, что \l;переменная\u cbot\var; типа \c;\l;int\u cbot\int;\n; или \c;\l;float\u cbot\float;\n; не содержит число, она не содержит "ничего".
+Например если инструкция \c;\l;receive\u cbot\receive;\n; не может получить запрашиваемую информацию, то она возвращает \c;nan\n; :
+\c;
+\s; value = receive("Length");
+\s; if ( value == nan ) // не найдена ?
+\s; {
+\s;
+\s; }
+\n;
+\t;Словарь
+\c;nan\n; = Не число
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/new.txt b/help/cbot/R/new.txt
new file mode 100644
index 00000000..ffa47c89
--- /dev/null
+++ b/help/cbot/R/new.txt
@@ -0,0 +1,21 @@
+\b;Инструкция \c;new\n; (для специалистов)
+Оператор \c;new\n; создает новый \l;класс\u cbot\class;:
+\c;\s; MyClass item; // переменная item пуста
+\s; item = new MyClass(); // теперь item - это ссылка
+\s; // в новый экземпляр класса
+\n;
+Если вы хотите создать новый экземпляр для объявления \c;new\n;, то на время можно опустить () после объявления:
+
+Вместо:
+\c;\s; MyClass item = new MyClass();
+\n;вы можете написать:
+\c;\s; MyClass item();
+\n;
+Если ваш класс имеет конструктор с параметрами, то вы можете написать так:
+\c;\s; MyClass item = new MyClass(2, 3);
+\n;или:
+\c;\s; MyClass item(2, 3);
+\n;
+\t;См. также
+\c;\l;class\u cbot\class;\n;, \c;\l;reference\u cbot\pointer;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/null.txt b/help/cbot/R/null.txt
new file mode 100644
index 00000000..c2862188
--- /dev/null
+++ b/help/cbot/R/null.txt
@@ -0,0 +1,6 @@
+\b;Тип \c;null\n;
+Это особое значение показывает, что объект не существует.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/object.txt b/help/cbot/R/object.txt
new file mode 100644
index 00000000..db502ed0
--- /dev/null
+++ b/help/cbot/R/object.txt
@@ -0,0 +1,66 @@
+\b;Тип \c;object\n;
+Используйте этот тип для переменных, которые должны содержать характеристики объекта, это может быть бот, здание, какие природные ископаемые, враг и так далее.
+
+\c;\l;int\u cbot\int; object.category \n;\l;Категория\u cbot\category; объекта
+\c;\l;point\u cbot\point; object.position \n;Положение объекта (x,y,z)
+\c;\l;float\u cbot\float; object.orientation \n;Ориентация объекта (0..360)
+\c;\l;float\u cbot\float; object.pitch \n;Передний/задний угол объекта
+\c;\l;float\u cbot\float; object.roll \n;Правый/левый угол объекта
+\c;\l;float\u cbot\float; object.energyLevel \n;Уровень энергии (0..1)
+\c;\l;float\u cbot\float; object.shieldLevel \n;Уровень полей (0..1)
+\c;\l;float\u cbot\float; object.temperature \n;Температура двигателя (0..1)
+\c;\l;float\u cbot\float; object.altitude \n;Высота над землей
+\c;object object.energyPack \n;Энергетические ячейки бота
+\c;object object.load \n;Объект, который несет бот
+
+\s;\c;category\n;
+\n;\l;Категория\u cbot\category; объекта позволяет вам узнать, что это такое, то есть например какой это вид бота, здания, врага и так далее.
+
+\s;\c;position\n;
+Положение объекта на планете в метрах. Координаты \c;x\n; и \c;y\n; соответствуют положению на карте, а координата \c;z\n; соответствует высоте над (и соответственно под) уровнем моря.
+
+\s;\c;orientation\n;
+Ориентация объекта в градусах. Ориентация говорит вам о том, в каком направлении смотрит объект. Ориентация \c;0\n; соответствует объекту. который смотрит на восток, таким образом следуя положительному направлению оси \c;x\n;. Ориентация измеряется против часовой стрелки.
+
+\s;\c;pitch\n;
+Передний/задний угол робота. Уклон равный \c;0\n; означает, что бот стоит на ровно поверхности. Положительный наклон означает, что он смотрит вверх, а отрицательный, что он смотрит вниз.
+
+\s;\c;roll\n;
+Левый/правый угол бота в градусах. Положительное значение значит, что бот наклонен на левый бок, а отрицательное, что он клонится на правый бок.
+
+\s;\c;energyLevel\n;
+Уровень энергии может быть от 0 до 1. Обычная \l;энергетическая ячейка\u object\power;, которая полностью заряжена, будет возвращать значение \c;1\n;. \l;Ядерная энергетическая ячейка\u object\atomic; тоже не будет возвращать значение больше 1, просто это значение будет держаться дольше. Внимание: энергетический уровень бота всегда равен нулю, так как энергия содержится не в боте, а в энергетической ячейке. Чтобы определить энергетический уровень энергетической ячейки бота, вы должны написать \c;energyPack.energyLevel\n;.
+
+\s;\c;shieldLevel\n;
+Уровень полей робота или здания. Уровень \c;1\n; показывает, что поля превосходны. Каждый раз, когда по боту или зданию попадает пуля или же он сталкивается с другим объектом, уровень полей уменьшается. Когда уровень становится равным \c;0\n;, первая же пуля или столкновение приведут к уничтожению бота или здания.
+Боты могут перезаряжать свои поля в \l;центре починки\u object\repair;. Поля здания восстанавливаются, если оно помещается внутрь защитной сферы \l;полевика\u object\botshld;.
+
+\s;\c;temperature\n;
+Температура реактивной струи \l;летающих ботов\u object\botgj;. \c;0\n; соответствует холодной струе. При их использовании температура растет по прогрессии. Когда она достигает значения \c;1\n;, двигатель перенагревается и прекращает работать до тех пор, пока немного не остынет.
+
+\s;\c;altitude\n;
+Координата положения \c;z\n; показывает высоту над уровнем моря, то есть \c;высота\n; показывает высоту над землей. Это значение имеет смысл только для \l;летающих ботов\u object\botgj; и для \l;ос\u object\wasp;. Для всех остальных объектов это значение равно нулю.
+
+\s;\c;energyPack\n;
+Это особая информация, так как она возвращает информацию о другом объекте, в данном случае о энергетическом заряде. Это означает, что energyPack содержит все характеристики обычного объекта, например \c;категорию\n; (PowerCell или NuclearCell), \c;положение\n; (положение ячейки) и так далее.
+Если вы хотите определить энергетический уровень робота, то вы должны проверить не \c;energyLevel\n;, а \c;energyPack.energyLevel\n;.
+Если у бота нет энергетической ячейки, то \c;energyPack\n; вернет \c;null\n;.
+
+\s;\c;load\n;
+Эта информация также вернет описание целого объекта: описание объекта, который несет \l;несущий\u object\botgr;. Если он ничего не несет, то \c;load\n; вернет \c;null\n;.
+
+\b;Примеры
+Тип \c;object\n; возвращает особое значение \c;\l;null\u cbot\null;\n;, когда объект не существует. Например:
+\c;
+\s; object a;
+\s; a = radar(BotGrabberRoller);
+\s; if ( a == null ) // объект не существует ?
+\s; {
+\s; }
+\s; if ( a.position.z > 50 ) // он на горе ?
+\s; {
+\s; }
+\n;
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/open.txt b/help/cbot/R/open.txt
new file mode 100644
index 00000000..eeaa8fb2
--- /dev/null
+++ b/help/cbot/R/open.txt
@@ -0,0 +1,20 @@
+\b;Инструкция \c;open\n;
+Открывает текстовой файл. Это метод класса \c;\l;file\u cbot\file;\n;. Это причина, почему мы всегда пишем \c;handle.open()\n;¦:
+\c;
+\s; handle.open("test.txt", "w");
+\n;
+Для открытия файла необходимо выполнить¦:
+\c;
+\s; file handle();
+\s; handle.open("filename", "w");
+\s; handle.writeln("abc");
+\s; handle.close();
+\n;
+\c;"r"\n; mode: открыть для чтения.
+\c;"w"\n; mode: открыть для записи.
+
+Файлы могут находиться только в папке с установленной игрой.
+
+\t;См. также
+\c;\l;file\u cbot\file;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n;, \c;\l;writeln\u cbot\writeln;\n; and \c;\l;eof\u cbot\eof;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/openfile.txt b/help/cbot/R/openfile.txt
new file mode 100644
index 00000000..beb2903f
--- /dev/null
+++ b/help/cbot/R/openfile.txt
@@ -0,0 +1,11 @@
+\b;Инструкция \c;openfile\n;
+\c;openfile();\n; открывает файл. Это не метод класса \c;\l;file\u cbot\file;\n;, однако openfile возвращает \l;ссылку\u cbot\pointer; для нового экземпляра класса. Вы должны указать два параметра - имя файла и режим открытия.
+\c;
+\s;file handle = openfile("filename", "r");
+\n;
+\c;"r"\n; mode: открыть для чтения.
+\c;"w"\n; mode: открыть для записи.
+
+
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/point.txt b/help/cbot/R/point.txt
new file mode 100644
index 00000000..2ad026d8
--- /dev/null
+++ b/help/cbot/R/point.txt
@@ -0,0 +1,36 @@
+\b;Тип \c;point\n;
+Переменные этого типа содержат координаты точки в пространстве. Этот тип состоит из трех значений, которые представляют собой \c;x\n;, \c;y\n; и \c;z\n; координаты.
+\c;x\n; и \c;y\n; соответствуют месту на поверхности. Положительная ось \c;x\n; смотрит на восток, положительная ось \c;y\n; смотрит на север.
+Значение \c;z\n; соответствует высоте над уровнем моря.
+
+Если вы хотите объявить переменную типа point, вы должны написать:
+\c;
+\s; point a (10, 20, 30);
+\n;
+Вы также можете присвоить переменной значение поочередным присвоением значений:
+\c;
+\s; point b;
+\s; b.x = 10;
+\s; b.y = 20;
+\s; b.z = 30;
+\n;
+После этого примера следующее \l;условие\u cbot\cond; будет правдивым:
+\c;
+\s; if ( a == b )
+\s; {
+\s; }
+\n;
+Следующее объявление:
+\c;
+\s; point c (4, 7);
+\n;
+Эквивалентно:
+\c;
+\s; point c;
+\s; c.x = 4;
+\s; c.y = 7;
+\s; c.z = 0;
+\n;
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/pointer.txt b/help/cbot/R/pointer.txt
new file mode 100644
index 00000000..c70c351b
--- /dev/null
+++ b/help/cbot/R/pointer.txt
@@ -0,0 +1,53 @@
+\b;Ссылки (для специалистов)
+CBOT использует ссылки для \l;классов\u cbot\class; и \l;массивов\u cbot\array;. Любой класс содержит в себе ссылку на данный экземпляр. Экземпляр на самом деле содержит в себе ячейки классов. Некоторые ссылки могут ссылаться на ту же функцию. \c;\l;null\u cbot\null;\n; ссылка не ссылается ни на что. Например, каждый раз, когда нам нужет новый чемодан, мы создаем новый экземпляр перевозчика. Но чемодан может перевозиться более чем на одном носителе. Перевозчик, не имеющий груза имеет \c;\l;null\u cbot\null;\n; ссылку.
+
+Например:
+\c;\s;{
+\s; MyClass item1(); // создать новый экземпляр
+\s; // ссылающийся на item1
+\s; MyClass item2; // создаем нулевую ссылку
+\s; item2 = item1; // копируем ссылку,
+\s; // item2 and item1 теперь ссылки
+\s; // какого-то экземпляра
+\s; item1.a = 12; // изменяем экземпляр
+\s; // ссылающийся на item1 (и item2)
+\s; message(item2.a);// выводим 12
+\s;}
+\n;
+Если вы передадите функции \l;класс\u cbot\class; как параметр, то функция получит только ссылку на экземпляр. Это означает, что если изменить значение ссылки в функции, то изменение на самом деле произойдет.
+
+\c;\s;void Test( MyClass item )
+\s;{
+\s; item.a = 12; // изменяем локальный экземпяр
+\s; item = new MyClass(); // создаем новый
+\s; item.a = 33; // изменяем локальный экземпяр
+\s;}
+\n;
+Вызов функции \c;Test()\n;¦:
+\c;\s;{
+\s; MyClass toto();
+\s; Test(toto);
+\s; message(toto.a); // выводим 12
+\s;}
+\n;
+Экземпляр, содержащий поле \c;a = 33\n; ссылается на более новый экземпляр \c;item\n; внутри функции \c;Test\n;. В конце функции \c;Test\n; недавно созданная ссылка \c;item\n; будет автоматически удалена.
+
+Функция может возвратить экземпляр¦:
+\c;\s;MyClass Test2( )
+\s;{
+\s; MyClass item = new MyClass();
+\s; item.x = 33;
+\s; return item;
+\s;}
+\n;
+Вызов функции, как здесь:
+\c;\s;{
+\s; MyClass toto;
+\s; toto = Test2(); // toto содержит ссылку на
+\s; // созданный экземпляр Test2()
+\s; message(toto.a); // выводим 33
+\s;}
+\n;
+\t;См. также
+\c;\l;class\u cbot\class;\n;, \c;\l;new\u cbot\new;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/private.txt b/help/cbot/R/private.txt
new file mode 100644
index 00000000..454ce63b
--- /dev/null
+++ b/help/cbot/R/private.txt
@@ -0,0 +1,19 @@
+\b;Инструкция \c;private\n; (for specialists)
+Члены \l;класса\u cbot\class; могут быть \l;общедоступны\u cbot\public; (по-умолчанию) или личными. Член может быть объявлен частным, если поставить \c;private\n; до объявления элемента. Личные(локальные) члены не доступны извне для других классов.
+\c;
+\s;public class MyClass
+\s;{
+\s; int b; // общедоступна по-умолчанию
+\s; public int a; // всегда общедоступна
+\s; private point position; // локальная/личная
+\s;}
+\s;void Test()
+\s;{
+\s; MyClass item;
+\s; item.a = item.b = 12; // ок
+\s; message( item.position ); // это ошибка
+\s;}
+\n;
+\t;См. также
+\c;\l;class\u cbot\class;\n;, \c;\l;public\u cbot\public;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/public.txt b/help/cbot/R/public.txt
new file mode 100644
index 00000000..9bf3ac37
--- /dev/null
+++ b/help/cbot/R/public.txt
@@ -0,0 +1,50 @@
+\b;Инструкция \c;public\n; (для специалистов)
+Эта команда имеет две различные цели¦:
+
+1) Сделать функцию доступной для других ботов.
+2) Сделать член класса доступным извне для других классов.
+
+\b;Инструкция \c;public\n; для функций
+Еслы вы напишете \c;public\n; перед определением \l;функциии\u cbot\function;, то вы сможете сделать эту программу доступной для других ботов.
+Например, вот программа первого бота¦:
+\c;
+\s;public void object::Segment(float dist, float angle)
+\s;{
+\s; move(dist);
+\s; turn(angle);
+\s;}
+\n;
+А в другом боте мы имеем¦:
+\c;
+\s;extern void object::Square( )
+\s;{
+\s; for ( int i=0 ; i<4 ; i++ )
+\s; {
+\s; Segment(10, 90);
+\s; Fire(1);
+\s; }
+\s;}
+\n;
+Если вы объявили функцию \c;общедоступной\n;, то вы сможете использовать ее в других миссиях.
+
+Если бот, содержащий \c;общедоступную\n; функцию будет уничтожен, то другие боты, использовавшие ее будут остановлены с ошибкой.
+
+\b;Инструкция \c;public\n; для классов
+Член \l;класса\u cbot\class; может быть общедоступен (по-умолчанию) или \l;быть личным\u cbot\private;. Член может быть объявлен локальным с помощью \c;private\n;, написав это перед самим членом. Закрытые члены будут недоступны извне для других классов.
+\c;
+\s;public class MyClass
+\s;{
+\s; int b; // общедоступно по-умолчанию
+\s; public int a; // всегда общедоступно
+\s; private point position; // личная
+\s;}
+\s;void Test()
+\s;{
+\s; MyClass item;
+\s; item.a = item.b = 12; // ок
+\s; message( item.position ); // это ошибка
+\s;}
+\n;
+\t;См. также
+\c;\l;class\u cbot\class;\n;, \c;\l;private\u cbot\private;\n;, \c;\l;functions\u cbot\function;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/radar.txt b/help/cbot/R/radar.txt
new file mode 100644
index 00000000..d1f7147e
--- /dev/null
+++ b/help/cbot/R/radar.txt
@@ -0,0 +1,60 @@
+\b;Инструкция \c;radar\n;
+С помощью инструкции \c;radar()\n; вы можете следить за такими объектами как \l;враги\u object\mother;, боты, здания или природные ископаемые.
+
+\b;Основное использование
+В скобках напишите \l;название объекта\u cbot\category;, который вы ищете. Поместите результат в переменную \l;типа\u cbot\type; \c;объекта\n;. Вот пример поиска ближайшего муравья:
+\c;
+\s;// В начале программы:
+\s;object item; // объявление переменной
+\s;
+\s;// Поиск ближайшего муравья
+\s;item = radar(AlienAnt);
+\n;
+\b;Для специалистов
+Синтаксис:
+\s;\c;radar ( категория, угол, фокус, мин, макс, путь );\n;
+
+Обнаруживает объект в соответствии с несколькими параметрами.
+
+\image radar1 8 8;
+Как видно выше, пурпурная зона соответствует зоне, где будут обнаружены объекты.
+
+\t;категория: \c;\l;int\u cbot\int;\n;
+\l;Категория\u cbot\category; объекта, который нужно обнаружить. Например когда вы ищете муравья, напишите \c;radar (AlienAnt)\n;.
+
+\t;угол: \c;\l;float\u cbot\float;\n; (значение по умолчанию\c;0\n;)
+Направление, в котором смотрит радар, в градусах.
+\c; 0\n; -> радар смотрит прямо вперед
+\c;-90\n; -> радар смотрит на четверть круга вправо
+\c; 90\n; -> радар смотрит на четверть круга влево
+
+\t;фокус: \c;\l;float\u cbot\float;\n; (значение по умолчанию\c;360\n;)
+Угол раскрытия радара в градусах.
+
+\t;мин: \c;\l;float\u cbot\float;\n; (значение по умолчанию \c;0\n;)
+Минимальное расстояние обнаружения в метрах. Объекты, которые находятся на расстояниях меньших, чем минимальное расстояние, обнаружены не будут.
+
+\t;макс: \c;\l;float\u cbot\float;\n; (Значение по умолчанию\c;1000\n;)
+Максимальное расстояние обнаружения в метрах. Объекты, которые находятся на расстояниях, больше максимального расстояния, обнаружены не будут.
+
+\t;путь: \c;\l;float\u cbot\float;\n; (значение по умолчанию\c;1\n;)
+Определяет каким образом будут обнаруживаться объекты. Если его значение \c;1\n;, то будет возвращен ближайший объект в указанной зоне. Если значение \c;-1\n;, то будет возвращен самый дальний объект в зоне обнаружения.
+
+\t;Возвращаемое значение: \c;\l;object\u cbot\object;\n;
+Возвращает первый найденный объект, который соответствует указанной категории в указанной зоне. Если объект найден не был, то возвращается значение \c;\l;null\u cbot\null;\n;.
+
+\t;Замечание
+Вы не должны указывать все параметры. Вот два примера эквивалентных инструкций:
+\c;
+\s; radar(Titanium, 0, 360, 0, 1000);
+\s; radar(Titanium); // эквивалентна предыдущей
+
+\s; radar(Titanium, 0, 90, 0, 1000);
+\s; radar(Titanium, 0, 90); // эквивалентна предыдущей
+\n;
+Когда не определен один или более параметров, то используются указанные выше значения по умолчанию; обязателен только первый параметр.
+Обычно указывается только первый параметр: например \c;radar (AlienAnt)\n; обнаружит ближайшего муравья, где бы он ни был.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/readln.txt b/help/cbot/R/readln.txt
new file mode 100644
index 00000000..9cacdb10
--- /dev/null
+++ b/help/cbot/R/readln.txt
@@ -0,0 +1,20 @@
+\b;Инструкция \c;readln\n;
+Читает одну строку из файла. это метод класса \c;\l;file\u cbot\file;\n;. Это причина, почему мы всегда пишем \c;handle.readln()\n;¦:
+\c;
+\s; s = handle.readln();
+\n;
+Файл должен быть октрыть на чтение (\c;"r"\n;) с помощью инструкции \c;\l;open\u cbot\open;\n;. \c;readln\n; возвращает строку, содержащую линию, но юез символа конца линии 0x0D (CR) и 0x0A (LF).
+
+Синтаксис¦:
+\s;\c;string = handle.readln ( );\n;
+
+Пример¦:
+\c;
+\s; string s;
+\s; s = handle.readln();
+\s; if ( s == "abc" )
+\s; ...
+\n;
+\t;См. также
+\c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;writeln\u cbot\writeln;\n; and \c;\l;eof\u cbot\eof;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/receive.txt b/help/cbot/R/receive.txt
new file mode 100644
index 00000000..efb11974
--- /dev/null
+++ b/help/cbot/R/receive.txt
@@ -0,0 +1,14 @@
+\b;Инструкция \c;receive\n;
+Синтаксис:
+\s;\c;receive ( имя );\n;
+
+Получает информацию от ближайшего \l;поста обмена информацией\u object\exchange;.
+
+\t;имя: \c;string\n;
+Вид информации, которая нужна от поста обмена. Имя это строка: при написании его нужно брать в пометки " ".
+
+\t;Возвращаемое значение: \c;\l;float\u cbot\float;\n;
+Значение полученной информации. Если вблизи нет ни одного поста обмена, или на посте обмена нет вида запрошенной информации, то возвращается значение \c;nan\n;.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/recycle.txt b/help/cbot/R/recycle.txt
new file mode 100644
index 00000000..ca060ad5
--- /dev/null
+++ b/help/cbot/R/recycle.txt
@@ -0,0 +1,14 @@
+\b;Инструкция \c;recycle\n;
+Синтаксис:
+\s;\c;recycle ( );\n;
+
+Превращает брошенного бота перед \l;превращающим\u object\botrecy; в \l;титановый куб\u object\titan;.
+
+\t;Возвращаемое значение: \c;\l;int\u cbot\int;\n;
+Если все нормально, то возвращает ноль, если же возникла ошибка, то какое-то число.
+\c;== 0 \n;брошенный бот был превращен
+\c;!= 0 \n;ошибка, брошенного бота нельзя переработать
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/retobj.txt b/help/cbot/R/retobj.txt
new file mode 100644
index 00000000..8cd4a35d
--- /dev/null
+++ b/help/cbot/R/retobj.txt
@@ -0,0 +1,15 @@
+\b;Инструкция \c;retobject\n;
+Синтаксис:
+\s;\c;retobject ( число );\n;
+
+Возвращает объект, соответствующий указанному числу.
+
+\t;число: \c;\l;int\u cbot\int;\n;
+Номер объекта может быть от 0 до n. "n" представляет собой общее количество объектов на сцене.
+
+\t;Возвращаемое значение: \c;\l;object\u cbot\object;\n;
+Объект соответствует числу. Если возвращаемое значение \c;\l;null\u cbot\null;\n;, то это означает, что этому числу не соответствует никакой объект, так как число слишком велико и на сцене нет такого количества объектов.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/return.txt b/help/cbot/R/return.txt
new file mode 100644
index 00000000..79828bfb
--- /dev/null
+++ b/help/cbot/R/return.txt
@@ -0,0 +1,12 @@
+\b;Инструкция \c;return\n;
+Синтаксис:
+\s;\c;void function ( )
+\s;{
+\s; return;
+\s;}
+\n;
+С помощью этой функции вы можете немедленно выйти за пределы функции.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/search.txt b/help/cbot/R/search.txt
new file mode 100644
index 00000000..ddd0eee7
--- /dev/null
+++ b/help/cbot/R/search.txt
@@ -0,0 +1,18 @@
+\b;Инструкция \c;search\n;
+Синтаксис:
+\s;\c;search ( категория, позиция );\n;
+
+Обнаруживает объект указанной категории, который ближе всего к указанной позиции.
+
+\t;категория: \c;\l;int\u cbot\int;\n;
+\l;Категория\u cbot\category; нужного объекта.
+
+\t;позиция: \c;\l;point\u cbot\point;\n;
+\c;search\n; возвращает объект указанной категории, который ближе всего к указанной здесь позиции.
+
+\t;Возвращаемое значение: \c;\l;object\u cbot\object;\n;
+Характеристики объекта, который был найден. Значение \c;\l;null\u cbot\null;\n; означает, что объект этой категории найден не был.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
+
diff --git a/help/cbot/R/send.txt b/help/cbot/R/send.txt
new file mode 100644
index 00000000..9c95d83b
--- /dev/null
+++ b/help/cbot/R/send.txt
@@ -0,0 +1,19 @@
+\b;Инструкция \c;send\n;
+Синтаксис¦:
+\s;\c;send ( name, value, power );\n;
+
+Передает информуцию на ближайший \l;пост обмена информации\u object\exchange;.
+
+\t;name: \c;string\n;
+Название информации, которая будет отправлена на пост обмена. Имя - это строка: она должна быть написана в кавычках "¦".
+Если есть информация с таким же названием, то новая запись будет создана, также общее количество записей не должно превышать 10. Если же такое же имя уже имеет информацию, то оно будет перезаписано.
+
+\t;value: \c;float\n;
+Значения для отправки.
+
+\t;power: \c;float\n;
+Сигнал. подающийся для отправки информации, от которого зависит и дистанця. Стандартное значение - это 10 метров.
+
+\t;См. также
+\c;\l;receive\u cbot\receive;\n;, \c;\l;testinfo\u cbot\testinfo;\n; and \c;\l;deleteinfo\u cbot\delinfo;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/shield.txt b/help/cbot/R/shield.txt
new file mode 100644
index 00000000..bb8c624a
--- /dev/null
+++ b/help/cbot/R/shield.txt
@@ -0,0 +1,19 @@
+\b;Инструкция \c;shield\n;
+Синтаксис:
+\s;\c;shield ( опер );\n;
+
+Активизирует или деактивизирует поля \l;полевика\u object\botshld;. Вы можете конечно передвигать полевика при активных щитах. Оно защищает от вражеского огня все объекты, которые находятся в сфере поля. Радиус сферы может меняться от 10 до 25 метров.
+
+\t;опер: \c;\l;float\u cbot\float;\n;
+\c;1\n; активизирует поле.
+\c;0\n; деактивизирует поле
+Обычная полностью заряженная \l;энергетическая ячейка\u object\power; может поддерживать поля на протяжении 20 секунд. Когда энергия заканчивается, поле снимается.
+
+\t;радиус: \c;\l;float\u cbot\float;\n;
+Радиус поля, который меняется от 10 до 25 метров.
+
+\t;Возвращаемое значение: \c;\l;void\u cbot\void;\n;
+Нет.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/sizeof.txt b/help/cbot/R/sizeof.txt
new file mode 100644
index 00000000..f339f107
--- /dev/null
+++ b/help/cbot/R/sizeof.txt
@@ -0,0 +1,22 @@
+\b;Инструкция \c;sizeof\n;
+Фунция sizeof позволяет узнать количестов элементов. содержащихся в \l;массиве\u cbot\array;.
+Т.е. индекс последнего элемента +1 ("пустые" элементы тоже считаются).
+\c;
+\s;{
+\s; int a[12];
+\s; a[5] = 345;
+\s; message( sizeof(a) ); // will display 6
+\s;}
+\n;
+В этом примере у нас есть 6 элементов в массиве после \c;a[5]=345\n;. Не инициализированные элементы - \c;[0]\n;, \c;[1]\n;, \c;[2]\n;, \c;[3]\n; и \c;[4]\n; будут посчитаны.
+
+С многомерными массивами вы можете получить размер суб массива:
+\c;
+\s;float xy[][]; // 2 одномерных массива
+\s;xy[5][10] = 67;
+\s;message( sizeof(xy) ); // выведем 6
+\s;message( sizeof(xy[5]) ); // выведем 11
+\s;
+\n;
+\t;См. также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/sniff.txt b/help/cbot/R/sniff.txt
new file mode 100644
index 00000000..34cd4d6d
--- /dev/null
+++ b/help/cbot/R/sniff.txt
@@ -0,0 +1,17 @@
+\b;Инструкция \c;sniff\n;
+Синтаксис:
+\s;\c;sniff ( );\n;
+
+Проверяет землю перед \l;проверяющим\u object\botsr;. В зависимости от того, какие были обнаружены природные ископаемые, будут созданы следующие объекты:
+
+\c;TitaniumSpot\n; -> \l;Красный крест\u object\stonspot;
+\c;UraniumSpot \n; -> \l;Желтый круг\u object\uranspot;
+\c;PowerSpot \n; -> \l;Зеленый крест\u object\enerspot;
+
+\t;Возвращаемое значение: \c;\l;int\u cbot\int;\n;
+Если все нормально, то будет возвращен ноль, если же возникла ошибка, то будет возвращено другое значение.
+\c;== 0 \n;проверка выполнена
+\c;!= 0 \n;проверка невозможна
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/space.txt b/help/cbot/R/space.txt
new file mode 100644
index 00000000..de7c0dfc
--- /dev/null
+++ b/help/cbot/R/space.txt
@@ -0,0 +1,23 @@
+\b;Инструкция \c;space\n;
+Синтаксис :
+\s;\c;space ( центр, рмин, рмакс, раст );\n;
+
+Определяет положение ближайшего свободного места возле указанной точки.
+
+\t;центр: \c;\l;point\u cbot\point;\n; (по умолчанию: положение бота)
+Интересующая вас точка в пространстве.
+
+\t;рмин: \c;\l;float\u cbot\float;\n; (значение по умолчанию: \c;8\n;)
+Минимальное расстояние от интересующей точки.
+
+\t;рмакс: \c;\l;float\u cbot\float;\n; (значение по умолчанию: \c;50\n;)
+Максимальное расстояние от интересующей точки.
+
+\t;раст: \c;\l;float\u cbot\float;\n; (значение по умолчанию: \c;4\n;)
+Требуемое расстояние между двумя свободными местами.
+
+\t;Возвращает: \c;\l;point\u cbot\point;\n;
+Положение свободного места.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/static.txt b/help/cbot/R/static.txt
new file mode 100644
index 00000000..0ec059e8
--- /dev/null
+++ b/help/cbot/R/static.txt
@@ -0,0 +1,22 @@
+\b;Инструкция \c;static\n; (для специалистов)
+Члены \l;класса\u cbot\class;, объявленные как \c;static\n;, являются общими для всех экземпляров класса.
+\c;
+\s;public class MyClass
+\s;{
+\s; static int nb = 1;
+\s; static string [ ] list = null;
+\s;}
+\s;void Test ()
+\s;{
+\s; MyClasse item1();
+\s; MyClasse item2();
+\s; item1.nb = 3;
+\s; item1.list[item1.nb] = "Hello";
+\s; message( item2.list[item2.nb] ); // вывести "Hello"
+\s;}
+\n;
+\c;Статичные\n; члены могут быть объявлены как \c;\l;private\u cbot\private;\n;, таким образов они будут доступны только внутри членов класса (including constructors and destructors).
+
+\t;См. также
+\c;\l;class\u cbot\class;\n;, \c;\l;synchronized\u cbot\synchro;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strfind.txt b/help/cbot/R/strfind.txt
new file mode 100644
index 00000000..32c6249a
--- /dev/null
+++ b/help/cbot/R/strfind.txt
@@ -0,0 +1,20 @@
+\b;Инструкция \c;strfind\n;
+Поиск подстроки в строче и возвращение ее позиции (если найдена) или \l;nan\u cbot\nan;, если поиск не дал результатов.
+
+Синтаксис¦:
+\s;\c;strfind ( string, sub );\n;
+
+\t;string: \c;\l;string\u cbot\string;\n;
+Строчка, в которой будем искать.
+
+\t;sub: \c;\l;string\u cbot\string;\n;
+Подстрока для поиска.
+
+Примеры¦:
+\s;\c; int pos = strfind("abcdef", "ab"); // позиция будет 0
+\s; int pos = strfind("abcdef", "de"); // позиция будет 3
+\s; int pos = strfind("abcdef", "xy"); // позиция будет \l;nan\u cbot\nan;
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/string.txt b/help/cbot/R/string.txt
new file mode 100644
index 00000000..a3c5142e
--- /dev/null
+++ b/help/cbot/R/string.txt
@@ -0,0 +1,15 @@
+\b;Тип \c;string\n;
+Используйте переменные этого типа для хранения строки, которая может состоять как из одного символа, так и из целого предложения. Например:
+\s;\c; "Привет!"
+\s; "Это строка"
+\s; "х"
+\s; "" // пустая строка
+\n;
+Чтобы соединить две строки, используйте оператор \c;+\n; :
+\s;\c; "Доброе утро," + " " + "сер"
+
+Получится строка:
+\s;\c; "Доброе утро, сер"
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strleft.txt b/help/cbot/R/strleft.txt
new file mode 100644
index 00000000..7735be3e
--- /dev/null
+++ b/help/cbot/R/strleft.txt
@@ -0,0 +1,16 @@
+\b;Инструкция \c;strleft\n;
+Извлекает первый (тот. что слева) символов в строке.
+
+Синтаксис¦:
+\s;\c;strleft ( string, len );\n;
+
+\t;len: \c;\l;int\u cbot\int;\n;
+Количество символов для извлечения
+
+Примеры¦:
+\s;\c; string s = strleft("abcdef", 2); // s будет "ab"
+\s; string s = strleft("abc", 10); // s будет "abc"
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strlen.txt b/help/cbot/R/strlen.txt
new file mode 100644
index 00000000..115da7f7
--- /dev/null
+++ b/help/cbot/R/strlen.txt
@@ -0,0 +1,14 @@
+\b;Инструкция \c;strlen\n;
+Возвращает длину строки.
+
+Синтаксис¦:
+\s;\c;strlen ( string );\n;
+
+Примеры¦:
+\s;\c; int len = strlen("abc"); // длина = 3
+\s; int len = strlen(""); // длина = 0
+\s; if ( strlen(s) == 0 ) // строка пуста ?
+\n;
+\t;См. также
+\c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strlower.txt b/help/cbot/R/strlower.txt
new file mode 100644
index 00000000..1e173086
--- /dev/null
+++ b/help/cbot/R/strlower.txt
@@ -0,0 +1,12 @@
+\b;Инструкция \c;strlower\n;
+Переписывает все символы в нижнем регистре.
+
+Синтаксис¦:
+\s;\c;strlower ( string );\n;
+
+Пример¦:
+\s;\c; string s = strlower("Abc"); // s будет "abc"
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strmid.txt b/help/cbot/R/strmid.txt
new file mode 100644
index 00000000..1175b140
--- /dev/null
+++ b/help/cbot/R/strmid.txt
@@ -0,0 +1,20 @@
+\b;Инструкция \c;strmid\n;
+Извлекает подстроку заданной длины, начиная с выбранной позиции строчки.
+
+Синтаксис¦:
+\s;\c;strmid ( string, pos, len );\n;
+
+\t;pos: \c;\l;int\u cbot\int;\n;
+Индекс первого символа (начало считывания)
+
+\t;len: \c;\l;int\u cbot\int;\n;
+Длина извлекаемой подстроки.
+
+Примеры¦:
+\s;\c; string s = strmid("abcdef", 1, 2); // s = "bc"
+\s; string s = strmid("abcdef", 4, 5); // s = "ef"
+\s; string s = strmid("abcdef", 9, 2); // s = ""
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strright.txt b/help/cbot/R/strright.txt
new file mode 100644
index 00000000..021ebfe8
--- /dev/null
+++ b/help/cbot/R/strright.txt
@@ -0,0 +1,16 @@
+\b;Инструкция \c;strright\n;
+Извлекает последние символы из строки..
+
+Синтаксис¦:
+\s;\c;strright ( string, len );\n;
+
+\t;len: \c;\l;int\u cbot\int;\n;
+Количество извлекаемых символов.
+
+Примеры¦:
+\s;\c; string s = strright("abcdef", 2); // s = "ef"
+\s; string s = strright("abc", 10); // s = "abc"
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strupper.txt b/help/cbot/R/strupper.txt
new file mode 100644
index 00000000..44d16c15
--- /dev/null
+++ b/help/cbot/R/strupper.txt
@@ -0,0 +1,12 @@
+\b;Инструкция \c;strupper\n;
+Преобразует все символы в верхний регистр
+
+Синтаксис¦:
+\s;\c;strupper ( string );\n;
+
+Пример¦:
+\s;\c; string s = strupper("Abc"); // s is "ABC"
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/strval.txt b/help/cbot/R/strval.txt
new file mode 100644
index 00000000..8be61cc9
--- /dev/null
+++ b/help/cbot/R/strval.txt
@@ -0,0 +1,19 @@
+\b;Инструкция \c;strval\n;
+Преобразует строку в число. Не путайте строку \c;"45"\n;, которая содержит в себе на самом деле два символа - \c;4\n; и \c;5\n;, и число \c;45\n;.
+
+Примеры¦:
+\s;\c; string s = "45"+"12"; // s содержит "4512"
+\s; float n = 45 + 12; // n содержит 67
+\n;
+Синтаксис¦:
+\s;\c;strval ( string );\n;
+\n;
+Примеры¦:
+\s;\c; float n = strval("1.23"); // n станет 1.23
+\s; float n = strval("12abc45"); // n станет 12
+\s; float n = strval("abc"); // n станет 0
+\s; float n = strval("100")+2; // n станет 102
+\n;
+\t;См. также
+\c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/synchro.txt b/help/cbot/R/synchro.txt
new file mode 100644
index 00000000..548818c5
--- /dev/null
+++ b/help/cbot/R/synchro.txt
@@ -0,0 +1,25 @@
+\b;Инструкция \c;synchronized\n; (для специалистов)
+Метод \l;класса\u cbot\class; может быть объявлен с помощью \c;synchronized\n;. Данный метод помогает убедиться в том, что какая-либо функция никогда не выполняется более чем одним ботом.
+
+Проиллюстрируем проблему:
+\c;
+\s;class blocking
+\s;{
+\s; static int nb = 33;
+\s; synchronized int inc( )
+\s; {
+\s; int val = nb;
+\s; wait ( 2 ); // ждать 2 секунды.
+\s; nb = nb + 1;
+\s; return val;
+\s; }
+\s;}
+\n;
+Что произойдет. если два боту будут выполнять метод \c;inc\n; в одно время¦?
+Оба она будут выполнять \c;val=nb\n; и ждать две секунды, так что один из них будет иметь \c;val=33\n;. С помощью \c;synchronized\n; первый бот начнет выполнение с \c;val=33\n; и подождет 2 секунды, а затем вернет значение. Только после того, как первый бот вернет значение из метода \c;inc\n;, второй бот начнет выполнять метод \c;inc\n; и, следовательно, второй бот будет всегда иметь \c;val=34\n;.
+
+Вы можете иметь больше синхронизаций \l;классов\u cbot\class; для того, чтобы предотвратить выполнение одного метода более чем одним ботом. Другими словами: до тех пор, пока один бот не закончит работу, другие боты не смогут выполнить этот класс.
+
+\t;См. также
+\c;\l;class\u cbot\class;\n;, \c;\l;static\u cbot\static;\n;
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/term.txt b/help/cbot/R/term.txt
new file mode 100644
index 00000000..5746fcad
--- /dev/null
+++ b/help/cbot/R/term.txt
@@ -0,0 +1,31 @@
+\b;Точка с запятой
+После простого выражения всегда ставьте точку с запятой \c;;\n;. Например:
+\c;
+\s; int counter = 0;
+\n;
+Тем не менее после \l;блока\u cbot\bloc; точка с запятой никогда не ставятся:
+\c;
+\s; {
+\s; float dist;
+\s; dist = distance(p1, p2);
+\s; } \n;// здесь точки с запятой нет!\c;
+\n;
+Также не используйте точку с запятой сразу же после инструкций \c;\l;while\u cbot\while;\n;, \c;\l;if\u cbot\if;\n; и \c;\l;for\u cbot\for;\n;:
+\c;
+\s; if ( a < b ) \n;// здесь нет точки с запятой!\c;
+\s; {
+\s; b = 100-a;
+\s; }
+\n;
+Инструкции всегда заканчиваются точкой с запятой, а не концом строки. Поэтому вы можете спокойно поместить в одну строку несколько инструкций:
+\c;
+\s; int d=20;
+\s; move(d);
+\s; turn(90);
+\n;
+Это эквивалентно:
+\c;
+\s; int d=20; move(d); turn(90);
+\n;
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/testinfo.txt b/help/cbot/R/testinfo.txt
new file mode 100644
index 00000000..8848b36a
--- /dev/null
+++ b/help/cbot/R/testinfo.txt
@@ -0,0 +1,18 @@
+\b;Инструкция \c;testinfo\n;
+Синтаксис¦:
+\s;\c;testinfo ( name, power );\n;
+
+Проверяет, существует ли информация в ближайшем \l;посту обмена информацией\u object\exchange;.
+
+\t;name: \c;string\n;
+Имя информации, которое будет тестироваться на посту. Это имя представляет из себя строку: оно должно быть написано в кавычках "¦".
+
+\t;power: \c;float\n;
+Мощность передатчика, которая соответствует максимальному расстоянию между передатчиком и постом. Если дистанция большая, то функция вернет \c;false(ложь)\n;. Стандартное значение 10 метров.
+
+\t;Return: \c;\l;bool\u cbot\bool;\n;
+Возвращает \c;true(правда)\n;, если информация существует. Возвращает \c;false\n;, если пост слишком далеко или на нем не записана такая информация..
+
+\t;См. также
+\c;\l;receive\u cbot\receive;\n;, \c;\l;send\u cbot\send;\n; and \c;\l;deleteinfo\u cbot\delinfo;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/this.txt b/help/cbot/R/this.txt
new file mode 100644
index 00000000..e2ea7fe5
--- /dev/null
+++ b/help/cbot/R/this.txt
@@ -0,0 +1,54 @@
+\b;Инструкция \c;this\n;
+Иногда, методы \l;класса\u cbot\class; должны знать ссылку уже действующего экземпляра. Например, экземпляр, возможно, захочет передать свои ссылки другой функции. Неявное имя ссылки \c;this\n; доступно для методов, а также \c;this\n; это ссылка на текущий экземпляр.
+\c;
+\s;public class MyClass
+\s;{
+\s; int m_int;
+\s; string m_str;
+\s; void MyFunction()
+\s; {
+\s; OtherFunction(this);
+\s; m_int = 2;
+\s; }
+\s;}
+\s;
+\s;void OtherFunction(MyClass obj)
+\s;{
+\s; message(obj.m_str);
+\s;}
+\s;
+\s;extern void object::Test()
+\s;{
+\s; MyClass item();
+\s; item.m_str = "Hello";
+\s; item.MyFunction(); // вывести "Hello"
+\s;}
+\n;
+Вы можете написать \c;this\n; перед методом, но в этом нет необходимости. В приведенном ниже примере мы видим две строго одинаковых строки:
+\c;
+\s; m_int = 2;
+\s; this.m_int = 2; // они идентичны
+\n;
+В методе класса \c;\l;object\u cbot\object;\n;, вы можете использовать \c;this.\n; перед именем поля.
+\c;
+\s;extern void object::Display()
+\s;{
+\s; message(orientation);
+\s; message(this.orientation); // тоже самое, но
+\s; // более четко
+\s;}
+\n;
+Однако, если имя поля неизвестно, то объявление параметра или переменной необходимо использовать вместе с \c;this\n;. В следущем примере имя параметра \c;value\n; такое же, как и имя поля \c;value\n; \l;класса\u cbot\class; \c;MyClass\n;, поэтому мы должны написать \c;this.value\n; для того, чтобы отличить поле от параметра.
+\c;
+\s;public class MyClass
+\s;{
+\s; int value;
+\s; void Put( int value )
+\s; {
+\s; this.value = value;
+\s; }
+\s;}
+\n;
+\t;См. также
+\c;\l;class\u cbot\class;\n;
+\l;Программирование\u cbot;, \l:типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/thump.txt b/help/cbot/R/thump.txt
new file mode 100644
index 00000000..a9723f69
--- /dev/null
+++ b/help/cbot/R/thump.txt
@@ -0,0 +1,13 @@
+\b;Инструкция \c;thump\n;
+Синтаксис:
+\s;\c;thump ( );\n;
+
+Активизирует системы вооружения \l;тампера\u object\bottump;, которые заставляют мучиться пауков и муравьев, что делает их на некоторое время совершенно безвредными.
+
+\t;Возвращаемое значение: \c;\l;int\u cbot\int;\n;
+Если все нормально, то значение будет равно нулю, если же оно не равно нулю, то это значит, что возникла ошибка.
+\c;== 0 \n;Удар нанесен
+\c;!= 0 \n;Операция невозможна
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/topo.txt b/help/cbot/R/topo.txt
new file mode 100644
index 00000000..c0d4080c
--- /dev/null
+++ b/help/cbot/R/topo.txt
@@ -0,0 +1,14 @@
+\b;Инструкция \c;topo\n;
+Синтаксис:
+\s;\c;topo ( положение );\n;
+
+Возвращает высоту земли в указанной точке. Высота, равная нулю, соответствует уровню моря. Отрицательное значение показывает, что к этой точке земля покрыта водой.
+
+\t;положение: \c;\l;point\u cbot\point;\n;
+Координаты точки, высоту которой вам нужно узнать.
+
+\t;Возвращаемое значение: \c;\l;float\u cbot\float;\n;
+Высота земли в указанной точке.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/true.txt b/help/cbot/R/true.txt
new file mode 100644
index 00000000..aef877c0
--- /dev/null
+++ b/help/cbot/R/true.txt
@@ -0,0 +1,5 @@
+\b;Тип \c;true\n;
+Это значение означает, что условие выполняется; это одно из двух значений, которые может принимать \l;булевая\u cbot\bool; \l;переменная\u cbot\var;.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/turn.txt b/help/cbot/R/turn.txt
new file mode 100644
index 00000000..fc37ee13
--- /dev/null
+++ b/help/cbot/R/turn.txt
@@ -0,0 +1,33 @@
+\b;Инструкция \c;turn\n;
+Используйте инструкцию \c;turn();\n; для того, чтобы выполнять вращение на определенное количество градусов.
+
+\b;Основное использование
+90 градусов означают поворот на четверть круга, 180 означают поворот на половину круга. Положительный угол приведет к вращению против часовой стрелки, а отрицательный угол приведет к вращению по часовой стрелке. Вот несколько примеров использования \c;turn();\n;:
+
+\c;turn(90);\n; поворот на четверть круга налево
+\c;turn(-90);\n; поворот на четверть круга направо (отрицательный угол)
+\c;turn(180);\n; половина оборота
+
+Для того, чтобы повернуть бота в направлении объекта, который был обнаружен с помощью инструкции \c;\l;radar\u cbot\radar;();\n;, вы должны вычислить угол поворота с помощью инструкции \c;\l;direction\u cbot\direct;()\n;:
+\c;
+\s; item = \l;radar\u cbot\radar;(AlienSpider);
+\s; turn(\l;direction\u cbot\direct;(item.position));
+\n;
+После выполнения этих строк просто стреляйте из пушки и у вас будет на одного врага меньше.
+
+\b;Для специалистов
+Синтаксис:
+\s;\c;turn ( угол );\n;
+
+Поворачивает бота на указанный угол направо или налево, при этом не передвигая его ни вперед, ни назад.
+
+\t;угол: \c;\l;float\u cbot\float;\n;
+Угол требуемого поворота в градусах. Положительное значение означает поворот налево, а отрицательное направо. \c;turn(180)\n; повернет вас на половину круга.
+
+\t;Возвращаемое значение: \c;\l;int\u cbot\int;\n;
+Если все нормально, то значение будет равно нулю, если же возникла ошибка, то оно будет отлично от нуля.
+\c;== 0 \n;вращение выполнено
+\c;!= 0 \n;вращение невозможно
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/type.txt b/help/cbot/R/type.txt
new file mode 100644
index 00000000..cdfc534e
--- /dev/null
+++ b/help/cbot/R/type.txt
@@ -0,0 +1,33 @@
+\b;Типы переменных
+Когда вы определяете \l;переменную\u cbot\var;, вы должны дать ей два атрибута:
+
+1) имя
+2) и тип
+
+После того, как вы определили переменную, вы можете использовать ее для хранения информации. Тем не менее информация, которую может хранить переменная, должна быть правильного типа: переменная типа \l;float\u cbot\float; не может содержать и так далее.
+
+В программе имя типа всегда пишется на \type;зеленом фоне\norm;. Если имя типа не окрашено, то это означает, что оно неправильно написано. Имя типа всегда пишется маленькими буквами. Вот список различных типов:
+
+\s;\c;\l;int\u cbot\int;\n;
+Для целых чисел (12, -500 и так далее.).
+
+\s;\c;\l;float\u cbot\float;\n;
+Для дробных чисел (12, 3.14, 0.2, -99.98 и так далее.).
+
+\s;\c;\l;bool\u cbot\bool;\n;
+Для булевых переменных, которые могут принимать только два значения \c;true\n; или \c;false\n;, то есть правда или ложь.
+
+\s;\c;\l;string\u cbot\string;\n;
+Для текста ("Привет!", "Объект не найден" и так далее.)
+
+\s;\c;\l;point\u cbot\point;\n;
+Для координат точки в пространстве; переменная этого типа состоит из трех частей с именами x, y и z.
+
+\s;\c;\l;object\u cbot\object;\n;
+Переменная этого типа содержит информацию об объекте (боте, здании, враге и так далее.).
+
+\s;\c;\l;void\u cbot\void;\n;
+Этот тип это "пустой тип", который используется тогда, когда вы не хотите определять тип.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/var.txt b/help/cbot/R/var.txt
new file mode 100644
index 00000000..749de278
--- /dev/null
+++ b/help/cbot/R/var.txt
@@ -0,0 +1,67 @@
+\b;Переменные
+Переменная похожа на ящик, куда вы можете положить какую-то информацию. Во время выполнения программы содержимое переменной может меняться.
+
+Например вы можете использовать переменную для того, чтобы сосчитать количество единиц титановой руды, которое сборщик собрал и отнес в переработчик. Вначале вы должны придумать для нее имя: имя должно быть не очень длинным и при этом говорить о том, для чего используется эта переменная. Давайте назовем ее \c;countTit\n;. Эта переменная может содержать только целые числа, поэтому выберем тип \c;int\n;. Переменную нужно объявить в начале программы. Затем нужно сохранить в переменной значение \c;0\n; и каждый раз, когда вы будете подбирать титановую руду, увеличивать ее значение на \c;1\n;. В каждый момент времени переменная будет содержать количество единиц титановой руды, которую собрал сборщик.
+
+Для объявления переменной напишите следующую строку:
+\c;\s; int countTit;\n;
+
+Чтобы записать в переменную \c;0\n;, напишите:
+\c;\s; countTit = 0;\n;
+
+При каждом поднятии титановой руды пишите:
+\c;\s; countTit = countTit + 1\n;
+
+В выборе имени для переменной у вас есть довольно много возможностей, вы можете называть их как угодно, например: \c;dist\n;, \c;direct\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;nothing_2_shoot_at\n; и так далее.
+Имя всегда должно начинаться с латинской буквы. За ней может следовать любая комбинация латинских букв, символов или символа подчеркивания \c;_\n;. Вы конечно не можете использовать для их названий ключевые слова языка CBOT, как например \c;\l;for\u cbot\for;\n;, \c;\l;while\u cbot\while;\n;, \c;\l;break\u cbot\break;\n;, \c;\l;continue\u cbot\continue;\n;, \c;do\n; и так далее.
+При выборе имен для переменных вы должны быть осторожны; написание программы может стать очень сложным, если вы забудете имена переменных или если вы не сможете вспомнить для чего они используются. Разработайте свою собственную систему для придумывания имен переменных, но не используйте такие имена как \c;Bmo45\n;, \c;a\n; или \c;tgBinX\n;.
+
+В приведенном выше примере ключевое слово \c;int\n; показывает, что эта переменная может содержать только целые числа, которые соответствуют подсчитываемым объектам. Если вы хотите измерить расстояние, то лучше используйте переменную, которая может содержать и дробные числа с дробной частью (например 3.45 или 0.034): в этом случае используйте тип \c;float\n;.
+
+Фактически переменная состоит из трех частей:
+1) имени
+2) типа хранимой в ней информации
+3) и содержимого, то есть самой информации
+
+\t;имя
+Имя вам нужно для того, чтобы различать разнообразные переменные.
+
+\t;тип
+\l;Тип\u cbot\type; определяет какой вид информации может содержать переменная. В зависимости от типа переменная может содержать целое число, дробное число, строку, координаты точки, информацию об объекте и так далее.
+Вот список наиболее часто используемых типов переменных:
+ o \c;\l;int\u cbot\int;\n; для целого числа (12, -500 и так далее.)
+ o \c;\l;float\u cbot\float;\n; для дробного числа (3.14, 0.2, -99.98 и так далее.)
+ o \c;\l;string\u cbot\string;\n; для строки символов ("Привет!", "Объект не найден" и так далее.)
+ o \c;\l;point\u cbot\point;\n; для x,y и z-координат в пространстве
+ o \c;\l;object\u cbot\object;\n; для информации об объекте (бот, здание и так далее.)
+
+\t;Содержимое
+Содержимое переменной это информация того вида, который определен в типе. Во время выполнения программы оно может меняться.
+
+После того, как вы объявили переменную, она еще не содержит никакого значения. Что вы смогли ее использовать, нужно поместить в нее значение:
+\c;\s; int i, j;
+\s; j = 25; // j принимает значение, равное 25
+\s; j = i; // так писать нельзя, так как i еще ничего не содержит.
+\n;
+Вы также можете в одной строке одновременно объявить переменную и записать в нее значение, написав:
+\c;\s; int countTit = 0;
+\n;
+Когда вы присваиваете значение переменной с помощью знака равенства \c;=\n;, значение с правой стороны копируется в переменную с левой стороны. Изучите следующий пример:
+\c;\s; int i, j;
+\s; i = 5+2; // i принимает значение, равное 7
+\s; j = i+6; // j принимает значение i плюс 6, то есть 13
+\s; i = j; // i принимает значение j, то есть 13
+\n;
+В конце этого примера обе переменные \c;i\n; и \c;j\n; содержат значение \c;13\n;.
+
+Последующее присвоение неправильно, так как с левой стороны знака равенства \c;=\n;, может быть только имя переменной:
+\c;\s; i+2 = j; // невозможно
+\n;
+Если вы хотите поменять местами значения двух переменных, то вы должны использовать третью переменную. Вот пример обмена содержимого двух переменных, \c;a\n; и \c;b\n; :
+\c;\s; int temp;
+\s; temp = a; // temp принимает значение a
+\s; a = b; // содержимое b копируется в a
+\s; b = temp; // содержимое temp копируется в b
+\n;
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/void.txt b/help/cbot/R/void.txt
new file mode 100644
index 00000000..7a86f115
--- /dev/null
+++ b/help/cbot/R/void.txt
@@ -0,0 +1,5 @@
+\b;Тип \c;void\n;
+Используйте этот тип, когда вы не хотите определять тип переменной, например когда функция ничего не возвращает.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/wait.txt b/help/cbot/R/wait.txt
new file mode 100644
index 00000000..586781bc
--- /dev/null
+++ b/help/cbot/R/wait.txt
@@ -0,0 +1,22 @@
+\b;Инструкция \c;wait\n;
+Инструкция \c;wait();\n; заставляет бота ждать несколько секунд, в соответствии со значением, написанным внутри скобок.
+
+\b;Основное использование
+Для того, чтобы подождать, пока на энергетической станции зарядится \l;энергетическая ячейка\u object\power;, подождите 5 секунд с помощью команды \c;wait(5);\n;.
+
+Чтобы подождать, пока \l;преобразователь\u object\convert; закончит преобразовывать \l;титановую руду\u object\titanore; в \l;титановый куб\u object\titan;, подождите 15 секунд с помощью команды \c;wait(15);\n;.
+
+\b;для специалистов
+Синтаксис:
+\s;\c;wait ( время );\n;
+
+Ждет некоторое время.
+
+\t;время: \c;\l;float\u cbot\float;\n;
+Определяет время, которое должен ждать бот.
+
+\t;Возвращаемое значение: \c;\l;void\u cbot\void;\n;
+Нет.
+
+\t;Смотри также
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/while.txt b/help/cbot/R/while.txt
new file mode 100644
index 00000000..eedb5863
--- /dev/null
+++ b/help/cbot/R/while.txt
@@ -0,0 +1,47 @@
+\b;Инструкция \c;while\n;
+Инструкция \c;while () {}\n; используется для того, чтобы несколько раз повторять один и тот же набор инструкций.
+
+\b;Основное использование
+Наиболее часто \c;while\n; используется для того, чтобы снова и снова повторять набор инструкций. Для того, чтобы добиться этого, напишите \c;while (true) {}\n; и впишите инструкции, которые нужно повторять, в скобки \c;{}\n;. Как пример здесь представлена программа, которая снова и снова повторяет следующие действия:
+o ищет паука,
+o поворачивается к нему,
+o стреляет.
+\c;
+\s; while (true)
+\s; {
+\s; item = \l;radar\u cbot\radar;(AlienSpider);
+\s; \l;turn\u cbot\turn;(direction(item.position));
+\s; \l;fire\u cbot\fire;(1);
+\s; }
+\n;
+Запустите эту программу один раз и с ее помощью вы убьете всех пауков вокруг вас.
+
+\b;Для специалистов
+Синтаксис :
+\s;\c;while ( условие )
+\s;{
+\s; \n;Инструкции ...\c;
+\s;}
+\n;
+Эта инструкция позволит вам выполнять инструкции внутри \l;блока\u cbot\bloc; несколько раз.
+
+Будьте внимательны и не путайте инструкцию \c;while( ) { }\n; с инструкцией \c;\l;do\u cbot\do; { } while( );\n;; последняя проверяет условие только после того, как инструкции внутри блока были один раз выполнены.
+
+\t;\c;условие\n;
+Инструкции в блоке будут выполняться снова и снова, пока \l;условие\u cbot\cond; будет выполняться, то есть будет правдивым.
+
+Вот пример :
+\s;\c;int i = 0;
+\s;while ( i < 10 )
+\s;{
+\s; \n;Инструкцияs ...\c;
+\s; i = i+1;
+\s;}
+\n;
+\t;Внимание
+Не вставляйте \l;точку с запятой\u cbot\term; в конец строки \c;while ( )\n;.
+
+Внутри блока, следующего за инструкцией \c;while { }\l; могут быть полезны инструкции \u cbot\break;\n;break\c;\l; и \u cbot\continue;\n;continue\c;\n;.
+
+\t;Смотри также
+\l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/R/writeln.txt b/help/cbot/R/writeln.txt
new file mode 100644
index 00000000..d2e72ee7
--- /dev/null
+++ b/help/cbot/R/writeln.txt
@@ -0,0 +1,21 @@
+\b;Инструкция \c;writeln\n;
+Написать одну строку текаста в файл. Это метод класса \c;\l;file\u cbot\file;\n;. Это причина, по которой мы пишем так - \c;handle.writeln()\n;¦:
+\c;
+\s; handle.writeln("abc");
+\n;
+Файл должен быть открыт для записи (\c;"w"\n;) с помощью инструкции \c;\l;open\u cbot\open;\n;. Линия автоматически заканчивается сиволами 0x0D (CR) и 0x0A (LF).
+
+Синтаксис¦:
+\s;\c;handle.writeln ( string );\n;
+
+Примеры¦:
+\c;
+\s; writeln("Line of text");
+
+\s; string s1 = "abc";
+\s; string s2 = "def";
+\s; writeln(s1 + " " + s2);
+\n;
+\t;См. также
+\c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n; and \c;\l;eof\u cbot\eof;\n;.
+\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/cbot/po/cbot.pot b/help/cbot/po/cbot.pot
new file mode 100644
index 00000000..0e2e3257
--- /dev/null
+++ b/help/cbot/po/cbot.pot
@@ -0,0 +1,6406 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR abstime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:3 cbot-help/deletef.txt:7 cbot-help/delinfo.txt:3 cbot-help/errmode.txt:6 cbot-help/flatgrnd.txt:3 cbot-help/readln.txt:9 cbot-help/send.txt:3 cbot-help/strfind.txt:5 cbot-help/strleft.txt:5 cbot-help/strlen.txt:5 cbot-help/strlower.txt:5 cbot-help/strmid.txt:5 cbot-help/strright.txt:5 cbot-help/strupper.txt:5 cbot-help/strval.txt:9 cbot-help/testinfo.txt:3 cbot-help/writeln.txt:9
+#, no-wrap
+msgid "Syntax¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/abstime.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:9
+#, no-wrap
+msgid "Time in seconds."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/abstime.txt:10 cbot-help/aim.txt:20 cbot-help/array.txt:30 cbot-help/bloc.txt:48 cbot-help/bool.txt:4 cbot-help/break.txt:24 cbot-help/category.txt:107 cbot-help/class.txt:70 cbot-help/close.txt:6 cbot-help/cond.txt:27 cbot-help/continue.txt:24 cbot-help/deletef.txt:9 cbot-help/delinfo.txt:13 cbot-help/direct.txt:13 cbot-help/dist2d.txt:13 cbot-help/dist.txt:29 cbot-help/do.txt:27 cbot-help/drop.txt:28 cbot-help/eof.txt:13 cbot-help/errmode.txt:32 cbot-help/expr.txt:87 cbot-help/extern.txt:29 cbot-help/false.txt:4 cbot-help/file.txt:16 cbot-help/fire.txt:30 cbot-help/flatgrnd.txt:16 cbot-help/float.txt:24 cbot-help/for.txt:38 cbot-help/function.txt:84 cbot-help/goto.txt:34 cbot-help/grab.txt:28 cbot-help/if.txt:39 cbot-help/int.txt:18 cbot-help/jet.txt:14 cbot-help/message.txt:24 cbot-help/motor.txt:38 cbot-help/move.txt:21 cbot-help/nan.txt:14 cbot-help/new.txt:19 cbot-help/null.txt:4 cbot-help/object.txt:68 cbot-help/openfile.txt:10 cbot-help/open.txt:18 cbot-help/pointer.txt:51 cbot-help/point.txt:35 cbot-help/private.txt:17 cbot-help/public.txt:49 cbot-help/radar.txt:58 cbot-help/readln.txt:18 cbot-help/receive.txt:16 cbot-help/recycle.txt:12 cbot-help/retobj.txt:13 cbot-help/return.txt:29 cbot-help/search.txt:16 cbot-help/send.txt:17 cbot-help/shield.txt:18 cbot-help/sizeof.txt:21 cbot-help/sniff.txt:16 cbot-help/space.txt:22 cbot-help/static.txt:20 cbot-help/strfind.txt:18 cbot-help/string.txt:32 cbot-help/strleft.txt:14 cbot-help/strlen.txt:12 cbot-help/strlower.txt:10 cbot-help/strmid.txt:18 cbot-help/strright.txt:14 cbot-help/strupper.txt:10 cbot-help/strval.txt:17 cbot-help/synchro.txt:23 cbot-help/term.txt:30 cbot-help/testinfo.txt:16 cbot-help/this.txt:52 cbot-help/thump.txt:12 cbot-help/topo.txt:13 cbot-help/true.txt:4 cbot-help/turn.txt:32 cbot-help/type.txt:32 cbot-help/var.txt:66 cbot-help/void.txt:10 cbot-help/wait.txt:21 cbot-help/while.txt:46 cbot-help/writeln.txt:19
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:11 cbot-help/aim.txt:21 cbot-help/array.txt:31 cbot-help/bool.txt:5 cbot-help/break.txt:25 cbot-help/cond.txt:29 cbot-help/continue.txt:25 cbot-help/deletef.txt:10 cbot-help/direct.txt:15 cbot-help/dist2d.txt:14 cbot-help/dist.txt:30 cbot-help/drop.txt:29 cbot-help/errmode.txt:33 cbot-help/expr.txt:88 cbot-help/extern.txt:30 cbot-help/false.txt:6 cbot-help/fire.txt:31 cbot-help/flatgrnd.txt:17 cbot-help/float.txt:25 cbot-help/for.txt:40 cbot-help/function.txt:85 cbot-help/goto.txt:35 cbot-help/grab.txt:29 cbot-help/if.txt:40 cbot-help/int.txt:20 cbot-help/jet.txt:16 cbot-help/message.txt:25 cbot-help/move.txt:22 cbot-help/nan.txt:16 cbot-help/object.txt:70 cbot-help/openfile.txt:11 cbot-help/point.txt:36 cbot-help/radar.txt:60 cbot-help/recycle.txt:14 cbot-help/retobj.txt:15 cbot-help/return.txt:31 cbot-help/search.txt:18 cbot-help/shield.txt:19 cbot-help/sizeof.txt:22 cbot-help/sniff.txt:17 cbot-help/space.txt:23 cbot-help/string.txt:33 cbot-help/term.txt:31 cbot-help/thump.txt:13 cbot-help/topo.txt:14 cbot-help/true.txt:5 cbot-help/turn.txt:33 cbot-help/type.txt:33 cbot-help/var.txt:67 cbot-help/void.txt:11 cbot-help/wait.txt:22
+#, no-wrap
+msgid ""
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/aim.txt:1
+#, no-wrap
+msgid "Instruction aim
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:3 cbot-help/break.txt:3 cbot-help/continue.txt:3 cbot-help/direct.txt:3 cbot-help/motor.txt:16 cbot-help/space.txt:3 cbot-help/while.txt:21
+#, no-wrap
+msgid "Syntax :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/aim.txt:4
+#, no-wrap
+msgid "turn
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:12 cbot-help/turn.txt:24
+#, no-wrap
+msgid "angle: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:14
+#, no-wrap
+msgid ""
+"Angle in degrees of the gun relative to the robot. A positive value orients "
+"the gun upward. For shooters and orga shooters, the angle must range from "
+"-20
to +20
degrees. For phazer shooters, the angle "
+"must range from -20
to 45
degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:15 cbot-help/drop.txt:23 cbot-help/fire.txt:25 cbot-help/goto.txt:29 cbot-help/grab.txt:23 cbot-help/move.txt:16 cbot-help/recycle.txt:7 cbot-help/sniff.txt:11 cbot-help/thump.txt:7 cbot-help/turn.txt:27
+#, no-wrap
+msgid "Return value: int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:19
+#, no-wrap
+msgid ""
+"Zero if everything is OK, a value different from zero if the rotation could "
+"not be performed: \n"
+"== 0
The gun has now got the desired orientation\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/array.txt:1
+#, no-wrap
+msgid "Arrays"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:3
+#, no-wrap
+msgid ""
+"An array is basically a collection of variables of the same type or "
+"class. You can use N dimensionnal arrays in the CBOT language. Each "
+"dimension is limited to 9999 elements. You must use square brackets "
+"[]
after the type name or the variable name to declare an "
+"array."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:8
+#, no-wrap
+msgid ""
+"int [ ] a; // an array of int\n"
+"int a [12]; // an array of int limited to 12 elements\n"
+"string s[3]; // an array of 3 strings\n"
+"float xy[][]; // an 2 dimensionnal array of floats"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:10
+#, no-wrap
+msgid ""
+"Actually when the CBOT interpreter encounters an array declaration, it just "
+"creates a null
reference:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:12
+#, no-wrap
+msgid "int a[5]; // a is now a null reference"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:14
+#, no-wrap
+msgid ""
+"As soon as you put values into the array, the elements are created and the "
+"reference is initialized:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:17
+#, no-wrap
+msgid ""
+"a[2] = 213; // a points to\n"
+" // 3 élements [0], [1] et [2]"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:19
+#, no-wrap
+msgid ""
+"After this operation, a
contains a reference to the elements of "
+"the array. Elements [0]
and [1]
are created but "
+"not initialized because an array cannot contain empty elements. The sizeof
instruction allows you to obtain the number of "
+"elements contained in an array."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:21
+#, no-wrap
+msgid ""
+"When an array is declared with a maximum size, the program will stop as soon "
+"as there is an access beyond the maximum array size. No error is signalled "
+"during compilation even if the error is obvious:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:27
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[5];\n"
+"\ta[7] = 123; // no error at compile time\n"
+"\t // but error at run time\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:29
+#, no-wrap
+msgid ""
+"If you pass an array as parameter to a function, the "
+"function only receives a reference to the array. That "
+"means if you modify an array element in the function, the element of the "
+"array that has been passed the function will be actuallay modified."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bloc.txt:1
+#, no-wrap
+msgid "Blocks"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:3
+#, no-wrap
+msgid ""
+"You can use braces { }
to group a number of instructions "
+"together in order to make one single block out of them, for example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:10
+#, no-wrap
+msgid ""
+"\t{\n"
+"\t\tfloat t;\n"
+"\t\tt = a;\n"
+"\t\ta = b;\n"
+"\t\tb = t; // switches round a and b\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:13
+#, no-wrap
+msgid ""
+"Every instruction in the block is followed by a semicolon, "
+"but the block itself is not. \n"
+"Let us take the following example with the instruction if
to illustrate the use of blocks in a program:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:18
+#, no-wrap
+msgid ""
+"\tif ( a < b )\n"
+"\t\tif
, "
+"while
and for
, "
+"in order to group several instructions that should be performed only if a "
+"condition is true, or repeated several times. \n"
+"You can fit blocks into other blocks, on as many levels as you need. Here is "
+"an example of imbrication on two levels :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:42
+#, no-wrap
+msgid ""
+"\tif ( a > b )\n"
+"\t{\n"
+"\t\tint i = 0;\n"
+"\t\twhile ( i < 18 )\n"
+"\t\t{\n"
+"\t\t\tmove(10);\n"
+"\t\t\tturn(5);\n"
+"\t\t\ti = i+1;\n"
+"\t\t}\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:44
+#, no-wrap
+msgid ""
+"You had better line up the open brace {
with the closing brace "
+"}
in order to improve readability, but it is not "
+"compulsory. The following example takes less space, is equivalent to the "
+"previous example, but it is not advisable to write your programs in the "
+"following style : "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:47
+#, no-wrap
+msgid ""
+"\tif(a>b) { int i=0; while(i<18) {\n"
+"\tmove(10);turn(5);i=i+1; }}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:49 cbot-help/do.txt:28 cbot-help/motor.txt:39 cbot-help/while.txt:47
+#, no-wrap
+msgid ""
+"Instructions, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bool.txt:1
+#, no-wrap
+msgid "Type bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bool.txt:3
+#, no-wrap
+msgid ""
+"In a variable of this type you can put a boolean value, that is a value that "
+"can take only two states: true or false. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/break.txt:1
+#, no-wrap
+msgid "Instruction break
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:7
+#, no-wrap
+msgid ""
+"while
or for
loop."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/break.txt:11 cbot-help/continue.txt:11
+#, no-wrap
+msgid "Here is an example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:22
+#, no-wrap
+msgid ""
+"Categories
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:3
+#, no-wrap
+msgid ""
+"Categories represent the names of objects in the CBOT language. Everything "
+"in COLOBOT is an object: robots, buildings, raw materials, etc., even "
+"yourself."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:5
+#, no-wrap
+msgid ""
+"In a program, categories are always displayed on a Houston
Mission "
+"Control\n"
+" SpaceShip
Spaceship\n"
+" BotFactory
Robot "
+"Factory\n"
+" ResearchCenter "
+"
Research Center\n"
+" RadarStation
Radar\n"
+" ExchangePost "
+"
Information Exchange Post\n"
+" RepairCenter
Repair "
+"Center\n"
+" DefenseTower
Defense "
+"Tower\n"
+" AutoLab
Organic "
+"Matter Analyzer \n"
+" PowerStation
Power "
+"Station\n"
+" PowerPlant
Power "
+"Cell Factory\n"
+" NuclearPlant
Nuclear "
+"Plant\n"
+" Converter
Titanium "
+"Converter\n"
+" Derrick "
+"
Derrick\n"
+" PowerCaptor
Parabolic "
+"Lightning Conductor\n"
+" Vault
Vault\n"
+" StartArea
Starting Pad\n"
+" GoalArea
Finishing Pad\n"
+" AlienNest
Alien Nest"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:31
+#, no-wrap
+msgid "Portable Objects :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:42
+#, no-wrap
+msgid ""
+" TitaniumOre
Titanium "
+"Ore\n"
+" UraniumOre
Uranium Ore\n"
+" Titanium
Cube of "
+"converted Titanium\n"
+" PowerCell
Regular Power "
+"Cell\n"
+" NuclearCell
Nuclear Power "
+"Cell\n"
+" OrgaMatter
Organic "
+"Matter\n"
+" BlackBox
Black Box\n"
+" TNT
Explosive "
+"device\n"
+" KeyA..D
Keys A, B, C and "
+"D"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:44
+#, no-wrap
+msgid "Robots :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:48
+#, no-wrap
+msgid ""
+" PracticeBot "
+"
Practice Bot\n"
+" TargetBot "
+"
Target Bot"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:53
+#, no-wrap
+msgid ""
+" WheeledGrabber "
+"
Wheeled Grabber\n"
+" TrackedGrabber "
+"
Tracked Grabber\n"
+" WingedGrabber "
+"
Winged Grabber\n"
+" LeggedGrabber "
+"
Legged Grabber"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:58
+#, no-wrap
+msgid ""
+" WheeledSniffer "
+"
Wheeled Sniffer\n"
+" TrackedSniffer "
+"
Tracked Sniffer\n"
+" WingedSniffer "
+"
Winged Sniffer\n"
+" LeggedSniffer "
+"
Legged Sniffer"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:63
+#, no-wrap
+msgid ""
+" WheeledShooter "
+"
Wheeled Shooter\n"
+" TrackedShooter "
+"
Tracked Shooter\n"
+" WingedShooter "
+"
Winged Shooter\n"
+" LeggedShooter "
+"
Legged Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:68
+#, no-wrap
+msgid ""
+" WheeledOrgaShooter "
+"
Wheeled Orga Shooter\n"
+" TrackedOrgaShooter "
+"
Tracked Orga Shooter\n"
+" WingedOrgaShooter "
+"
Winged Orga Shooter\n"
+" LeggedOrgaShooter "
+"
Legged Orga Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:74
+#, no-wrap
+msgid ""
+" Subber "
+"
Subber\n"
+" Recycler "
+"
Recycler\n"
+" Shielder "
+"
Shielder\n"
+" Thumper "
+"
Thumper\n"
+" PhazerShooter "
+"
Phazer Shooter"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:76
+#, no-wrap
+msgid "Enemies :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:84
+#, no-wrap
+msgid ""
+" AlienQueen
Alien Queen\n"
+" AlienEgg
Alien Egg\n"
+" AlienAnt
Ant\n"
+" AlienSpider
Spider\n"
+" AlienWasp
Wasp\n"
+" AlienWorm
Worm"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:86
+#, no-wrap
+msgid "Miscellaneous :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:93
+#, no-wrap
+msgid ""
+" Me
You!\n"
+" Mine
Mine\n"
+" Barrier
Barrier\n"
+" Wreck
Derelict bot\n"
+" Ruin
Derelict building"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:106
+#, no-wrap
+msgid ""
+" BlueFlag
Blue Flag\n"
+" RedFlag
Red Flag\n"
+" GreenFlag
Green Flag\n"
+" YellowFlag
Yellow Flag\n"
+" VioletFlag
Violet Flag\n"
+" WayPoint
Checkpoint\n"
+" EnergySite
Underground "
+"Energy Deposit\n"
+" TitaniumSite
Underground "
+"Titanium Deposit\n"
+" UraniumSite
Underground "
+"Uranium Deposit"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:108
+#, no-wrap
+msgid "CBOT Language and Variables."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/class.txt:1
+#, no-wrap
+msgid "Instruction class
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:3
+#, no-wrap
+msgid "This allows you to declare a class definition using following syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:8
+#, no-wrap
+msgid ""
+"public class ClassName\n"
+"{\n"
+"\tdeclarations;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:10
+#, no-wrap
+msgid ""
+"Classes can only be public, that is they can be used from "
+"all bots in a mission. Class members are also public, that is they are "
+"accessible from outside the class. Class members can be fields or functions "
+"(also called methods), for example the followin class MyClass
"
+"contains 4 fields (a, b, x and s) and one method (MyFunction)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:21
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tfloat x = 3.33;\n"
+"\tstring s = \"hello\";\n"
+"\tfloat MyFunction( float value )\n"
+"\t{\n"
+"\t\treturn (value*x)-1;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:23
+#, no-wrap
+msgid ""
+"As shown in this exemple the class members can be initialized "
+"(x=3.33
). You can also define a constructor which is a special "
+"method having the same name as the class name. This method will be called "
+"automatically at creation time of a class instance. You can also declare "
+"more than one method with the same name but different parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:36
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\ta = 2; b = 3;\n"
+"\t}\n"
+"\tvoid MyClass( int a, int b )\n"
+"\t{\n"
+"\t\tthis.a = a; this.b = b;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:38
+#, no-wrap
+msgid ""
+"In this example two constructors are declared for MyClass
, one "
+"without parameters and the other one with two parameters. As the names of "
+"the parameters of the second constructor are the same as the names of the "
+"two members a
et b
we must use the this.a
and this.b
to "
+"avoid confusion with the parameters. Another more simpler solution would be "
+"to give different names to the parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:46
+#, no-wrap
+msgid ""
+"void Test( )\n"
+"{\n"
+"\tMyClass item1(); // constr. w/o parameters\n"
+"\tMyClass item2(4, 5); // constr. with 2 parameters\n"
+"\tMyClass item3; // no constructor called,\n"
+" // therefore item3 == null\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:48
+#, no-wrap
+msgid ""
+"You can also define a destructor. This must be a void
fonction "
+"without parameters that has the same name as the class name but prefixed by "
+"the ~ character. The destructor is called automatically as soon as the class "
+"instance is no more referenced by anyone."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:67
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic private int counter = 0; // instance counter\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\tcounter ++; // one instance more\n"
+"\t}\n"
+"\tvoid ~MyClass( )\n"
+"\t{\n"
+"\t\tcounter --; // one instance less\n"
+"\t}\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item1( ); // counter = 1\n"
+"\tMyClass item2( ); // counter = 2\n"
+"\titem1 = null; // counter = 1\n"
+"} // counter = 0"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:69
+#, no-wrap
+msgid ""
+"If you pass a class instance as parameter to a function, the function only receives a reference to the instance. That means if you modify the "
+"instance in the function, the instance that has been passed to the function "
+"will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:72
+#, no-wrap
+msgid ""
+"public
, private
, static
, "
+"synchronized
, new
, reference
, "
+"this
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/close.txt:1
+#, no-wrap
+msgid "Instruction close
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:3
+#, no-wrap
+msgid ""
+"Close a file opened previously with open
. This "
+"is a method of the file
class; therefore you "
+"cannot write close()
but only handle.close()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/close.txt:5
+#, no-wrap
+msgid "\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:8
+#, no-wrap
+msgid ""
+"file
, open
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/cond.txt:1
+#, no-wrap
+msgid "Conditions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:4
+#, no-wrap
+msgid ""
+"A condition is a special expression that returns a boolean value, that can only be either true
or false
. With a "
+"condition, you can choose f. ex. if the instructions in a while
loop must be repeated again, or if the "
+"instruction in a if
bloc must be executed.\n"
+"Here are some operators that you can use in conditions to compare two values "
+":"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:11
+#, no-wrap
+msgid ""
+"a == b
a
equals b
\n"
+"a != b
a
is different from b
\n"
+"a < b
a
smaller than b
\n"
+"a <= b
a
smaller than or equal to "
+"b
\n"
+"a > b
a
greater than b
\n"
+"a >= b
a
greater than or equal to b
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:13
+#, no-wrap
+msgid "For example :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:20
+#, no-wrap
+msgid ""
+"12 == 12
returns true\n"
+"45 != 47
returns true \n"
+"99 == 98
returns false\n"
+"12 < -1
returns false\n"
+"12 >= 10
returns true \n"
+"12 >= 12
returns true "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/cond.txt:21
+#, no-wrap
+msgid "Remarque"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:23
+#, no-wrap
+msgid ""
+"Be careful not to confuse the equality comparison ==
with the "
+"assignment of a variable =
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:26
+#, no-wrap
+msgid ""
+"a == b
is an expression that compares a
with "
+"b
.\n"
+"a = b
is an expression that copies the value of b
"
+"into a
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/continue.txt:1
+#, no-wrap
+msgid "Instruction continue
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:7
+#, no-wrap
+msgid ""
+"bloc
of a while
"
+"or for
loop: The execution will resume at the "
+"beginning of the bloc, the next time the loop is repeated."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:21
+#, no-wrap
+msgid ""
+"i
1, "
+"2, 4 and 5."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/deletef.txt:1
+#, no-wrap
+msgid "Instruction deletefile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:3
+#, no-wrap
+msgid "The deletefile instruction deletes an existing file in the files/ folder. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:5
+#, no-wrap
+msgid ""
+"Files can only be deleted in the files/ folder which is located in the "
+"folder where Colobot has been installed. You cannot not delete files that "
+"are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/deletef.txt:8
+#, no-wrap
+msgid "deleteinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/delinfo.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:9
+#, no-wrap
+msgid ""
+"Name of the information to be deleted. This name is a string: it must be "
+"written in quotation marks \"¦\"."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/delinfo.txt:10 cbot-help/receive.txt:10 cbot-help/send.txt:14 cbot-help/testinfo.txt:10
+#, no-wrap
+msgid "power: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:12
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance between "
+"the sender and the exchange post. If the distance is longer, the information "
+"won't be deleted. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:15
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and testinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/direct.txt:1
+#, no-wrap
+msgid "Instruction direction
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/direct.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:9
+#, no-wrap
+msgid "Position towards which the robot must point."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/direct.txt:10 cbot-help/dist2d.txt:10 cbot-help/dist.txt:26 cbot-help/flatgrnd.txt:13 cbot-help/receive.txt:13 cbot-help/topo.txt:10
+#, no-wrap
+msgid "Return value: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:12
+#, no-wrap
+msgid ""
+"Angle of the rotation that must be performed. -90 means f. ex. a rotation of "
+"90 degrees to the right. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist2d.txt:1
+#, no-wrap
+msgid "Instruction distance2d
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:3 cbot-help/dist.txt:19 cbot-help/do.txt:3 cbot-help/drop.txt:13 cbot-help/fire.txt:11 cbot-help/for.txt:3 cbot-help/goto.txt:13 cbot-help/grab.txt:13 cbot-help/if.txt:24 cbot-help/jet.txt:3 cbot-help/message.txt:3 cbot-help/move.txt:9 cbot-help/radar.txt:15 cbot-help/receive.txt:3 cbot-help/recycle.txt:3 cbot-help/retobj.txt:3 cbot-help/search.txt:3 cbot-help/shield.txt:3 cbot-help/sniff.txt:3 cbot-help/thump.txt:3 cbot-help/topo.txt:3 cbot-help/turn.txt:20 cbot-help/wait.txt:11
+#, no-wrap
+msgid "Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist2d.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:9 cbot-help/dist.txt:25
+#, no-wrap
+msgid "Coordinates of the two positions. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:12 cbot-help/dist.txt:28
+#, no-wrap
+msgid "Distance between the two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:1
+#, no-wrap
+msgid "Instruction distance
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:3
+#, no-wrap
+msgid ""
+"With the instruction distance( , )
you can calculate the "
+"distance between two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:4 cbot-help/drop.txt:4 cbot-help/fire.txt:4 cbot-help/goto.txt:4 cbot-help/grab.txt:4 cbot-help/if.txt:4 cbot-help/motor.txt:4 cbot-help/move.txt:4 cbot-help/radar.txt:4 cbot-help/turn.txt:4 cbot-help/wait.txt:4 cbot-help/while.txt:4
+#, no-wrap
+msgid "Basic use"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:6
+#, no-wrap
+msgid ""
+"If you write position
alone, this gives you the position of the "
+"bot that executes the program. If you write the name of a variable followed "
+"by .position
, this gives you the position of the object "
+"described in the variable."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:8
+#, no-wrap
+msgid ""
+"Here is a program that moves forward, covering exactly the distance between "
+"the bot and the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:11
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:13
+#, no-wrap
+msgid ""
+"This is of course pure suicide. Better to stop 40 meters before, in order to "
+"be at shooting range:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:16
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position) - 40);"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:17 cbot-help/drop.txt:11 cbot-help/errmode.txt:4 cbot-help/file.txt:10 cbot-help/fire.txt:9 cbot-help/float.txt:19 cbot-help/goto.txt:11 cbot-help/grab.txt:11 cbot-help/if.txt:22 cbot-help/int.txt:13 cbot-help/motor.txt:14 cbot-help/move.txt:7 cbot-help/radar.txt:13 cbot-help/return.txt:9 cbot-help/turn.txt:18 cbot-help/wait.txt:9 cbot-help/while.txt:19
+#, no-wrap
+msgid "For specialists"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:20
+#, no-wrap
+msgid "do - while
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:8
+#, no-wrap
+msgid ""
+"do\n"
+"{\n"
+"\t
Instructions ...while ( ) { }
; the latter tests "
+"the condition before the instructions in the block are executed. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/do.txt:12 cbot-help/for.txt:13 cbot-help/while.txt:30
+#, no-wrap
+msgid "condition
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:14 cbot-help/while.txt:32
+#, no-wrap
+msgid ""
+"The instructions in the block are performed over and over again, as long as "
+"the condition is true. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:16 cbot-help/while.txt:34
+#, no-wrap
+msgid "Here is an example :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:21
+#, no-wrap
+msgid ""
+"while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:26
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction do { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/drop.txt:1
+#, no-wrap
+msgid "Instruction drop
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:3
+#, no-wrap
+msgid ""
+"The instruction int
(default valueInFront
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:22
+#, no-wrap
+msgid ""
+"Oper indicates where the robot should drop the object. If no indication is "
+"given, the object is dropped in front of the bot. \n"
+"InFront
Drops in front (default value).\n"
+"Behind
Drops behind.\n"
+"EnergyCell
Drops on the bot's own power cell location."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
object was dropped\n"
+"!= 0
error, no object was dropped"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/eof.txt:1
+#, no-wrap
+msgid "Instruction eof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:3
+#, no-wrap
+msgid ""
+"Test the end of file condition of an open file. This is a method of the "
+"file
class; therefore you cannot write "
+"eof()
but only handle.eof()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:5
+#, no-wrap
+msgid "\tif ( handle.eof() ) "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:7 cbot-help/readln.txt:12
+#, no-wrap
+msgid "Example¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:12
+#, no-wrap
+msgid ""
+"\twhile ( not handle.eof() )\n"
+"\t{\n"
+"\t\ts = handle.readln();\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:15
+#, no-wrap
+msgid ""
+"file
, open
, "
+"close
, readln
"
+"and writeln
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/errmode.txt:1
+#, no-wrap
+msgid "Instruction errmode
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:3
+#, no-wrap
+msgid ""
+"The goto
, move
, grab
, drop
, etc."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:7
+#, no-wrap
+msgid "float
(1
per default)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:14
+#, no-wrap
+msgid ""
+"Error treatment mode.\n"
+"0
-> continues program execution and returns a non zero value\n"
+"1
-> stops the program (default behavior)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:16
+#, no-wrap
+msgid "Exemple 1¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:21
+#, no-wrap
+msgid ""
+"\n"
+"\t
take some appropriate action ...+
addition\n"
+"-
subtraction\n"
+"*
multiplication\n"
+"/
division\n"
+"%
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:11
+#, no-wrap
+msgid ""
+"With the addition operator +
, you can not only add numbers, you "
+"can also append strings."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:21
+#, no-wrap
+msgid ""
+"\tint i = 12+3; // returns 15\n"
+"\tstring s = \"a\"+\"bc\"; // returns \"abc\"\n"
+"\tint i = 2-5; // returns -3\n"
+"\tfloat f = 3.01*10; // returns 30.1\n"
+"\tint i = 5/3; // returns 1\n"
+"\tfloat f = 5/3; // returns 1.67\n"
+"\tfloat f = 5/0; // returns an error\n"
+"\tint i = 13%5; // returns 3\n"
+"\tint i = -8%3; // returns -2"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:23
+#, no-wrap
+msgid ""
+"An expression can include constants or variables. For "
+"example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:25
+#, no-wrap
+msgid "\t12+dist
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:27
+#, no-wrap
+msgid ""
+"Multiplications and divisions are performed before additions and "
+"subtractions. In order to be sure that the operations are performed in the "
+"right order, use brackets: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:30
+#, no-wrap
+msgid ""
+"\t12*a+b/c sin(angle)
sinus\n"
+"cos(angle)
cosinus\n"
+"tan(angle)
tangent\n"
+"asin(value)
arc-sinus\n"
+"acos(value)
arc-cosinus\n"
+"atan(value)
arc-tangente\n"
+"sqrt(value)
square root\n"
+"pow(x, y)
x power y\n"
+"rand()
random value ranging between 0 and 1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:49
+#, no-wrap
+msgid "Angles are in degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:50
+#, no-wrap
+msgid "Compound assignment operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:52
+#, no-wrap
+msgid ""
+"Besides the =
operators for variable assignment there are "
+"several compound-assignment operators."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:54
+#, no-wrap
+msgid ""
+"The compound-assignment operators combine the =
assignment "
+"operator with another binary operator such as +
or "
+"-
. Compound-assignment operators perform the operation "
+"specified by the additional operator and then assign the result to the left "
+"operand. For example, a compound-assignment expression such as "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:56
+#, no-wrap
+msgid "+=
addition\n"
+"-=
subtraction\n"
+"*=
multiplication\n"
+"/=
division\n"
+"%=
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:67
+#, no-wrap
+msgid "Prefix and posfix increment- and decrement operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:69
+#, no-wrap
+msgid ""
+"The operators ++
and --
allow you to increment "
+"(++) or to decrement (--) a variable in very compact and efficient manner."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:74
+#, no-wrap
+msgid ""
+"For example to increment the variable a
you can write\n"
+"a++
is the value of the variable "
+"a
before the increment. If you use the prefix operator "
+"++a
the value of the expression is the value of the variable "
+"a
after the increment. The same holds for the --
"
+"decrement operator."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:79
+#, no-wrap
+msgid ""
+"Exemples:\n"
+"extern
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:3
+#, no-wrap
+msgid ""
+"The extern
instruction determines the function that acts as main program of a robot. The name of "
+"the function declared with extern
will apear in the program "
+"list in the lower left corner of the screen."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:12
+#, no-wrap
+msgid ""
+"extern void object::MowDown( )\n"
+"{\n"
+"\twhile ( true )\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t\tturn(10);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:14
+#, no-wrap
+msgid ""
+"If the program contains other functions, only the main function must be "
+"preceded by extern
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tLine(10);\n"
+"\t}\n"
+"}\n"
+"\n"
+"void object::Line(float dist)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(90);\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/false.txt:1
+#, no-wrap
+msgid "Type false
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/false.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is not true; it is one of the two values "
+"that a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/file.txt:1
+#, no-wrap
+msgid "Type file
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:3
+#, no-wrap
+msgid "This type is used for accessing files in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:5
+#, no-wrap
+msgid "\tfile handle();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:7
+#, no-wrap
+msgid ""
+"Use the syntax above for declaring a file handle. You must use () to create "
+"an instance of the file
class. Without the () the handle would "
+"have the value null
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:9
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:12
+#, no-wrap
+msgid ""
+"file
is actually not a simple type but a "
+"class. open
, close
, writeln
etc. are "
+"methods of the file
class. This is the reason why we always "
+"write handle.method()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:15
+#, no-wrap
+msgid ""
+"\thandle.open(\"test.txt\", \"w\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:18
+#, no-wrap
+msgid ""
+"open
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/fire.txt:1
+#, no-wrap
+msgid "Instruction fire
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:3
+#, no-wrap
+msgid "The instruction aim
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/fire.txt:22 cbot-help/wait.txt:15
+#, no-wrap
+msgid "time: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:24
+#, no-wrap
+msgid ""
+"Duration of the burst. Generally, the value given is 1. Shorter bursts can "
+"also be performed in order to spare time and energy."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:29
+#, no-wrap
+msgid ""
+"Zero if OK, or a value different from zero if an error occurred.\n"
+"== 0
the cannon has been fired\n"
+"!= 0
error, the cannon could not be fired"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/flatgrnd.txt:1
+#, no-wrap
+msgid "Instruction flatground
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/flatgrnd.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:9
+#, no-wrap
+msgid "Center of the circlular zone."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/flatgrnd.txt:10
+#, no-wrap
+msgid "rmax: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:12
+#, no-wrap
+msgid "Maximal radius."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:15
+#, no-wrap
+msgid "Radius of the flat zone (always between 0 and rmax)."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/float.txt:1
+#, no-wrap
+msgid "Type float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:3
+#, no-wrap
+msgid ""
+"Use this type for most variables that contains numbers. Variables of this "
+"type can contain positive and negative numbers, whole or real numbers, for "
+"example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:8
+#, no-wrap
+msgid ""
+"\t12.9\n"
+"\t1.125\n"
+"\t0.002\n"
+"\t-4.1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:10
+#, no-wrap
+msgid ""
+"If you need only whole numbers (f. ex. 12 or -5000), you should rather use "
+"the type int
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:13
+#, no-wrap
+msgid ""
+"Do not insert space or colon characters into a number. To separate the whole "
+"part from the fractional part, use a dot. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:18
+#, no-wrap
+msgid ""
+" Write and not\n"
+" 12.56 12 . 56\n"
+" -54.34 -54,34\n"
+"12895.69 12,895.69"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:23
+#, no-wrap
+msgid ""
+"Floating point numbers are represented in Colobot with 32 bits.\n"
+"The highest value that can be represented is 3.4E+38.\n"
+"The smallest value that can be represented is 3.4E-38."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/for.txt:1
+#, no-wrap
+msgid "Instruction for
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:7
+#, no-wrap
+msgid ""
+"before
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:12
+#, no-wrap
+msgid "This instruction is executed before the first loop instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:15
+#, no-wrap
+msgid ""
+"This condition determines if another instance of the loop "
+"must be executed. It is tested before every instance of the loop. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/for.txt:16
+#, no-wrap
+msgid "end
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:18
+#, no-wrap
+msgid "This instruction is executed at the end of every instance of the loop. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:21
+#, no-wrap
+msgid ""
+"Example: count from 1 to 4\n"
+"for
-loop, but "
+"it uses the instruction while
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:32
+#, no-wrap
+msgid ""
+"for ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:37
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction for
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/function.txt:1
+#, no-wrap
+msgid "Functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:4
+#, no-wrap
+msgid ""
+"With functions you can divide your program into several parts, each of them "
+"will execute a specific task.\n"
+"Let's imagine following program¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:16
+#, no-wrap
+msgid ""
+"extern void object::Remote( )\n"
+"{\n"
+"\tsend(\"order\", 1, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 3, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 2, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 4, 100);\n"
+"\twait(5);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:18
+#, no-wrap
+msgid ""
+"send
and wait
are repeated several times. So it "
+"would be a good thing if we created a function that executes these two "
+"instructions:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:31
+#, no-wrap
+msgid ""
+"void object::SendToPost( float op )\n"
+"{\n"
+"\tsend(\"order\", op, 100);\n"
+"\twait(5);\n"
+"}\n"
+"extern void object::Remote( )\n"
+"{\n"
+"\tSendToPost(1);\n"
+"\tSendToPost(3);\n"
+"\tSendToPost(2);\n"
+"\tSendToPost(4);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:33
+#, no-wrap
+msgid "A function can have paramteters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:35
+#, no-wrap
+msgid "void Example( int a, float x, string s )"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:37
+#, no-wrap
+msgid ""
+"The Exemple
function will reveive un integer a
, a "
+"floating point number x
and a string s
. Parameters "
+"are \"passed by value\", that is the values of parameter variables in a "
+"function are copies of the values the caller specified as variables. If you "
+"pass an int
to a function, its parameter is a copy of whatever "
+"value was being passed as argument, and the function can change its "
+"parameter value without affecting values in the code that invoked the "
+"function."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:39
+#, no-wrap
+msgid ""
+"If you pass a class instance or an array "
+"as parameter to a function, the function only receives a reference to the instance or the array. That means if you "
+"modify the instance or the array in the function, the instance or the array "
+"that has been specified by the caller will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:41
+#, no-wrap
+msgid ""
+"A function can also return a result with the return
instruction. Therefore the function must be "
+"declared no longer as void but as a type:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:53
+#, no-wrap
+msgid ""
+"float Mean( float a, float b )\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}\n"
+"\n"
+"extern void object::Test( )\n"
+"{\n"
+"\tfloat value;\n"
+"\tvalue = Mean(2, 6);\n"
+"\tmessage( value ); // will display 4\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:55
+#, no-wrap
+msgid "Some other examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:67
+#, no-wrap
+msgid ""
+"float Pi( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}\n"
+"\n"
+"string Sign( float a )\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:69
+#, no-wrap
+msgid ""
+"You can declare several functions with the same name but different "
+"parameters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:79
+#, no-wrap
+msgid ""
+"float Pythagoras( float a, float b )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b));\n"
+"}\n"
+"\n"
+"float Pythagoras( float a, float b, float c )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b)+(c*c));\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:81
+#, no-wrap
+msgid ""
+"CBOT will call either the one or the other function depending on the "
+"paramteres passed."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:83
+#, no-wrap
+msgid ""
+"You can also declare a function public so it can be used "
+"by other bots."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/goto.txt:1
+#, no-wrap
+msgid "Instruction goto
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:3
+#, no-wrap
+msgid "The instruction .position
in order to get the position of the object. Here is "
+"an example of a program that looks for a titanium cube, "
+"goes to the position and grabs it:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:10
+#, no-wrap
+msgid ""
+"\titem = radar(Titanium);\n"
+"\tgoto(item.position);\n"
+"\tgrab();"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:14
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:22
+#, no-wrap
+msgid ""
+"Flight altitude for winged bots. The altitude is useful "
+"only for winged bots. From the initial altitude, the bot "
+"climbs higher until it reaches the specified hight. When arriving close to "
+"destination, it goes down to touch the ground at the given position. If no "
+"value is given, an altitude of 10 meters is the default value. On very short "
+"moves, even winged bot stay on the ground. For all bot except winged bots, "
+"this parameter is ignored. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/goto.txt:23
+#, no-wrap
+msgid "goal: int
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:28
+#, no-wrap
+msgid ""
+"This parameter tells the bot how it must reach the goal: \n"
+"0
stops exactly at the goal position\n"
+"1
goes close to the goal position, without stopping.\n"
+"If no value is given, 1
(precision) is the default value. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:33
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by goto()
.\n"
+"== 0
Goal position reached\n"
+"!= 0
Goal position impossible to reach"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/grab.txt:1
+#, no-wrap
+msgid "Instruction grab
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:3
+#, no-wrap
+msgid ""
+"The instruction InFront
Grabs in front (default value).\n"
+"Behind
Grabs behind.\n"
+"EnergyCell
Grabs the bot's own power cell."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
an object was grabbed\n"
+"!= 0
error, no object was grabbed"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/if.txt:1
+#, no-wrap
+msgid "Instructions if
and else
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:3
+#, no-wrap
+msgid ""
+"With the instruction if() {}
you can execute a set of "
+"instructions only if a certain condition is true. Write the condition in "
+"brackets ()
, and the instructions in braces {}
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:6
+#, no-wrap
+msgid ""
+"Here is a concrete example: The bot will shoot only if the target is closer "
+"than 40 meters:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:12
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tif (distance(position, item.position) < 40)\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:14
+#, no-wrap
+msgid ""
+"You can also test if an object exists at all. If the instruction null
. So you can test if an object does not exists "
+"with the condition (item == null)
, or test if it exists with "
+"(item != null)
. Two equal signs ==
test equality, "
+"an exclamation mark followed by an equal sign !=
test "
+"inequality. Here is a test that will go to rechage the power "
+"cell only if there is a power station:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:21
+#, no-wrap
+msgid ""
+"\titem = radar(PowerStation);\n"
+"\tif (item != null)\n"
+"\t{\n"
+"\t\tgoto(item.position);\n"
+"\t\twait(5);\n"
+"\t}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:32
+#, no-wrap
+msgid ""
+"if ( condition )\n"
+"{\n"
+"\t
Instructions A ...\n"
+"}\n"
+"else\n"
+"{\n"
+"\t
Instructions B ...else { }
is not compulsory. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:38
+#, no-wrap
+msgid ""
+"Do not put a semicolon at the end of the line if ( "
+")
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/int.txt:1
+#, no-wrap
+msgid "Type int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain only whole numbers, negative or "
+"positive. For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/int.txt:7
+#, no-wrap
+msgid ""
+"\t12\n"
+"\t1000\n"
+"\t-4"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:9
+#, no-wrap
+msgid ""
+"To represent real numbers like 12.05 or -0.005, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:12
+#, no-wrap
+msgid "Do not put space or colon signs inside a number. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:17
+#, no-wrap
+msgid ""
+"Numbers of the type int
are represented with 32 bits.\n"
+"The highest number that can be represented is (2^31)-1, that is "
+"2'147'483'647.\n"
+"The smallest number that can be represented is -(2^31), that is "
+"-2'147'483'648."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/jet.txt:1
+#, no-wrap
+msgid "Instruction jet
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/jet.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:9
+#, no-wrap
+msgid ""
+"Power of the jet, ranges between -1
and "
+"+1
. void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:13 cbot-help/message.txt:23 cbot-help/motor.txt:37 cbot-help/shield.txt:17 cbot-help/wait.txt:20
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/message.txt:1
+#, no-wrap
+msgid "Instruction message
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/message.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:13
+#, no-wrap
+msgid ""
+"Text that is to be displayed. It is possible to append several texts and/or "
+"values with the operator +
:\n"
+"int
(default value "
+"DisplayMessage
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "Type of the message, that determines the background color. \n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "DisplayMessage
Standard message on yellow background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:17
+#, no-wrap
+msgid "DisplayInfo
Information on green background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:18
+#, no-wrap
+msgid "DisplayWarning
Warning on blue background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:19
+#, no-wrap
+msgid "DisplayError
Error on red background."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/motor.txt:1
+#, no-wrap
+msgid "Instruction motor
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:3
+#, no-wrap
+msgid ""
+"The instruction move
, turn
or goto
instruction "
+"is performed."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:20
+#, no-wrap
+msgid "left: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:22
+#, no-wrap
+msgid ""
+"Speed instruction for the left motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:23
+#, no-wrap
+msgid "right: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:25
+#, no-wrap
+msgid ""
+"Speed instruction for the right motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:30
+#, no-wrap
+msgid ""
+"Examples :\n"
+"motor(1, "
+"1)
\n"
+"motor(-1, -1)
"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/move.txt:1
+#, no-wrap
+msgid "Instruction move
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:3
+#, no-wrap
+msgid ""
+"The instruction float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:15
+#, no-wrap
+msgid ""
+"Length of the move, in meters. A negative value makes the bot move "
+"backward. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:20
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by move()
.\n"
+"== 0
Move executed\n"
+"!= 0
error, the instruction was not performed correctly"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/nan.txt:1
+#, no-wrap
+msgid "Type nan
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:4
+#, no-wrap
+msgid ""
+"This special value indicates that a variable of type "
+"int
or float
"
+"contains no number, but \"nothing\". \n"
+"For example, if the instruction receive
can "
+"not get the requested information, it returns nan
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/nan.txt:10
+#, no-wrap
+msgid ""
+"\tvalue = receive(\"Length\");\n"
+"\tif ( value == nan ) // not found ?\n"
+"\t{\n"
+"\t\t\n"
+"\t}"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/nan.txt:11
+#, no-wrap
+msgid "Dictionnary"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:13
+#, no-wrap
+msgid "nan
= Not A Number "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/new.txt:1
+#, no-wrap
+msgid "Instruction new
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:4
+#, no-wrap
+msgid ""
+"The new
operator creates a class instance:\n"
+"new
operator by putting () after the declaration:"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:13
+#, no-wrap
+msgid ""
+"Instead of:\n"
+"class
, reference
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/null.txt:1
+#, no-wrap
+msgid "Type null
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:3
+#, no-wrap
+msgid ""
+"This special value indicates that the variable containing it does not "
+"reference an instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:7
+#, no-wrap
+msgid ""
+"References\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:1
+#, no-wrap
+msgid "Type object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain the characteristics of an object, "
+"be it a bot, a building, some raw material, an enemy, etc. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:16
+#, no-wrap
+msgid ""
+"int object.category
Category of the object\n"
+"point object.position
Position of the "
+"object (x,y,z)\n"
+"float object.orientation
Orientation of the "
+"object (0..360)\n"
+"float object.pitch
Forward/backward "
+"angle of the object\n"
+"float object.roll
Right/left angle "
+"of the object \n"
+"float object.energyLevel
Energy level "
+"(0..1)\n"
+"float object.shieldLevel
Shield level "
+"(0..1)\n"
+"float object.temperature
Jet temperature "
+"(0..1)\n"
+"float object.altitude
Altitude above "
+"ground\n"
+"float object.lifeTime
Lifetime of the "
+"object\n"
+"object object.energyCell
Power cell on the bot\n"
+"object object.load
Object carried by the bot"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:18
+#, no-wrap
+msgid "category
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:19
+#, no-wrap
+msgid ""
+"The position
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:22
+#, no-wrap
+msgid ""
+"Position of the object on the planet, in meters. The coordinates "
+"x
and y
correspond to the location on a map, the "
+"z
coordinate corresponds to the altitude above (respectively "
+"below) sea level. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:24
+#, no-wrap
+msgid "orientation
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:25
+#, no-wrap
+msgid ""
+"Orientation of the object, in degrees. The orientation tells you what "
+"direction the object is facing. An orientation of 0
corresponds "
+"to an object facing eastwards, thus following the positive x
"
+"axis. The orientation is measured counterclockwise. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:27
+#, no-wrap
+msgid "pitch
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:28
+#, no-wrap
+msgid ""
+"Forward/backward angle of the robot. A pitch of 0
means that "
+"the bot is standing on flat ground. A positive inclination means that it is "
+"facing upwards, a negative inclination means that it is facing downwards. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:30
+#, no-wrap
+msgid "roll
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:31
+#, no-wrap
+msgid ""
+"Left/right angle of the bot, in degrees. A positive value means that the bot "
+"is leaning to the left side, a negative value means that it is leaning to "
+"the right side. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:33
+#, no-wrap
+msgid "energyLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:34
+#, no-wrap
+msgid ""
+"Energy level, between 0 and 1. A normal power cell that "
+"is fully charged returns the value 1
. A nuclear power cell never returns a value higher than 1, it "
+"just lasts longer. Attention: The energy level of a bot is always zero, "
+"because the energy is not contained in the bot, but in the power cell. To "
+"know the energy level of the power cell of a bot, you must write "
+"energyCell.energyLevel
. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:36
+#, no-wrap
+msgid "shieldLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:38
+#, no-wrap
+msgid ""
+"Shield level of a robot or building. A level 1
indicates that "
+"the shield is still perfect. Every time that the bot or building gets a "
+"bullet or collides with another object, the shield level decreases. When the "
+"level reaches 0
, the next bullet or collision will destroy the "
+"bot or building. \n"
+"Bots can re-energize their shield on a repair "
+"center. The shield of a building is repaired if it lays inside the "
+"protection sphere of a shielder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:40
+#, no-wrap
+msgid "temperature
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:41
+#, no-wrap
+msgid ""
+"Temperature of the jet of winged bots. 0
"
+"corresponds to a cold jet. When used, the temperature increases "
+"progressively. When it reaches the value 1
, the jet is "
+"overheated and stops working, until it cooled down a little. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:43
+#, no-wrap
+msgid "altitude
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:44
+#, no-wrap
+msgid ""
+"The z
coordinate of the position indicates the altitude above "
+"sea level, whereas the altitude
indicates the height above "
+"ground. This value is meaningful only for winged bots "
+"and for wasps. For all other objects, this value is "
+"zero. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:46
+#, no-wrap
+msgid "lifeTime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:47
+#, no-wrap
+msgid "The age of the object in seconds since it's creation."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:49
+#, no-wrap
+msgid "energyCell
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:52
+#, no-wrap
+msgid ""
+"This information is special, because it returns the information about "
+"another object, in this case the power pack. This means that energyCell "
+"contains all the characteristics of a normal object, for example "
+"category
(PowerCell or NuclearCell), position
(the "
+"position of the cell), etc.\n"
+"If you want to know the energy level of a robot, you must not check "
+"energyLevel
, but energyCell.energyLevel
.\n"
+"If the bot has bot no power cell, energyCell
returns "
+"null
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:54
+#, no-wrap
+msgid "load
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:55
+#, no-wrap
+msgid ""
+"This information also returns the description of a whole object: the "
+"description of the object carried by a grabber. If it "
+"carries nothing, load
returns null
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:56
+#, no-wrap
+msgid "Examples"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:58
+#, no-wrap
+msgid ""
+"The type object
returns the special value null
when the object does not exist. For example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:67
+#, no-wrap
+msgid ""
+"\tobject a;\n"
+"\ta = radar(BotGrabberRoller);\n"
+"\tif ( a == null ) // object does not exist ?\n"
+"\t{\n"
+"\t}\n"
+"\tif ( a.position.z > 50 ) // is it on a mountain ?\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:68
+#, no-wrap
+msgid "openfile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:3
+#, no-wrap
+msgid ""
+"file
class but openfile returne "
+"a reference to a new instance of the file class. You "
+"must supply two parameters, the filename and the opening mode."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/openfile.txt:5
+#, no-wrap
+msgid "file handle = openfile(\"filename\", \"r\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:8 cbot-help/open.txt:15
+#, no-wrap
+msgid ""
+"\"r\"
mode: open for reading.\n"
+"\"w\"
mode: open for writing."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/open.txt:1
+#, no-wrap
+msgid "Instruction open
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:3
+#, no-wrap
+msgid ""
+"Open a text file in the files/ folder. This is a method of the file
class. This is the reason why we always write "
+"handle.open()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:5
+#, no-wrap
+msgid "\thandle.open(\"test.txt\", \"w\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:7
+#, no-wrap
+msgid "To open a file, proceed as follows¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:12
+#, no-wrap
+msgid ""
+"\tfile handle();\n"
+"\thandle.open(\"filename\", \"w\");\n"
+"\thandle.writeln(\"abc\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:17
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files that are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:20
+#, no-wrap
+msgid ""
+"file
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/pointer.txt:1
+#, no-wrap
+msgid "References (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:3
+#, no-wrap
+msgid ""
+"CBOT uses references for classes and arrays. Any class variable actually contains a reference to "
+"the instance. The instance actually contains the class fields. Several "
+"references can reference the same instance. A null
reference references nothing. You can compare an "
+"instance to a suitcase and a reference to a carrier. Each time we need a new "
+"suitcase we create a new instance with a carrier. But a suitcase can be "
+"carried by more than one carrier. A carrier who carries no suitcase is a "
+"null
reference."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"Test()
¦:\n"
+"a = 33
is referenced only by "
+"the newly created instance item
inside the fucntion "
+"Test
. At the end of Test
this newly created "
+"instance referenced by item
is automatically deleted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:37
+#, no-wrap
+msgid ""
+"A function can return an instance¦:\n"
+"class
, new
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/point.txt:1
+#, no-wrap
+msgid "Type point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:5
+#, no-wrap
+msgid ""
+"Variables of this type contain the coordinates of a point in space. This "
+"type is made of three values that represent the x
, "
+"y
and z
coordinates.\n"
+"x
and y
correspond to the place on the ground. The "
+"positive x
axis faces towards east, the positive y
"
+"axis faces towards north. \n"
+"The z
value corresponds to the altitude above sea level. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:7
+#, no-wrap
+msgid "If you want to declare a variable of type point, you can write: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:9
+#, no-wrap
+msgid "\tpoint a (10, 20, 30);"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:11
+#, no-wrap
+msgid "You can also set the variable taking one value after another:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:16
+#, no-wrap
+msgid ""
+"\tpoint b;\n"
+"\tb.x = 10;\n"
+"\tb.y = 20;\n"
+"\tb.z = 30;"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:18
+#, no-wrap
+msgid "With these examples, the following condition is true:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:22
+#, no-wrap
+msgid ""
+"\tif ( a == b )\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:24
+#, no-wrap
+msgid ""
+"private
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:3
+#, no-wrap
+msgid ""
+"Class members can be public (by "
+"default) or private. A member can be declared privat by putting "
+"private
before the type declaration of the member. Private "
+"members are not accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/private.txt:16
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by défault\n"
+"\tpublic int a; // als public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:19
+#, no-wrap
+msgid ""
+"class
, public
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:1
+#, no-wrap
+msgid "Instruction public
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:3
+#, no-wrap
+msgid "This instruction has two distinct purposes¦:"
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/public.txt:4
+#, no-wrap
+msgid "Make a function available to other bots."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/public.txt:5
+#, no-wrap
+msgid "Make a class member accessible from outside the class definition."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:7
+#, no-wrap
+msgid "Instruction public
for functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:9
+#, no-wrap
+msgid ""
+"If you put public
before a function "
+"definition, you can make the function available to programs in other bots in "
+"the same mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:11
+#, no-wrap
+msgid "For example in the first bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:17
+#, no-wrap
+msgid ""
+"public void object::Segment(float dist, float angle)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(angle);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:19
+#, no-wrap
+msgid "And in another bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tSegment(10, 90);\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:30
+#, no-wrap
+msgid ""
+"If you have declared a function public
, you cannot define a "
+"function with the same name and arguments in another bot of the same "
+"mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:32
+#, no-wrap
+msgid ""
+"If a bot containing a public
function is destroyed, the other "
+"bots that make use of this function will be stopped with an error."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:33
+#, no-wrap
+msgid "Instruction public
for classes"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:35
+#, no-wrap
+msgid ""
+"Class members can be public (by default) or privat. A member can be declared private by putting "
+"private
before the member type. Private members are not "
+"accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:48
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by default\n"
+"\tpublic int a; // also public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:51
+#, no-wrap
+msgid ""
+"class
, private
, functions
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/radar.txt:1
+#, no-wrap
+msgid "Instruction radar
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:3
+#, no-wrap
+msgid ""
+"With the instruction radar()
, you can look for objects like enemies, bots, buildings or raw materials."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Write in brackets the name of the object that you look "
+"for. Put the result in a variable of the type "
+"object
. Here is an example that looks for the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:12
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:16
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:24
+#, no-wrap
+msgid ""
+"Category of the objects that should be detected. For "
+"example, when you are looking for an ant, write radar "
+"(AlienAnt)
. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:25
+#, no-wrap
+msgid "angle: float
(default value0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:30
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0
-> radar is facing straight ahead\n"
+"-90
-> radar is facing a quarter turn right\n"
+" 90
-> radar is facing a quarter turn left"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:31
+#, no-wrap
+msgid "focus: float
(default value360
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:33
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:34
+#, no-wrap
+msgid "min: float
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:36
+#, no-wrap
+msgid ""
+"Minimum detection distance, in meters. Objects that are closer than the "
+"minimum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:37
+#, no-wrap
+msgid "max: float
(Default value1000
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:39
+#, no-wrap
+msgid ""
+"Maximum detection distance, in meters. Objects that are farther away than "
+"the maximum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:40
+#, no-wrap
+msgid "way: float
(default value1
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:42
+#, no-wrap
+msgid ""
+"Determines which way the objects are detected. With value 1
, "
+"returns the closest object found in the specified zone. With value "
+"-1
, the farthest object in the zone will be returned. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:43 cbot-help/retobj.txt:10 cbot-help/search.txt:13
+#, no-wrap
+msgid "Return value: object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:45
+#, no-wrap
+msgid ""
+"Returns the first object found that corresponds to the specified category in "
+"the specified zone. If no object was found, returns the value null
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:46
+#, no-wrap
+msgid "Remark"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:48
+#, no-wrap
+msgid ""
+"You do not have to give all the parameters. Here are two examples of "
+"instructions that are equivalent: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:51
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:54
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:57
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated "
+"above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar "
+"(AlienAnt)
detects the closest ant, wherever it may be. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/readln.txt:1
+#, no-wrap
+msgid "Instruction readln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:3
+#, no-wrap
+msgid ""
+"Read one line from an open file in the files/ folder. This is a method of "
+"the file
class. This is the reason why we "
+"always write handle.readln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:5
+#, no-wrap
+msgid "\ts = handle.readln();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for reading (\"r\"
) with the "
+"open
instruction. readln
returns "
+"the string containing the whole line but without the end of line characters "
+"0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/receive.txt:1
+#, no-wrap
+msgid "Instruction receive
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/receive.txt:4
+#, no-wrap
+msgid "nan
is returned."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/receive.txt:18
+#, no-wrap
+msgid ""
+"send
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/recycle.txt:1
+#, no-wrap
+msgid "Instruction recycle
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/recycle.txt:4
+#, no-wrap
+msgid "== 0
the derelict bot has been recycled\n"
+"!= 0
error, no derelict bot could be recycled"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/retobj.txt:1
+#, no-wrap
+msgid "Instruction retobject
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/retobj.txt:4
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:9
+#, no-wrap
+msgid ""
+"Number of the object, between 0 and n. \"n\" represents the total number of "
+"objects in the scene. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:12
+#, no-wrap
+msgid ""
+"Object corresponding to the number. The return value null
means that no object corresponds to this number, "
+"because the number was too high, and there are not so many objects in the "
+"scene. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/return.txt:1
+#, no-wrap
+msgid "Instruction return
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:3
+#, no-wrap
+msgid "Returns from a function. Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:8
+#, no-wrap
+msgid ""
+"void function ( )\n"
+"{\n"
+"\treturn;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:11
+#, no-wrap
+msgid ""
+"If the function has a return type, the "
+"return
instruction must be followed by the value to be "
+"returned:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:16
+#, no-wrap
+msgid ""
+"float Pi ( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:21
+#, no-wrap
+msgid ""
+"float Mean (float a, float b)\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:28
+#, no-wrap
+msgid ""
+"string Sign (float a)\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/search.txt:1
+#, no-wrap
+msgid "Instruction search
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/search.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:12
+#, no-wrap
+msgid ""
+"search
returns the object of the given category that is closest "
+"to the position indicated here. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:15
+#, no-wrap
+msgid ""
+"Characteristics of the object that has been found. The value null
means that no object of this category has been "
+"found. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/send.txt:1
+#, no-wrap
+msgid "Instruction send
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/send.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:13
+#, no-wrap
+msgid "Value of the information to be sent."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:16
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance to where "
+"information can be the sent. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:19
+#, no-wrap
+msgid ""
+"receive
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/shield.txt:1
+#, no-wrap
+msgid "Instruction shield
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/shield.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:11
+#, no-wrap
+msgid ""
+"1
activates the shield.\n"
+"0
deactivates the shield\n"
+"A normal power cell fully charged can maintain the "
+"shield active during 20 seconds. When the cell is empty, the shield "
+"deactivates."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/shield.txt:12
+#, no-wrap
+msgid "radius: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:14
+#, no-wrap
+msgid "Radius of the shield, ranging between 10 and 25 meters."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sizeof.txt:1
+#, no-wrap
+msgid "Instruction sizeof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:4
+#, no-wrap
+msgid ""
+"The sizeof function lets you know the number of elements contained in an array.\n"
+"That is the index of the last element plus one (\"empty\" elements are "
+"counted)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:10
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[12];\n"
+"\ta[5] = 345;\n"
+"\tmessage( sizeof(a) ); // will display 6\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:12
+#, no-wrap
+msgid ""
+"In this example we have 6 elements in the array after "
+"a[5]=345
. The non initialized elements [0]
, "
+"[1]
, [2]
, [3]
and [4]
"
+"will be counted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:14
+#, no-wrap
+msgid "With multidimensionnal arrays you can get the size of a sub array:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:20
+#, no-wrap
+msgid ""
+"float xy[][]; // 2 dimensionnal array\n"
+"xy[5][10] = 67;\n"
+"message( sizeof(xy) ); // will display 6\n"
+"message( sizeof(xy[5]) ); // will display 11\n"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sniff.txt:1
+#, no-wrap
+msgid "Instruction sniff
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sniff.txt:4
+#, no-wrap
+msgid "TitaniumSpot
-> Red cross\n"
+"UraniumSpot
-> Yellow circle\n"
+"PowerSpot
-> Green cross"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sniff.txt:15
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
sounding performed\n"
+"!= 0
sounding impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/space.txt:1
+#, no-wrap
+msgid "Instruction space
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/space.txt:4
+#, no-wrap
+msgid "point
(default: bot position)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:9
+#, no-wrap
+msgid "Desired position of the free space."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:10
+#, no-wrap
+msgid "rmin: float
(default value: 8
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:12
+#, no-wrap
+msgid "Minimum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:13
+#, no-wrap
+msgid "rmax: float
(default value: 50
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:15
+#, no-wrap
+msgid "Maximum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:16
+#, no-wrap
+msgid "dist: float
(default value: 4
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:18
+#, no-wrap
+msgid "Required distance between two free spaces."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:19
+#, no-wrap
+msgid "Return: point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:21
+#, no-wrap
+msgid "Position of the free space."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/static.txt:1
+#, no-wrap
+msgid "Instruction static
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:3
+#, no-wrap
+msgid ""
+"Class members declared with static
are shared "
+"between all instances of the class."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/static.txt:17
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic int nb = 1;\n"
+"\tstatic string [ ] list = null;\n"
+"}\n"
+"void Test ()\n"
+"{\n"
+"\tMyClasse item1();\n"
+"\tMyClasse item2();\n"
+"\titem1.nb = 3;\n"
+"\titem1.list[item1.nb] = \"Hello\";\n"
+"\tmessage( item2.list[item2.nb] ); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:19
+#, no-wrap
+msgid ""
+"Static
members can be declared private
so they will be only acessible from within "
+"class members (including constructors and destructors)."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:22
+#, no-wrap
+msgid ""
+"class
, synchronized
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strfind.txt:1
+#, no-wrap
+msgid "Instruction strfind
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:3
+#, no-wrap
+msgid ""
+"Find a substring in a string and returns the position of the first substring "
+"found or nan if the substring has not been found."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:6
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:9
+#, no-wrap
+msgid "String we are searching in."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/strfind.txt:10
+#, no-wrap
+msgid "sub: string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:12
+#, no-wrap
+msgid "Substring we are searching for."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:14 cbot-help/strleft.txt:11 cbot-help/strlen.txt:8 cbot-help/strlower.txt:8 cbot-help/strmid.txt:14 cbot-help/strright.txt:11 cbot-help/strupper.txt:8 cbot-help/strval.txt:5 cbot-help/strval.txt:12 cbot-help/writeln.txt:12
+#, no-wrap
+msgid "Examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/string.txt:1
+#, no-wrap
+msgid "Type string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:3
+#, no-wrap
+msgid "Use a variable of this type for storing characters or strings."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:5
+#, no-wrap
+msgid "For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:9
+#, no-wrap
+msgid ""
+"+
operator :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:12
+#, no-wrap
+msgid "strlen
Get string length\n"
+"strleft
Extract left part\n"
+"strright
Extract right part\n"
+"strmid
Extract center part\n"
+"strfind
Find a substring.\n"
+"strval
Convert string to number\n"
+"strupper
Convert to upper case\n"
+"strlower
Convert to lower case"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strleft.txt:1
+#, no-wrap
+msgid "Instruction strleft
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:3
+#, no-wrap
+msgid "Extracts the first (that is, leftmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:9 cbot-help/strmid.txt:12 cbot-help/strright.txt:9
+#, no-wrap
+msgid "Number of characters to be extracted."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:13
+#, no-wrap
+msgid ""
+"strlen
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlen.txt:1
+#, no-wrap
+msgid "Instruction strlen
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlen.txt:3
+#, no-wrap
+msgid "Get the length of a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlen.txt:6
+#, no-wrap
+msgid "strleft
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlower.txt:1
+#, no-wrap
+msgid "Instruction strlower
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlower.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to lowercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlower.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strupper
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strmid.txt:1
+#, no-wrap
+msgid "Instruction strmid
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:3
+#, no-wrap
+msgid ""
+"Extracts a substring of a given length starting at a given position from a "
+"string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:9
+#, no-wrap
+msgid ""
+"The index of the first character that is to be included in the extracted "
+"substring."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strright.txt:1
+#, no-wrap
+msgid "Instruction strright
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strright.txt:3
+#, no-wrap
+msgid "Extracts the last (that is, rightmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strright.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strupper.txt:1
+#, no-wrap
+msgid "Instruction strupper
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strupper.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to uppercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strupper.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strval.txt:1
+#, no-wrap
+msgid "Instruction strval
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strval.txt:3
+#, no-wrap
+msgid ""
+"Convert a string to a number. Don't confuse the string \"45\"
"
+"that contains actually the two characters 4
and 5
"
+"and the number 45
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strval.txt:7
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strfind
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/synchro.txt:1
+#, no-wrap
+msgid "Instruction synchronized
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:3
+#, no-wrap
+msgid ""
+"A class method can be declared "
+"synchronized
. This is to make sure that the method is never "
+"being executed by more than one bot at the same time."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:5
+#, no-wrap
+msgid "The following example illustrates the problem:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/synchro.txt:17
+#, no-wrap
+msgid ""
+"class blocking\n"
+"{\n"
+"\tstatic int nb = 33;\n"
+"\tsynchronized int inc( )\n"
+"\t{\n"
+"\t\tint val = nb;\n"
+"\t\twait ( 2 ); // wait 2 sec.\n"
+"\t\tnb = nb + 1;\n"
+"\t\treturn val;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:20
+#, no-wrap
+msgid ""
+"What happens if two bots execute the inc
method at the same "
+"time¦?\n"
+"Both of them will execute val=nb
and wait 2 seconds so both of "
+"them will have val=33
. With synchronized
the first "
+"bot starts execution with val=33
and then waits 2 seconds and "
+"returns. Only once the first bot has returned from the inc
"
+"method, the second bot will be allowed to enter the inc
method "
+"and therefore the second bot will always have val=34
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:22
+#, no-wrap
+msgid ""
+"You can have more than one synchronized method in your class in order to prevent simultaneous execution across more "
+"than one method. In other words: as long as a bot's program is inside a "
+"synchronized method, no other bot can enter any synchronized method of the "
+"same class."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:25
+#, no-wrap
+msgid ""
+"class
, static
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/term.txt:1
+#, no-wrap
+msgid "Semicolon"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/term.txt:3
+#, no-wrap
+msgid "Always use a semicolon while
, if
or for
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/term.txt:19
+#, no-wrap
+msgid ""
+"\tif ( a < b ) testinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/testinfo.txt:4
+#, no-wrap
+msgid "false
. Default value is 10 metres."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/testinfo.txt:13
+#, no-wrap
+msgid "Return: bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:15
+#, no-wrap
+msgid ""
+"Return true
if the information exists. Return and "
+"false
if the information does not exist or if the receiver is "
+"too far away from the exchange post."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:18
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/this.txt:1
+#, no-wrap
+msgid "Instruction this
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:3
+#, no-wrap
+msgid ""
+"Occasionally, a class method needs to know the reference "
+"to the instance it is acting upon. For example the instance might want to "
+"pass it's own reference to another function. An implicit reference name "
+"this
is available to methods and this
is a "
+"reference to the current instance."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:26
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint m_int;\n"
+"\tstring m_str;\n"
+"\tvoid MyFunction()\n"
+"\t{\n"
+"\t\tOtherFunction(this);\n"
+"\t\tm_int = 2;\n"
+"\t}\n"
+"}\n"
+"\n"
+"void OtherFunction(MyClass obj)\n"
+"{\n"
+"\tmessage(obj.m_str);\n"
+"}\n"
+"\n"
+"extern void object::Test()\n"
+"{\n"
+"\tMyClass item();\n"
+"\titem.m_str = \"Hello\";\n"
+"\titem.MyFunction(); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:28
+#, no-wrap
+msgid ""
+"You can also put this
before a field name in a method but this "
+"is not necessary. In the example above in the method "
+"MyFunction()
following two lines have strictly the same "
+"meaning:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:31
+#, no-wrap
+msgid ""
+"\tm_int = 2;\n"
+"\tthis.m_int = 2; // identical"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:33
+#, no-wrap
+msgid ""
+"In a method of the object
class, you can "
+"also use this.
before a fieldname."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:40
+#, no-wrap
+msgid ""
+"extern void object::Display()\n"
+"{\n"
+"\tmessage(orientation);\n"
+"\tmessage(this.orientation); // same thing but\n"
+"\t // more explicit\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:42
+#, no-wrap
+msgid ""
+"However if a field name is hidden by a parameter declaration or a variable "
+"declaration you must use this
. In the following example the "
+"name value
of the parameter is the same as the name of the "
+"field value
of the class "
+"MyClass
, we must therefore write this.value
in "
+"order to distinguish the field from the parameter."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:51
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint value;\n"
+"\tvoid Put( int value )\n"
+"\t{\n"
+"\t\tthis.value = value;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:54
+#, no-wrap
+msgid ""
+"class
\n"
+"Programming, types et catégories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/thump.txt:1
+#, no-wrap
+msgid "Instruction thump
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/thump.txt:4
+#, no-wrap
+msgid "== 0
Thumping performed\n"
+"!= 0
Operation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/topo.txt:1
+#, no-wrap
+msgid "Instruction topo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/topo.txt:4
+#, no-wrap
+msgid "true
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/true.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is true; it is one of the two values that "
+"a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/turn.txt:1
+#, no-wrap
+msgid "Instruction turn
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:3
+#, no-wrap
+msgid ""
+"Use the instruction direction()
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:15
+#, no-wrap
+msgid ""
+"\titem = radar(AlienSpider);\n"
+"\tturn(direction(item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:17
+#, no-wrap
+msgid ""
+"After these lines, just fire the cannon, and there is one hostile element "
+"less."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:21
+#, no-wrap
+msgid "turn(180)
turns round completely. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:31
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
rotation performed\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/type.txt:1
+#, no-wrap
+msgid "Variable types"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:3
+#, no-wrap
+msgid "When you define a variable, you must give two elements: "
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/type.txt:4
+#, no-wrap
+msgid "a name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/type.txt:5
+#, no-wrap
+msgid "a type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:8
+#, no-wrap
+msgid ""
+"Once you defined a variable, you can use it to put information in "
+"it. However, the information that a variable can contain must always be of "
+"the correct type: a variable of type float can not contain "
+"a string, etc."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:10
+#, no-wrap
+msgid ""
+"In a program, the name of a type is always written on int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:13
+#, no-wrap
+msgid "For a whole number (12, -500, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:15
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:16
+#, no-wrap
+msgid "For a real number (12, 3.14, 0.2, -99.98, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:18
+#, no-wrap
+msgid "bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:19
+#, no-wrap
+msgid ""
+"For a boolean variable, that can only take the values true
or "
+"false
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:21
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:22
+#, no-wrap
+msgid "For texts (\"Hello!\", \"No object found\", etc.)"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:24
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:25
+#, no-wrap
+msgid ""
+"For the coordinates of a point in space; a variable of this type consists of "
+"three parts named x, y and z."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:27
+#, no-wrap
+msgid "object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:28
+#, no-wrap
+msgid ""
+"A variable of this type contains the information about an object (bot, "
+"building, enemy, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:30
+#, no-wrap
+msgid "void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:31
+#, no-wrap
+msgid ""
+"This type is an \"empty type\", that you use when you do not want to specify "
+"a type."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/var.txt:1
+#, no-wrap
+msgid "Variables"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:3
+#, no-wrap
+msgid ""
+"A variable is like a box, where you can put some information. The content of "
+"the variable can change during the execution of the program."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:5
+#, no-wrap
+msgid ""
+"For example, you can use a variable to count the number of titanium ore "
+"units that the grabber has collected and carried to the converter. First, "
+"you must find a name for it: the name should not be too long, but explain by "
+"itself what the variable is used for. Let's call it "
+"countTit
. This variable must contain only whole numbers, so "
+"choose the type int
. At the beginning of the program, you must "
+"declare the variable. Then you put the value 0
into the "
+"variable, and every time you grab a titanium ore, you increase the variable "
+"by 1
. At every moment, the variable contains the number of "
+"titanium ore units that the grabber collected."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:8
+#, no-wrap
+msgid ""
+"For the declaration of the variable, write the following line: \n"
+"0
into the variable, write:\n"
+"dist
, direct
, "
+"p2
, a
, x
, "
+"nothing_2_shoot_at
, etc.\n"
+"A variable name must always begin with a letter. It can be followed by any "
+"combination of letters, digits or the underscore character "
+"_
. You can of course not use the keywords of the CBOT language "
+"like for
, while
, "
+"break
, continue
, do
, etc.\n"
+"You should be careful about the choice of the names that you give to "
+"variables; writing a program can become very difficult if you forget the "
+"names of variables or if you do not remember what they are used "
+"for. Elaborate your own system to find variable names, and do not use names "
+"like Bmo45
, a
or tgBinX
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:20
+#, no-wrap
+msgid ""
+"In the example above, the keyword int
indicates that this "
+"variable can contain only whole numbers, which is adequate to counting "
+"objects. If you want to measure a distance, better use a variable that can "
+"contain also real numbers, with a fractional part (like 3.45 or 0.034): in "
+"this case, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:22
+#, no-wrap
+msgid "In fact, a variable is made up of three parts:\n"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:22 cbot-help/var.txt:26
+#, no-wrap
+msgid "the name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/var.txt:23
+#, no-wrap
+msgid "the type of the information stored inside"
+msgstr ""
+
+#. type: Bullet: '3)'
+#: cbot-help/var.txt:24
+#, no-wrap
+msgid "the content, i.e. the information itself"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:28
+#, no-wrap
+msgid ""
+"You need the name to be able to distinguish the different variables from "
+"each other."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:29
+#, no-wrap
+msgid "the type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid ""
+"The type determines what kind of information the variable "
+"can contain. According to the type, a variable can contain a whole number, a "
+"real number, a string, the coordinates of a point, information about an "
+"object, etc. \n"
+"Here is a list of the most common variable types:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid "int
for a whole number (12, -500, etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:33
+#, no-wrap
+msgid ""
+"float
for a real number (3.14, 0.2, -99.98, "
+"etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:34
+#, no-wrap
+msgid ""
+"string
for a character string (\"Hello!\", "
+"\"No object found\", etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:35
+#, no-wrap
+msgid "point
for a x,y,z-coordinate in space"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:36
+#, no-wrap
+msgid ""
+"object
for information about an object (bot, "
+"building, etc.)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:38
+#, no-wrap
+msgid "The content"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:40
+#, no-wrap
+msgid ""
+"The content of a variable is an information of the kind specified in the "
+"type. It can change during the execution of the program. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:43
+#, no-wrap
+msgid ""
+"Once you declared a variable, it still does not contain any value. Before "
+"you can use it, you must put a value inside: \n"
+"=
, "
+"the value on the right side is copied into the value on the left "
+"side. Consider the following example: \n"
+"i
and j
"
+"contain the value 13
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:59
+#, no-wrap
+msgid ""
+"The following assignment is not correct, because on the left side of the "
+"equals sign =
, there can be only a variable name:\n"
+"a
and b
:\n"
+"void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:3
+#, no-wrap
+msgid "Use this type when you want to declare a function that returns nothing."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"wait
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/wait.txt:3
+#, no-wrap
+msgid ""
+"The instruction while
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:3
+#, no-wrap
+msgid ""
+"The instruction while () {}
is used to repeat a set of "
+"instructions several times."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid ""
+"The most frequent use of while
consists in repeating a set of "
+"instructions again and again. In order to achieve this, write while "
+"(true) {}
and put the instructions to be repeated in braces "
+"{}
. As an example, here is a program that repeats again and "
+"again the following actions:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid "look for a spider,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:7
+#, no-wrap
+msgid "turn towards it,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:8
+#, no-wrap
+msgid "shoot."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:16
+#, no-wrap
+msgid ""
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(AlienSpider);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:18
+#, no-wrap
+msgid "Just execute this program once, and it will kill all spiders around it."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:25
+#, no-wrap
+msgid ""
+"while ( condition )\n"
+"{\n"
+"\t
Instructions ...while( ) { }
with the "
+"instruction while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:45
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction while { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/writeln.txt:1
+#, no-wrap
+msgid "Instruction writeln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:3
+#, no-wrap
+msgid ""
+"Write one line of text to an open file in the files/ folder. This is a "
+"method of the file
class. This is the reason "
+"why we always write handle.writeln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:5
+#, no-wrap
+msgid "\thandle.writeln(\"abc\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for writing (\"w\"
) with the "
+"open
instruction. The line will automatically "
+"be terminated by the end of line characters 0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, readln
"
+"and eof
.\n"
+"Programming, types and categories."
+msgstr ""
diff --git a/help/cbot/po/de.po b/help/cbot/po/de.po
new file mode 100644
index 00000000..e8d0f7b3
--- /dev/null
+++ b/help/cbot/po/de.po
@@ -0,0 +1,6406 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR abstime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:3 cbot-help/deletef.txt:7 cbot-help/delinfo.txt:3 cbot-help/errmode.txt:6 cbot-help/flatgrnd.txt:3 cbot-help/readln.txt:9 cbot-help/send.txt:3 cbot-help/strfind.txt:5 cbot-help/strleft.txt:5 cbot-help/strlen.txt:5 cbot-help/strlower.txt:5 cbot-help/strmid.txt:5 cbot-help/strright.txt:5 cbot-help/strupper.txt:5 cbot-help/strval.txt:9 cbot-help/testinfo.txt:3 cbot-help/writeln.txt:9
+#, no-wrap
+msgid "Syntax¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/abstime.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:9
+#, no-wrap
+msgid "Time in seconds."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/abstime.txt:10 cbot-help/aim.txt:20 cbot-help/array.txt:30 cbot-help/bloc.txt:48 cbot-help/bool.txt:4 cbot-help/break.txt:24 cbot-help/category.txt:107 cbot-help/class.txt:70 cbot-help/close.txt:6 cbot-help/cond.txt:27 cbot-help/continue.txt:24 cbot-help/deletef.txt:9 cbot-help/delinfo.txt:13 cbot-help/direct.txt:13 cbot-help/dist2d.txt:13 cbot-help/dist.txt:29 cbot-help/do.txt:27 cbot-help/drop.txt:28 cbot-help/eof.txt:13 cbot-help/errmode.txt:32 cbot-help/expr.txt:87 cbot-help/extern.txt:29 cbot-help/false.txt:4 cbot-help/file.txt:16 cbot-help/fire.txt:30 cbot-help/flatgrnd.txt:16 cbot-help/float.txt:24 cbot-help/for.txt:38 cbot-help/function.txt:84 cbot-help/goto.txt:34 cbot-help/grab.txt:28 cbot-help/if.txt:39 cbot-help/int.txt:18 cbot-help/jet.txt:14 cbot-help/message.txt:24 cbot-help/motor.txt:38 cbot-help/move.txt:21 cbot-help/nan.txt:14 cbot-help/new.txt:19 cbot-help/null.txt:4 cbot-help/object.txt:68 cbot-help/openfile.txt:10 cbot-help/open.txt:18 cbot-help/pointer.txt:51 cbot-help/point.txt:35 cbot-help/private.txt:17 cbot-help/public.txt:49 cbot-help/radar.txt:58 cbot-help/readln.txt:18 cbot-help/receive.txt:16 cbot-help/recycle.txt:12 cbot-help/retobj.txt:13 cbot-help/return.txt:29 cbot-help/search.txt:16 cbot-help/send.txt:17 cbot-help/shield.txt:18 cbot-help/sizeof.txt:21 cbot-help/sniff.txt:16 cbot-help/space.txt:22 cbot-help/static.txt:20 cbot-help/strfind.txt:18 cbot-help/string.txt:32 cbot-help/strleft.txt:14 cbot-help/strlen.txt:12 cbot-help/strlower.txt:10 cbot-help/strmid.txt:18 cbot-help/strright.txt:14 cbot-help/strupper.txt:10 cbot-help/strval.txt:17 cbot-help/synchro.txt:23 cbot-help/term.txt:30 cbot-help/testinfo.txt:16 cbot-help/this.txt:52 cbot-help/thump.txt:12 cbot-help/topo.txt:13 cbot-help/true.txt:4 cbot-help/turn.txt:32 cbot-help/type.txt:32 cbot-help/var.txt:66 cbot-help/void.txt:10 cbot-help/wait.txt:21 cbot-help/while.txt:46 cbot-help/writeln.txt:19
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:11 cbot-help/aim.txt:21 cbot-help/array.txt:31 cbot-help/bool.txt:5 cbot-help/break.txt:25 cbot-help/cond.txt:29 cbot-help/continue.txt:25 cbot-help/deletef.txt:10 cbot-help/direct.txt:15 cbot-help/dist2d.txt:14 cbot-help/dist.txt:30 cbot-help/drop.txt:29 cbot-help/errmode.txt:33 cbot-help/expr.txt:88 cbot-help/extern.txt:30 cbot-help/false.txt:6 cbot-help/fire.txt:31 cbot-help/flatgrnd.txt:17 cbot-help/float.txt:25 cbot-help/for.txt:40 cbot-help/function.txt:85 cbot-help/goto.txt:35 cbot-help/grab.txt:29 cbot-help/if.txt:40 cbot-help/int.txt:20 cbot-help/jet.txt:16 cbot-help/message.txt:25 cbot-help/move.txt:22 cbot-help/nan.txt:16 cbot-help/object.txt:70 cbot-help/openfile.txt:11 cbot-help/point.txt:36 cbot-help/radar.txt:60 cbot-help/recycle.txt:14 cbot-help/retobj.txt:15 cbot-help/return.txt:31 cbot-help/search.txt:18 cbot-help/shield.txt:19 cbot-help/sizeof.txt:22 cbot-help/sniff.txt:17 cbot-help/space.txt:23 cbot-help/string.txt:33 cbot-help/term.txt:31 cbot-help/thump.txt:13 cbot-help/topo.txt:14 cbot-help/true.txt:5 cbot-help/turn.txt:33 cbot-help/type.txt:33 cbot-help/var.txt:67 cbot-help/void.txt:11 cbot-help/wait.txt:22
+#, no-wrap
+msgid ""
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/aim.txt:1
+#, no-wrap
+msgid "Instruction aim
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:3 cbot-help/break.txt:3 cbot-help/continue.txt:3 cbot-help/direct.txt:3 cbot-help/motor.txt:16 cbot-help/space.txt:3 cbot-help/while.txt:21
+#, no-wrap
+msgid "Syntax :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/aim.txt:4
+#, no-wrap
+msgid "turn
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:12 cbot-help/turn.txt:24
+#, no-wrap
+msgid "angle: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:14
+#, no-wrap
+msgid ""
+"Angle in degrees of the gun relative to the robot. A positive value orients "
+"the gun upward. For shooters and orga shooters, the angle must range from "
+"-20
to +20
degrees. For phazer shooters, the angle "
+"must range from -20
to 45
degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:15 cbot-help/drop.txt:23 cbot-help/fire.txt:25 cbot-help/goto.txt:29 cbot-help/grab.txt:23 cbot-help/move.txt:16 cbot-help/recycle.txt:7 cbot-help/sniff.txt:11 cbot-help/thump.txt:7 cbot-help/turn.txt:27
+#, no-wrap
+msgid "Return value: int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:19
+#, no-wrap
+msgid ""
+"Zero if everything is OK, a value different from zero if the rotation could "
+"not be performed: \n"
+"== 0
The gun has now got the desired orientation\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/array.txt:1
+#, no-wrap
+msgid "Arrays"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:3
+#, no-wrap
+msgid ""
+"An array is basically a collection of variables of the same type or "
+"class. You can use N dimensionnal arrays in the CBOT language. Each "
+"dimension is limited to 9999 elements. You must use square brackets "
+"[]
after the type name or the variable name to declare an "
+"array."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:8
+#, no-wrap
+msgid ""
+"int [ ] a; // an array of int\n"
+"int a [12]; // an array of int limited to 12 elements\n"
+"string s[3]; // an array of 3 strings\n"
+"float xy[][]; // an 2 dimensionnal array of floats"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:10
+#, no-wrap
+msgid ""
+"Actually when the CBOT interpreter encounters an array declaration, it just "
+"creates a null
reference:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:12
+#, no-wrap
+msgid "int a[5]; // a is now a null reference"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:14
+#, no-wrap
+msgid ""
+"As soon as you put values into the array, the elements are created and the "
+"reference is initialized:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:17
+#, no-wrap
+msgid ""
+"a[2] = 213; // a points to\n"
+" // 3 élements [0], [1] et [2]"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:19
+#, no-wrap
+msgid ""
+"After this operation, a
contains a reference to the elements of "
+"the array. Elements [0]
and [1]
are created but "
+"not initialized because an array cannot contain empty elements. The sizeof
instruction allows you to obtain the number of "
+"elements contained in an array."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:21
+#, no-wrap
+msgid ""
+"When an array is declared with a maximum size, the program will stop as soon "
+"as there is an access beyond the maximum array size. No error is signalled "
+"during compilation even if the error is obvious:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:27
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[5];\n"
+"\ta[7] = 123; // no error at compile time\n"
+"\t // but error at run time\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:29
+#, no-wrap
+msgid ""
+"If you pass an array as parameter to a function, the "
+"function only receives a reference to the array. That "
+"means if you modify an array element in the function, the element of the "
+"array that has been passed the function will be actuallay modified."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bloc.txt:1
+#, no-wrap
+msgid "Blocks"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:3
+#, no-wrap
+msgid ""
+"You can use braces { }
to group a number of instructions "
+"together in order to make one single block out of them, for example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:10
+#, no-wrap
+msgid ""
+"\t{\n"
+"\t\tfloat t;\n"
+"\t\tt = a;\n"
+"\t\ta = b;\n"
+"\t\tb = t; // switches round a and b\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:13
+#, no-wrap
+msgid ""
+"Every instruction in the block is followed by a semicolon, "
+"but the block itself is not. \n"
+"Let us take the following example with the instruction if
to illustrate the use of blocks in a program:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:18
+#, no-wrap
+msgid ""
+"\tif ( a < b )\n"
+"\t\tif
, "
+"while
and for
, "
+"in order to group several instructions that should be performed only if a "
+"condition is true, or repeated several times. \n"
+"You can fit blocks into other blocks, on as many levels as you need. Here is "
+"an example of imbrication on two levels :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:42
+#, no-wrap
+msgid ""
+"\tif ( a > b )\n"
+"\t{\n"
+"\t\tint i = 0;\n"
+"\t\twhile ( i < 18 )\n"
+"\t\t{\n"
+"\t\t\tmove(10);\n"
+"\t\t\tturn(5);\n"
+"\t\t\ti = i+1;\n"
+"\t\t}\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:44
+#, no-wrap
+msgid ""
+"You had better line up the open brace {
with the closing brace "
+"}
in order to improve readability, but it is not "
+"compulsory. The following example takes less space, is equivalent to the "
+"previous example, but it is not advisable to write your programs in the "
+"following style : "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:47
+#, no-wrap
+msgid ""
+"\tif(a>b) { int i=0; while(i<18) {\n"
+"\tmove(10);turn(5);i=i+1; }}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:49 cbot-help/do.txt:28 cbot-help/motor.txt:39 cbot-help/while.txt:47
+#, no-wrap
+msgid ""
+"Instructions, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bool.txt:1
+#, no-wrap
+msgid "Type bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bool.txt:3
+#, no-wrap
+msgid ""
+"In a variable of this type you can put a boolean value, that is a value that "
+"can take only two states: true or false. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/break.txt:1
+#, no-wrap
+msgid "Instruction break
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:7
+#, no-wrap
+msgid ""
+"while
or for
loop."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/break.txt:11 cbot-help/continue.txt:11
+#, no-wrap
+msgid "Here is an example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:22
+#, no-wrap
+msgid ""
+"Categories
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:3
+#, no-wrap
+msgid ""
+"Categories represent the names of objects in the CBOT language. Everything "
+"in COLOBOT is an object: robots, buildings, raw materials, etc., even "
+"yourself."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:5
+#, no-wrap
+msgid ""
+"In a program, categories are always displayed on a Houston
Mission "
+"Control\n"
+" SpaceShip
Spaceship\n"
+" BotFactory
Robot "
+"Factory\n"
+" ResearchCenter "
+"
Research Center\n"
+" RadarStation
Radar\n"
+" ExchangePost "
+"
Information Exchange Post\n"
+" RepairCenter
Repair "
+"Center\n"
+" DefenseTower
Defense "
+"Tower\n"
+" AutoLab
Organic "
+"Matter Analyzer \n"
+" PowerStation
Power "
+"Station\n"
+" PowerPlant
Power "
+"Cell Factory\n"
+" NuclearPlant
Nuclear "
+"Plant\n"
+" Converter
Titanium "
+"Converter\n"
+" Derrick "
+"
Derrick\n"
+" PowerCaptor
Parabolic "
+"Lightning Conductor\n"
+" Vault
Vault\n"
+" StartArea
Starting Pad\n"
+" GoalArea
Finishing Pad\n"
+" AlienNest
Alien Nest"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:31
+#, no-wrap
+msgid "Portable Objects :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:42
+#, no-wrap
+msgid ""
+" TitaniumOre
Titanium "
+"Ore\n"
+" UraniumOre
Uranium Ore\n"
+" Titanium
Cube of "
+"converted Titanium\n"
+" PowerCell
Regular Power "
+"Cell\n"
+" NuclearCell
Nuclear Power "
+"Cell\n"
+" OrgaMatter
Organic "
+"Matter\n"
+" BlackBox
Black Box\n"
+" TNT
Explosive "
+"device\n"
+" KeyA..D
Keys A, B, C and "
+"D"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:44
+#, no-wrap
+msgid "Robots :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:48
+#, no-wrap
+msgid ""
+" PracticeBot "
+"
Practice Bot\n"
+" TargetBot "
+"
Target Bot"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:53
+#, no-wrap
+msgid ""
+" WheeledGrabber "
+"
Wheeled Grabber\n"
+" TrackedGrabber "
+"
Tracked Grabber\n"
+" WingedGrabber "
+"
Winged Grabber\n"
+" LeggedGrabber "
+"
Legged Grabber"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:58
+#, no-wrap
+msgid ""
+" WheeledSniffer "
+"
Wheeled Sniffer\n"
+" TrackedSniffer "
+"
Tracked Sniffer\n"
+" WingedSniffer "
+"
Winged Sniffer\n"
+" LeggedSniffer "
+"
Legged Sniffer"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:63
+#, no-wrap
+msgid ""
+" WheeledShooter "
+"
Wheeled Shooter\n"
+" TrackedShooter "
+"
Tracked Shooter\n"
+" WingedShooter "
+"
Winged Shooter\n"
+" LeggedShooter "
+"
Legged Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:68
+#, no-wrap
+msgid ""
+" WheeledOrgaShooter "
+"
Wheeled Orga Shooter\n"
+" TrackedOrgaShooter "
+"
Tracked Orga Shooter\n"
+" WingedOrgaShooter "
+"
Winged Orga Shooter\n"
+" LeggedOrgaShooter "
+"
Legged Orga Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:74
+#, no-wrap
+msgid ""
+" Subber "
+"
Subber\n"
+" Recycler "
+"
Recycler\n"
+" Shielder "
+"
Shielder\n"
+" Thumper "
+"
Thumper\n"
+" PhazerShooter "
+"
Phazer Shooter"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:76
+#, no-wrap
+msgid "Enemies :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:84
+#, no-wrap
+msgid ""
+" AlienQueen
Alien Queen\n"
+" AlienEgg
Alien Egg\n"
+" AlienAnt
Ant\n"
+" AlienSpider
Spider\n"
+" AlienWasp
Wasp\n"
+" AlienWorm
Worm"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:86
+#, no-wrap
+msgid "Miscellaneous :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:93
+#, no-wrap
+msgid ""
+" Me
You!\n"
+" Mine
Mine\n"
+" Barrier
Barrier\n"
+" Wreck
Derelict bot\n"
+" Ruin
Derelict building"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:106
+#, no-wrap
+msgid ""
+" BlueFlag
Blue Flag\n"
+" RedFlag
Red Flag\n"
+" GreenFlag
Green Flag\n"
+" YellowFlag
Yellow Flag\n"
+" VioletFlag
Violet Flag\n"
+" WayPoint
Checkpoint\n"
+" EnergySite
Underground "
+"Energy Deposit\n"
+" TitaniumSite
Underground "
+"Titanium Deposit\n"
+" UraniumSite
Underground "
+"Uranium Deposit"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:108
+#, no-wrap
+msgid "CBOT Language and Variables."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/class.txt:1
+#, no-wrap
+msgid "Instruction class
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:3
+#, no-wrap
+msgid "This allows you to declare a class definition using following syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:8
+#, no-wrap
+msgid ""
+"public class ClassName\n"
+"{\n"
+"\tdeclarations;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:10
+#, no-wrap
+msgid ""
+"Classes can only be public, that is they can be used from "
+"all bots in a mission. Class members are also public, that is they are "
+"accessible from outside the class. Class members can be fields or functions "
+"(also called methods), for example the followin class MyClass
"
+"contains 4 fields (a, b, x and s) and one method (MyFunction)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:21
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tfloat x = 3.33;\n"
+"\tstring s = \"hello\";\n"
+"\tfloat MyFunction( float value )\n"
+"\t{\n"
+"\t\treturn (value*x)-1;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:23
+#, no-wrap
+msgid ""
+"As shown in this exemple the class members can be initialized "
+"(x=3.33
). You can also define a constructor which is a special "
+"method having the same name as the class name. This method will be called "
+"automatically at creation time of a class instance. You can also declare "
+"more than one method with the same name but different parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:36
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\ta = 2; b = 3;\n"
+"\t}\n"
+"\tvoid MyClass( int a, int b )\n"
+"\t{\n"
+"\t\tthis.a = a; this.b = b;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:38
+#, no-wrap
+msgid ""
+"In this example two constructors are declared for MyClass
, one "
+"without parameters and the other one with two parameters. As the names of "
+"the parameters of the second constructor are the same as the names of the "
+"two members a
et b
we must use the this.a
and this.b
to "
+"avoid confusion with the parameters. Another more simpler solution would be "
+"to give different names to the parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:46
+#, no-wrap
+msgid ""
+"void Test( )\n"
+"{\n"
+"\tMyClass item1(); // constr. w/o parameters\n"
+"\tMyClass item2(4, 5); // constr. with 2 parameters\n"
+"\tMyClass item3; // no constructor called,\n"
+" // therefore item3 == null\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:48
+#, no-wrap
+msgid ""
+"You can also define a destructor. This must be a void
fonction "
+"without parameters that has the same name as the class name but prefixed by "
+"the ~ character. The destructor is called automatically as soon as the class "
+"instance is no more referenced by anyone."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:67
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic private int counter = 0; // instance counter\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\tcounter ++; // one instance more\n"
+"\t}\n"
+"\tvoid ~MyClass( )\n"
+"\t{\n"
+"\t\tcounter --; // one instance less\n"
+"\t}\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item1( ); // counter = 1\n"
+"\tMyClass item2( ); // counter = 2\n"
+"\titem1 = null; // counter = 1\n"
+"} // counter = 0"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:69
+#, no-wrap
+msgid ""
+"If you pass a class instance as parameter to a function, the function only receives a reference to the instance. That means if you modify the "
+"instance in the function, the instance that has been passed to the function "
+"will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:72
+#, no-wrap
+msgid ""
+"public
, private
, static
, "
+"synchronized
, new
, reference
, "
+"this
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/close.txt:1
+#, no-wrap
+msgid "Instruction close
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:3
+#, no-wrap
+msgid ""
+"Close a file opened previously with open
. This "
+"is a method of the file
class; therefore you "
+"cannot write close()
but only handle.close()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/close.txt:5
+#, no-wrap
+msgid "\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:8
+#, no-wrap
+msgid ""
+"file
, open
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/cond.txt:1
+#, no-wrap
+msgid "Conditions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:4
+#, no-wrap
+msgid ""
+"A condition is a special expression that returns a boolean value, that can only be either true
or false
. With a "
+"condition, you can choose f. ex. if the instructions in a while
loop must be repeated again, or if the "
+"instruction in a if
bloc must be executed.\n"
+"Here are some operators that you can use in conditions to compare two values "
+":"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:11
+#, no-wrap
+msgid ""
+"a == b
a
equals b
\n"
+"a != b
a
is different from b
\n"
+"a < b
a
smaller than b
\n"
+"a <= b
a
smaller than or equal to "
+"b
\n"
+"a > b
a
greater than b
\n"
+"a >= b
a
greater than or equal to b
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:13
+#, no-wrap
+msgid "For example :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:20
+#, no-wrap
+msgid ""
+"12 == 12
returns true\n"
+"45 != 47
returns true \n"
+"99 == 98
returns false\n"
+"12 < -1
returns false\n"
+"12 >= 10
returns true \n"
+"12 >= 12
returns true "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/cond.txt:21
+#, no-wrap
+msgid "Remarque"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:23
+#, no-wrap
+msgid ""
+"Be careful not to confuse the equality comparison ==
with the "
+"assignment of a variable =
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:26
+#, no-wrap
+msgid ""
+"a == b
is an expression that compares a
with "
+"b
.\n"
+"a = b
is an expression that copies the value of b
"
+"into a
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/continue.txt:1
+#, no-wrap
+msgid "Instruction continue
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:7
+#, no-wrap
+msgid ""
+"bloc
of a while
"
+"or for
loop: The execution will resume at the "
+"beginning of the bloc, the next time the loop is repeated."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:21
+#, no-wrap
+msgid ""
+"i
1, "
+"2, 4 and 5."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/deletef.txt:1
+#, no-wrap
+msgid "Instruction deletefile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:3
+#, no-wrap
+msgid "The deletefile instruction deletes an existing file in the files/ folder. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:5
+#, no-wrap
+msgid ""
+"Files can only be deleted in the files/ folder which is located in the "
+"folder where Colobot has been installed. You cannot not delete files that "
+"are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/deletef.txt:8
+#, no-wrap
+msgid "deleteinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/delinfo.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:9
+#, no-wrap
+msgid ""
+"Name of the information to be deleted. This name is a string: it must be "
+"written in quotation marks \"¦\"."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/delinfo.txt:10 cbot-help/receive.txt:10 cbot-help/send.txt:14 cbot-help/testinfo.txt:10
+#, no-wrap
+msgid "power: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:12
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance between "
+"the sender and the exchange post. If the distance is longer, the information "
+"won't be deleted. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:15
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and testinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/direct.txt:1
+#, no-wrap
+msgid "Instruction direction
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/direct.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:9
+#, no-wrap
+msgid "Position towards which the robot must point."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/direct.txt:10 cbot-help/dist2d.txt:10 cbot-help/dist.txt:26 cbot-help/flatgrnd.txt:13 cbot-help/receive.txt:13 cbot-help/topo.txt:10
+#, no-wrap
+msgid "Return value: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:12
+#, no-wrap
+msgid ""
+"Angle of the rotation that must be performed. -90 means f. ex. a rotation of "
+"90 degrees to the right. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist2d.txt:1
+#, no-wrap
+msgid "Instruction distance2d
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:3 cbot-help/dist.txt:19 cbot-help/do.txt:3 cbot-help/drop.txt:13 cbot-help/fire.txt:11 cbot-help/for.txt:3 cbot-help/goto.txt:13 cbot-help/grab.txt:13 cbot-help/if.txt:24 cbot-help/jet.txt:3 cbot-help/message.txt:3 cbot-help/move.txt:9 cbot-help/radar.txt:15 cbot-help/receive.txt:3 cbot-help/recycle.txt:3 cbot-help/retobj.txt:3 cbot-help/search.txt:3 cbot-help/shield.txt:3 cbot-help/sniff.txt:3 cbot-help/thump.txt:3 cbot-help/topo.txt:3 cbot-help/turn.txt:20 cbot-help/wait.txt:11
+#, no-wrap
+msgid "Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist2d.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:9 cbot-help/dist.txt:25
+#, no-wrap
+msgid "Coordinates of the two positions. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:12 cbot-help/dist.txt:28
+#, no-wrap
+msgid "Distance between the two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:1
+#, no-wrap
+msgid "Instruction distance
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:3
+#, no-wrap
+msgid ""
+"With the instruction distance( , )
you can calculate the "
+"distance between two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:4 cbot-help/drop.txt:4 cbot-help/fire.txt:4 cbot-help/goto.txt:4 cbot-help/grab.txt:4 cbot-help/if.txt:4 cbot-help/motor.txt:4 cbot-help/move.txt:4 cbot-help/radar.txt:4 cbot-help/turn.txt:4 cbot-help/wait.txt:4 cbot-help/while.txt:4
+#, no-wrap
+msgid "Basic use"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:6
+#, no-wrap
+msgid ""
+"If you write position
alone, this gives you the position of the "
+"bot that executes the program. If you write the name of a variable followed "
+"by .position
, this gives you the position of the object "
+"described in the variable."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:8
+#, no-wrap
+msgid ""
+"Here is a program that moves forward, covering exactly the distance between "
+"the bot and the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:11
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:13
+#, no-wrap
+msgid ""
+"This is of course pure suicide. Better to stop 40 meters before, in order to "
+"be at shooting range:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:16
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position) - 40);"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:17 cbot-help/drop.txt:11 cbot-help/errmode.txt:4 cbot-help/file.txt:10 cbot-help/fire.txt:9 cbot-help/float.txt:19 cbot-help/goto.txt:11 cbot-help/grab.txt:11 cbot-help/if.txt:22 cbot-help/int.txt:13 cbot-help/motor.txt:14 cbot-help/move.txt:7 cbot-help/radar.txt:13 cbot-help/return.txt:9 cbot-help/turn.txt:18 cbot-help/wait.txt:9 cbot-help/while.txt:19
+#, no-wrap
+msgid "For specialists"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:20
+#, no-wrap
+msgid "do - while
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:8
+#, no-wrap
+msgid ""
+"do\n"
+"{\n"
+"\t
Instructions ...while ( ) { }
; the latter tests "
+"the condition before the instructions in the block are executed. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/do.txt:12 cbot-help/for.txt:13 cbot-help/while.txt:30
+#, no-wrap
+msgid "condition
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:14 cbot-help/while.txt:32
+#, no-wrap
+msgid ""
+"The instructions in the block are performed over and over again, as long as "
+"the condition is true. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:16 cbot-help/while.txt:34
+#, no-wrap
+msgid "Here is an example :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:21
+#, no-wrap
+msgid ""
+"while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:26
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction do { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/drop.txt:1
+#, no-wrap
+msgid "Instruction drop
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:3
+#, no-wrap
+msgid ""
+"The instruction int
(default valueInFront
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:22
+#, no-wrap
+msgid ""
+"Oper indicates where the robot should drop the object. If no indication is "
+"given, the object is dropped in front of the bot. \n"
+"InFront
Drops in front (default value).\n"
+"Behind
Drops behind.\n"
+"EnergyCell
Drops on the bot's own power cell location."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
object was dropped\n"
+"!= 0
error, no object was dropped"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/eof.txt:1
+#, no-wrap
+msgid "Instruction eof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:3
+#, no-wrap
+msgid ""
+"Test the end of file condition of an open file. This is a method of the "
+"file
class; therefore you cannot write "
+"eof()
but only handle.eof()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:5
+#, no-wrap
+msgid "\tif ( handle.eof() ) "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:7 cbot-help/readln.txt:12
+#, no-wrap
+msgid "Example¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:12
+#, no-wrap
+msgid ""
+"\twhile ( not handle.eof() )\n"
+"\t{\n"
+"\t\ts = handle.readln();\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:15
+#, no-wrap
+msgid ""
+"file
, open
, "
+"close
, readln
"
+"and writeln
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/errmode.txt:1
+#, no-wrap
+msgid "Instruction errmode
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:3
+#, no-wrap
+msgid ""
+"The goto
, move
, grab
, drop
, etc."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:7
+#, no-wrap
+msgid "float
(1
per default)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:14
+#, no-wrap
+msgid ""
+"Error treatment mode.\n"
+"0
-> continues program execution and returns a non zero value\n"
+"1
-> stops the program (default behavior)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:16
+#, no-wrap
+msgid "Exemple 1¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:21
+#, no-wrap
+msgid ""
+"\n"
+"\t
take some appropriate action ...+
addition\n"
+"-
subtraction\n"
+"*
multiplication\n"
+"/
division\n"
+"%
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:11
+#, no-wrap
+msgid ""
+"With the addition operator +
, you can not only add numbers, you "
+"can also append strings."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:21
+#, no-wrap
+msgid ""
+"\tint i = 12+3; // returns 15\n"
+"\tstring s = \"a\"+\"bc\"; // returns \"abc\"\n"
+"\tint i = 2-5; // returns -3\n"
+"\tfloat f = 3.01*10; // returns 30.1\n"
+"\tint i = 5/3; // returns 1\n"
+"\tfloat f = 5/3; // returns 1.67\n"
+"\tfloat f = 5/0; // returns an error\n"
+"\tint i = 13%5; // returns 3\n"
+"\tint i = -8%3; // returns -2"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:23
+#, no-wrap
+msgid ""
+"An expression can include constants or variables. For "
+"example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:25
+#, no-wrap
+msgid "\t12+dist
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:27
+#, no-wrap
+msgid ""
+"Multiplications and divisions are performed before additions and "
+"subtractions. In order to be sure that the operations are performed in the "
+"right order, use brackets: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:30
+#, no-wrap
+msgid ""
+"\t12*a+b/c sin(angle)
sinus\n"
+"cos(angle)
cosinus\n"
+"tan(angle)
tangent\n"
+"asin(value)
arc-sinus\n"
+"acos(value)
arc-cosinus\n"
+"atan(value)
arc-tangente\n"
+"sqrt(value)
square root\n"
+"pow(x, y)
x power y\n"
+"rand()
random value ranging between 0 and 1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:49
+#, no-wrap
+msgid "Angles are in degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:50
+#, no-wrap
+msgid "Compound assignment operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:52
+#, no-wrap
+msgid ""
+"Besides the =
operators for variable assignment there are "
+"several compound-assignment operators."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:54
+#, no-wrap
+msgid ""
+"The compound-assignment operators combine the =
assignment "
+"operator with another binary operator such as +
or "
+"-
. Compound-assignment operators perform the operation "
+"specified by the additional operator and then assign the result to the left "
+"operand. For example, a compound-assignment expression such as "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:56
+#, no-wrap
+msgid "+=
addition\n"
+"-=
subtraction\n"
+"*=
multiplication\n"
+"/=
division\n"
+"%=
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:67
+#, no-wrap
+msgid "Prefix and posfix increment- and decrement operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:69
+#, no-wrap
+msgid ""
+"The operators ++
and --
allow you to increment "
+"(++) or to decrement (--) a variable in very compact and efficient manner."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:74
+#, no-wrap
+msgid ""
+"For example to increment the variable a
you can write\n"
+"a++
is the value of the variable "
+"a
before the increment. If you use the prefix operator "
+"++a
the value of the expression is the value of the variable "
+"a
after the increment. The same holds for the --
"
+"decrement operator."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:79
+#, no-wrap
+msgid ""
+"Exemples:\n"
+"extern
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:3
+#, no-wrap
+msgid ""
+"The extern
instruction determines the function that acts as main program of a robot. The name of "
+"the function declared with extern
will apear in the program "
+"list in the lower left corner of the screen."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:12
+#, no-wrap
+msgid ""
+"extern void object::MowDown( )\n"
+"{\n"
+"\twhile ( true )\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t\tturn(10);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:14
+#, no-wrap
+msgid ""
+"If the program contains other functions, only the main function must be "
+"preceded by extern
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tLine(10);\n"
+"\t}\n"
+"}\n"
+"\n"
+"void object::Line(float dist)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(90);\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/false.txt:1
+#, no-wrap
+msgid "Type false
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/false.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is not true; it is one of the two values "
+"that a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/file.txt:1
+#, no-wrap
+msgid "Type file
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:3
+#, no-wrap
+msgid "This type is used for accessing files in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:5
+#, no-wrap
+msgid "\tfile handle();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:7
+#, no-wrap
+msgid ""
+"Use the syntax above for declaring a file handle. You must use () to create "
+"an instance of the file
class. Without the () the handle would "
+"have the value null
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:9
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:12
+#, no-wrap
+msgid ""
+"file
is actually not a simple type but a "
+"class. open
, close
, writeln
etc. are "
+"methods of the file
class. This is the reason why we always "
+"write handle.method()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:15
+#, no-wrap
+msgid ""
+"\thandle.open(\"test.txt\", \"w\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:18
+#, no-wrap
+msgid ""
+"open
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/fire.txt:1
+#, no-wrap
+msgid "Instruction fire
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:3
+#, no-wrap
+msgid "The instruction aim
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/fire.txt:22 cbot-help/wait.txt:15
+#, no-wrap
+msgid "time: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:24
+#, no-wrap
+msgid ""
+"Duration of the burst. Generally, the value given is 1. Shorter bursts can "
+"also be performed in order to spare time and energy."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:29
+#, no-wrap
+msgid ""
+"Zero if OK, or a value different from zero if an error occurred.\n"
+"== 0
the cannon has been fired\n"
+"!= 0
error, the cannon could not be fired"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/flatgrnd.txt:1
+#, no-wrap
+msgid "Instruction flatground
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/flatgrnd.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:9
+#, no-wrap
+msgid "Center of the circlular zone."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/flatgrnd.txt:10
+#, no-wrap
+msgid "rmax: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:12
+#, no-wrap
+msgid "Maximal radius."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:15
+#, no-wrap
+msgid "Radius of the flat zone (always between 0 and rmax)."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/float.txt:1
+#, no-wrap
+msgid "Type float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:3
+#, no-wrap
+msgid ""
+"Use this type for most variables that contains numbers. Variables of this "
+"type can contain positive and negative numbers, whole or real numbers, for "
+"example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:8
+#, no-wrap
+msgid ""
+"\t12.9\n"
+"\t1.125\n"
+"\t0.002\n"
+"\t-4.1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:10
+#, no-wrap
+msgid ""
+"If you need only whole numbers (f. ex. 12 or -5000), you should rather use "
+"the type int
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:13
+#, no-wrap
+msgid ""
+"Do not insert space or colon characters into a number. To separate the whole "
+"part from the fractional part, use a dot. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:18
+#, no-wrap
+msgid ""
+" Write and not\n"
+" 12.56 12 . 56\n"
+" -54.34 -54,34\n"
+"12895.69 12,895.69"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:23
+#, no-wrap
+msgid ""
+"Floating point numbers are represented in Colobot with 32 bits.\n"
+"The highest value that can be represented is 3.4E+38.\n"
+"The smallest value that can be represented is 3.4E-38."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/for.txt:1
+#, no-wrap
+msgid "Instruction for
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:7
+#, no-wrap
+msgid ""
+"before
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:12
+#, no-wrap
+msgid "This instruction is executed before the first loop instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:15
+#, no-wrap
+msgid ""
+"This condition determines if another instance of the loop "
+"must be executed. It is tested before every instance of the loop. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/for.txt:16
+#, no-wrap
+msgid "end
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:18
+#, no-wrap
+msgid "This instruction is executed at the end of every instance of the loop. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:21
+#, no-wrap
+msgid ""
+"Example: count from 1 to 4\n"
+"for
-loop, but "
+"it uses the instruction while
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:32
+#, no-wrap
+msgid ""
+"for ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:37
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction for
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/function.txt:1
+#, no-wrap
+msgid "Functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:4
+#, no-wrap
+msgid ""
+"With functions you can divide your program into several parts, each of them "
+"will execute a specific task.\n"
+"Let's imagine following program¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:16
+#, no-wrap
+msgid ""
+"extern void object::Remote( )\n"
+"{\n"
+"\tsend(\"order\", 1, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 3, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 2, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 4, 100);\n"
+"\twait(5);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:18
+#, no-wrap
+msgid ""
+"send
and wait
are repeated several times. So it "
+"would be a good thing if we created a function that executes these two "
+"instructions:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:31
+#, no-wrap
+msgid ""
+"void object::SendToPost( float op )\n"
+"{\n"
+"\tsend(\"order\", op, 100);\n"
+"\twait(5);\n"
+"}\n"
+"extern void object::Remote( )\n"
+"{\n"
+"\tSendToPost(1);\n"
+"\tSendToPost(3);\n"
+"\tSendToPost(2);\n"
+"\tSendToPost(4);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:33
+#, no-wrap
+msgid "A function can have paramteters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:35
+#, no-wrap
+msgid "void Example( int a, float x, string s )"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:37
+#, no-wrap
+msgid ""
+"The Exemple
function will reveive un integer a
, a "
+"floating point number x
and a string s
. Parameters "
+"are \"passed by value\", that is the values of parameter variables in a "
+"function are copies of the values the caller specified as variables. If you "
+"pass an int
to a function, its parameter is a copy of whatever "
+"value was being passed as argument, and the function can change its "
+"parameter value without affecting values in the code that invoked the "
+"function."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:39
+#, no-wrap
+msgid ""
+"If you pass a class instance or an array "
+"as parameter to a function, the function only receives a reference to the instance or the array. That means if you "
+"modify the instance or the array in the function, the instance or the array "
+"that has been specified by the caller will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:41
+#, no-wrap
+msgid ""
+"A function can also return a result with the return
instruction. Therefore the function must be "
+"declared no longer as void but as a type:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:53
+#, no-wrap
+msgid ""
+"float Mean( float a, float b )\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}\n"
+"\n"
+"extern void object::Test( )\n"
+"{\n"
+"\tfloat value;\n"
+"\tvalue = Mean(2, 6);\n"
+"\tmessage( value ); // will display 4\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:55
+#, no-wrap
+msgid "Some other examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:67
+#, no-wrap
+msgid ""
+"float Pi( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}\n"
+"\n"
+"string Sign( float a )\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:69
+#, no-wrap
+msgid ""
+"You can declare several functions with the same name but different "
+"parameters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:79
+#, no-wrap
+msgid ""
+"float Pythagoras( float a, float b )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b));\n"
+"}\n"
+"\n"
+"float Pythagoras( float a, float b, float c )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b)+(c*c));\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:81
+#, no-wrap
+msgid ""
+"CBOT will call either the one or the other function depending on the "
+"paramteres passed."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:83
+#, no-wrap
+msgid ""
+"You can also declare a function public so it can be used "
+"by other bots."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/goto.txt:1
+#, no-wrap
+msgid "Instruction goto
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:3
+#, no-wrap
+msgid "The instruction .position
in order to get the position of the object. Here is "
+"an example of a program that looks for a titanium cube, "
+"goes to the position and grabs it:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:10
+#, no-wrap
+msgid ""
+"\titem = radar(Titanium);\n"
+"\tgoto(item.position);\n"
+"\tgrab();"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:14
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:22
+#, no-wrap
+msgid ""
+"Flight altitude for winged bots. The altitude is useful "
+"only for winged bots. From the initial altitude, the bot "
+"climbs higher until it reaches the specified hight. When arriving close to "
+"destination, it goes down to touch the ground at the given position. If no "
+"value is given, an altitude of 10 meters is the default value. On very short "
+"moves, even winged bot stay on the ground. For all bot except winged bots, "
+"this parameter is ignored. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/goto.txt:23
+#, no-wrap
+msgid "goal: int
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:28
+#, no-wrap
+msgid ""
+"This parameter tells the bot how it must reach the goal: \n"
+"0
stops exactly at the goal position\n"
+"1
goes close to the goal position, without stopping.\n"
+"If no value is given, 1
(precision) is the default value. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:33
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by goto()
.\n"
+"== 0
Goal position reached\n"
+"!= 0
Goal position impossible to reach"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/grab.txt:1
+#, no-wrap
+msgid "Instruction grab
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:3
+#, no-wrap
+msgid ""
+"The instruction InFront
Grabs in front (default value).\n"
+"Behind
Grabs behind.\n"
+"EnergyCell
Grabs the bot's own power cell."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
an object was grabbed\n"
+"!= 0
error, no object was grabbed"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/if.txt:1
+#, no-wrap
+msgid "Instructions if
and else
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:3
+#, no-wrap
+msgid ""
+"With the instruction if() {}
you can execute a set of "
+"instructions only if a certain condition is true. Write the condition in "
+"brackets ()
, and the instructions in braces {}
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:6
+#, no-wrap
+msgid ""
+"Here is a concrete example: The bot will shoot only if the target is closer "
+"than 40 meters:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:12
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tif (distance(position, item.position) < 40)\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:14
+#, no-wrap
+msgid ""
+"You can also test if an object exists at all. If the instruction null
. So you can test if an object does not exists "
+"with the condition (item == null)
, or test if it exists with "
+"(item != null)
. Two equal signs ==
test equality, "
+"an exclamation mark followed by an equal sign !=
test "
+"inequality. Here is a test that will go to rechage the power "
+"cell only if there is a power station:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:21
+#, no-wrap
+msgid ""
+"\titem = radar(PowerStation);\n"
+"\tif (item != null)\n"
+"\t{\n"
+"\t\tgoto(item.position);\n"
+"\t\twait(5);\n"
+"\t}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:32
+#, no-wrap
+msgid ""
+"if ( condition )\n"
+"{\n"
+"\t
Instructions A ...\n"
+"}\n"
+"else\n"
+"{\n"
+"\t
Instructions B ...else { }
is not compulsory. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:38
+#, no-wrap
+msgid ""
+"Do not put a semicolon at the end of the line if ( "
+")
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/int.txt:1
+#, no-wrap
+msgid "Type int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain only whole numbers, negative or "
+"positive. For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/int.txt:7
+#, no-wrap
+msgid ""
+"\t12\n"
+"\t1000\n"
+"\t-4"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:9
+#, no-wrap
+msgid ""
+"To represent real numbers like 12.05 or -0.005, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:12
+#, no-wrap
+msgid "Do not put space or colon signs inside a number. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:17
+#, no-wrap
+msgid ""
+"Numbers of the type int
are represented with 32 bits.\n"
+"The highest number that can be represented is (2^31)-1, that is "
+"2'147'483'647.\n"
+"The smallest number that can be represented is -(2^31), that is "
+"-2'147'483'648."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/jet.txt:1
+#, no-wrap
+msgid "Instruction jet
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/jet.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:9
+#, no-wrap
+msgid ""
+"Power of the jet, ranges between -1
and "
+"+1
. void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:13 cbot-help/message.txt:23 cbot-help/motor.txt:37 cbot-help/shield.txt:17 cbot-help/wait.txt:20
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/message.txt:1
+#, no-wrap
+msgid "Instruction message
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/message.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:13
+#, no-wrap
+msgid ""
+"Text that is to be displayed. It is possible to append several texts and/or "
+"values with the operator +
:\n"
+"int
(default value "
+"DisplayMessage
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "Type of the message, that determines the background color. \n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "DisplayMessage
Standard message on yellow background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:17
+#, no-wrap
+msgid "DisplayInfo
Information on green background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:18
+#, no-wrap
+msgid "DisplayWarning
Warning on blue background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:19
+#, no-wrap
+msgid "DisplayError
Error on red background."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/motor.txt:1
+#, no-wrap
+msgid "Instruction motor
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:3
+#, no-wrap
+msgid ""
+"The instruction move
, turn
or goto
instruction "
+"is performed."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:20
+#, no-wrap
+msgid "left: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:22
+#, no-wrap
+msgid ""
+"Speed instruction for the left motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:23
+#, no-wrap
+msgid "right: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:25
+#, no-wrap
+msgid ""
+"Speed instruction for the right motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:30
+#, no-wrap
+msgid ""
+"Examples :\n"
+"motor(1, "
+"1)
\n"
+"motor(-1, -1)
"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/move.txt:1
+#, no-wrap
+msgid "Instruction move
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:3
+#, no-wrap
+msgid ""
+"The instruction float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:15
+#, no-wrap
+msgid ""
+"Length of the move, in meters. A negative value makes the bot move "
+"backward. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:20
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by move()
.\n"
+"== 0
Move executed\n"
+"!= 0
error, the instruction was not performed correctly"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/nan.txt:1
+#, no-wrap
+msgid "Type nan
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:4
+#, no-wrap
+msgid ""
+"This special value indicates that a variable of type "
+"int
or float
"
+"contains no number, but \"nothing\". \n"
+"For example, if the instruction receive
can "
+"not get the requested information, it returns nan
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/nan.txt:10
+#, no-wrap
+msgid ""
+"\tvalue = receive(\"Length\");\n"
+"\tif ( value == nan ) // not found ?\n"
+"\t{\n"
+"\t\t\n"
+"\t}"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/nan.txt:11
+#, no-wrap
+msgid "Dictionnary"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:13
+#, no-wrap
+msgid "nan
= Not A Number "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/new.txt:1
+#, no-wrap
+msgid "Instruction new
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:4
+#, no-wrap
+msgid ""
+"The new
operator creates a class instance:\n"
+"new
operator by putting () after the declaration:"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:13
+#, no-wrap
+msgid ""
+"Instead of:\n"
+"class
, reference
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/null.txt:1
+#, no-wrap
+msgid "Type null
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:3
+#, no-wrap
+msgid ""
+"This special value indicates that the variable containing it does not "
+"reference an instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:7
+#, no-wrap
+msgid ""
+"References\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:1
+#, no-wrap
+msgid "Type object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain the characteristics of an object, "
+"be it a bot, a building, some raw material, an enemy, etc. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:16
+#, no-wrap
+msgid ""
+"int object.category
Category of the object\n"
+"point object.position
Position of the "
+"object (x,y,z)\n"
+"float object.orientation
Orientation of the "
+"object (0..360)\n"
+"float object.pitch
Forward/backward "
+"angle of the object\n"
+"float object.roll
Right/left angle "
+"of the object \n"
+"float object.energyLevel
Energy level "
+"(0..1)\n"
+"float object.shieldLevel
Shield level "
+"(0..1)\n"
+"float object.temperature
Jet temperature "
+"(0..1)\n"
+"float object.altitude
Altitude above "
+"ground\n"
+"float object.lifeTime
Lifetime of the "
+"object\n"
+"object object.energyCell
Power cell on the bot\n"
+"object object.load
Object carried by the bot"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:18
+#, no-wrap
+msgid "category
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:19
+#, no-wrap
+msgid ""
+"The position
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:22
+#, no-wrap
+msgid ""
+"Position of the object on the planet, in meters. The coordinates "
+"x
and y
correspond to the location on a map, the "
+"z
coordinate corresponds to the altitude above (respectively "
+"below) sea level. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:24
+#, no-wrap
+msgid "orientation
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:25
+#, no-wrap
+msgid ""
+"Orientation of the object, in degrees. The orientation tells you what "
+"direction the object is facing. An orientation of 0
corresponds "
+"to an object facing eastwards, thus following the positive x
"
+"axis. The orientation is measured counterclockwise. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:27
+#, no-wrap
+msgid "pitch
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:28
+#, no-wrap
+msgid ""
+"Forward/backward angle of the robot. A pitch of 0
means that "
+"the bot is standing on flat ground. A positive inclination means that it is "
+"facing upwards, a negative inclination means that it is facing downwards. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:30
+#, no-wrap
+msgid "roll
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:31
+#, no-wrap
+msgid ""
+"Left/right angle of the bot, in degrees. A positive value means that the bot "
+"is leaning to the left side, a negative value means that it is leaning to "
+"the right side. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:33
+#, no-wrap
+msgid "energyLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:34
+#, no-wrap
+msgid ""
+"Energy level, between 0 and 1. A normal power cell that "
+"is fully charged returns the value 1
. A nuclear power cell never returns a value higher than 1, it "
+"just lasts longer. Attention: The energy level of a bot is always zero, "
+"because the energy is not contained in the bot, but in the power cell. To "
+"know the energy level of the power cell of a bot, you must write "
+"energyCell.energyLevel
. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:36
+#, no-wrap
+msgid "shieldLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:38
+#, no-wrap
+msgid ""
+"Shield level of a robot or building. A level 1
indicates that "
+"the shield is still perfect. Every time that the bot or building gets a "
+"bullet or collides with another object, the shield level decreases. When the "
+"level reaches 0
, the next bullet or collision will destroy the "
+"bot or building. \n"
+"Bots can re-energize their shield on a repair "
+"center. The shield of a building is repaired if it lays inside the "
+"protection sphere of a shielder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:40
+#, no-wrap
+msgid "temperature
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:41
+#, no-wrap
+msgid ""
+"Temperature of the jet of winged bots. 0
"
+"corresponds to a cold jet. When used, the temperature increases "
+"progressively. When it reaches the value 1
, the jet is "
+"overheated and stops working, until it cooled down a little. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:43
+#, no-wrap
+msgid "altitude
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:44
+#, no-wrap
+msgid ""
+"The z
coordinate of the position indicates the altitude above "
+"sea level, whereas the altitude
indicates the height above "
+"ground. This value is meaningful only for winged bots "
+"and for wasps. For all other objects, this value is "
+"zero. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:46
+#, no-wrap
+msgid "lifeTime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:47
+#, no-wrap
+msgid "The age of the object in seconds since it's creation."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:49
+#, no-wrap
+msgid "energyCell
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:52
+#, no-wrap
+msgid ""
+"This information is special, because it returns the information about "
+"another object, in this case the power pack. This means that energyCell "
+"contains all the characteristics of a normal object, for example "
+"category
(PowerCell or NuclearCell), position
(the "
+"position of the cell), etc.\n"
+"If you want to know the energy level of a robot, you must not check "
+"energyLevel
, but energyCell.energyLevel
.\n"
+"If the bot has bot no power cell, energyCell
returns "
+"null
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:54
+#, no-wrap
+msgid "load
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:55
+#, no-wrap
+msgid ""
+"This information also returns the description of a whole object: the "
+"description of the object carried by a grabber. If it "
+"carries nothing, load
returns null
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:56
+#, no-wrap
+msgid "Examples"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:58
+#, no-wrap
+msgid ""
+"The type object
returns the special value null
when the object does not exist. For example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:67
+#, no-wrap
+msgid ""
+"\tobject a;\n"
+"\ta = radar(BotGrabberRoller);\n"
+"\tif ( a == null ) // object does not exist ?\n"
+"\t{\n"
+"\t}\n"
+"\tif ( a.position.z > 50 ) // is it on a mountain ?\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:68
+#, no-wrap
+msgid "openfile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:3
+#, no-wrap
+msgid ""
+"file
class but openfile returne "
+"a reference to a new instance of the file class. You "
+"must supply two parameters, the filename and the opening mode."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/openfile.txt:5
+#, no-wrap
+msgid "file handle = openfile(\"filename\", \"r\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:8 cbot-help/open.txt:15
+#, no-wrap
+msgid ""
+"\"r\"
mode: open for reading.\n"
+"\"w\"
mode: open for writing."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/open.txt:1
+#, no-wrap
+msgid "Instruction open
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:3
+#, no-wrap
+msgid ""
+"Open a text file in the files/ folder. This is a method of the file
class. This is the reason why we always write "
+"handle.open()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:5
+#, no-wrap
+msgid "\thandle.open(\"test.txt\", \"w\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:7
+#, no-wrap
+msgid "To open a file, proceed as follows¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:12
+#, no-wrap
+msgid ""
+"\tfile handle();\n"
+"\thandle.open(\"filename\", \"w\");\n"
+"\thandle.writeln(\"abc\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:17
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files that are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:20
+#, no-wrap
+msgid ""
+"file
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/pointer.txt:1
+#, no-wrap
+msgid "References (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:3
+#, no-wrap
+msgid ""
+"CBOT uses references for classes and arrays. Any class variable actually contains a reference to "
+"the instance. The instance actually contains the class fields. Several "
+"references can reference the same instance. A null
reference references nothing. You can compare an "
+"instance to a suitcase and a reference to a carrier. Each time we need a new "
+"suitcase we create a new instance with a carrier. But a suitcase can be "
+"carried by more than one carrier. A carrier who carries no suitcase is a "
+"null
reference."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"Test()
¦:\n"
+"a = 33
is referenced only by "
+"the newly created instance item
inside the fucntion "
+"Test
. At the end of Test
this newly created "
+"instance referenced by item
is automatically deleted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:37
+#, no-wrap
+msgid ""
+"A function can return an instance¦:\n"
+"class
, new
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/point.txt:1
+#, no-wrap
+msgid "Type point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:5
+#, no-wrap
+msgid ""
+"Variables of this type contain the coordinates of a point in space. This "
+"type is made of three values that represent the x
, "
+"y
and z
coordinates.\n"
+"x
and y
correspond to the place on the ground. The "
+"positive x
axis faces towards east, the positive y
"
+"axis faces towards north. \n"
+"The z
value corresponds to the altitude above sea level. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:7
+#, no-wrap
+msgid "If you want to declare a variable of type point, you can write: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:9
+#, no-wrap
+msgid "\tpoint a (10, 20, 30);"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:11
+#, no-wrap
+msgid "You can also set the variable taking one value after another:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:16
+#, no-wrap
+msgid ""
+"\tpoint b;\n"
+"\tb.x = 10;\n"
+"\tb.y = 20;\n"
+"\tb.z = 30;"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:18
+#, no-wrap
+msgid "With these examples, the following condition is true:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:22
+#, no-wrap
+msgid ""
+"\tif ( a == b )\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:24
+#, no-wrap
+msgid ""
+"private
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:3
+#, no-wrap
+msgid ""
+"Class members can be public (by "
+"default) or private. A member can be declared privat by putting "
+"private
before the type declaration of the member. Private "
+"members are not accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/private.txt:16
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by défault\n"
+"\tpublic int a; // als public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:19
+#, no-wrap
+msgid ""
+"class
, public
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:1
+#, no-wrap
+msgid "Instruction public
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:3
+#, no-wrap
+msgid "This instruction has two distinct purposes¦:"
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/public.txt:4
+#, no-wrap
+msgid "Make a function available to other bots."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/public.txt:5
+#, no-wrap
+msgid "Make a class member accessible from outside the class definition."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:7
+#, no-wrap
+msgid "Instruction public
for functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:9
+#, no-wrap
+msgid ""
+"If you put public
before a function "
+"definition, you can make the function available to programs in other bots in "
+"the same mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:11
+#, no-wrap
+msgid "For example in the first bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:17
+#, no-wrap
+msgid ""
+"public void object::Segment(float dist, float angle)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(angle);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:19
+#, no-wrap
+msgid "And in another bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tSegment(10, 90);\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:30
+#, no-wrap
+msgid ""
+"If you have declared a function public
, you cannot define a "
+"function with the same name and arguments in another bot of the same "
+"mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:32
+#, no-wrap
+msgid ""
+"If a bot containing a public
function is destroyed, the other "
+"bots that make use of this function will be stopped with an error."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:33
+#, no-wrap
+msgid "Instruction public
for classes"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:35
+#, no-wrap
+msgid ""
+"Class members can be public (by default) or privat. A member can be declared private by putting "
+"private
before the member type. Private members are not "
+"accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:48
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by default\n"
+"\tpublic int a; // also public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:51
+#, no-wrap
+msgid ""
+"class
, private
, functions
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/radar.txt:1
+#, no-wrap
+msgid "Instruction radar
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:3
+#, no-wrap
+msgid ""
+"With the instruction radar()
, you can look for objects like enemies, bots, buildings or raw materials."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Write in brackets the name of the object that you look "
+"for. Put the result in a variable of the type "
+"object
. Here is an example that looks for the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:12
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:16
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:24
+#, no-wrap
+msgid ""
+"Category of the objects that should be detected. For "
+"example, when you are looking for an ant, write radar "
+"(AlienAnt)
. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:25
+#, no-wrap
+msgid "angle: float
(default value0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:30
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0
-> radar is facing straight ahead\n"
+"-90
-> radar is facing a quarter turn right\n"
+" 90
-> radar is facing a quarter turn left"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:31
+#, no-wrap
+msgid "focus: float
(default value360
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:33
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:34
+#, no-wrap
+msgid "min: float
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:36
+#, no-wrap
+msgid ""
+"Minimum detection distance, in meters. Objects that are closer than the "
+"minimum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:37
+#, no-wrap
+msgid "max: float
(Default value1000
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:39
+#, no-wrap
+msgid ""
+"Maximum detection distance, in meters. Objects that are farther away than "
+"the maximum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:40
+#, no-wrap
+msgid "way: float
(default value1
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:42
+#, no-wrap
+msgid ""
+"Determines which way the objects are detected. With value 1
, "
+"returns the closest object found in the specified zone. With value "
+"-1
, the farthest object in the zone will be returned. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:43 cbot-help/retobj.txt:10 cbot-help/search.txt:13
+#, no-wrap
+msgid "Return value: object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:45
+#, no-wrap
+msgid ""
+"Returns the first object found that corresponds to the specified category in "
+"the specified zone. If no object was found, returns the value null
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:46
+#, no-wrap
+msgid "Remark"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:48
+#, no-wrap
+msgid ""
+"You do not have to give all the parameters. Here are two examples of "
+"instructions that are equivalent: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:51
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:54
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:57
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated "
+"above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar "
+"(AlienAnt)
detects the closest ant, wherever it may be. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/readln.txt:1
+#, no-wrap
+msgid "Instruction readln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:3
+#, no-wrap
+msgid ""
+"Read one line from an open file in the files/ folder. This is a method of "
+"the file
class. This is the reason why we "
+"always write handle.readln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:5
+#, no-wrap
+msgid "\ts = handle.readln();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for reading (\"r\"
) with the "
+"open
instruction. readln
returns "
+"the string containing the whole line but without the end of line characters "
+"0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/receive.txt:1
+#, no-wrap
+msgid "Instruction receive
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/receive.txt:4
+#, no-wrap
+msgid "nan
is returned."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/receive.txt:18
+#, no-wrap
+msgid ""
+"send
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/recycle.txt:1
+#, no-wrap
+msgid "Instruction recycle
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/recycle.txt:4
+#, no-wrap
+msgid "== 0
the derelict bot has been recycled\n"
+"!= 0
error, no derelict bot could be recycled"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/retobj.txt:1
+#, no-wrap
+msgid "Instruction retobject
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/retobj.txt:4
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:9
+#, no-wrap
+msgid ""
+"Number of the object, between 0 and n. \"n\" represents the total number of "
+"objects in the scene. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:12
+#, no-wrap
+msgid ""
+"Object corresponding to the number. The return value null
means that no object corresponds to this number, "
+"because the number was too high, and there are not so many objects in the "
+"scene. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/return.txt:1
+#, no-wrap
+msgid "Instruction return
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:3
+#, no-wrap
+msgid "Returns from a function. Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:8
+#, no-wrap
+msgid ""
+"void function ( )\n"
+"{\n"
+"\treturn;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:11
+#, no-wrap
+msgid ""
+"If the function has a return type, the "
+"return
instruction must be followed by the value to be "
+"returned:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:16
+#, no-wrap
+msgid ""
+"float Pi ( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:21
+#, no-wrap
+msgid ""
+"float Mean (float a, float b)\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:28
+#, no-wrap
+msgid ""
+"string Sign (float a)\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/search.txt:1
+#, no-wrap
+msgid "Instruction search
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/search.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:12
+#, no-wrap
+msgid ""
+"search
returns the object of the given category that is closest "
+"to the position indicated here. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:15
+#, no-wrap
+msgid ""
+"Characteristics of the object that has been found. The value null
means that no object of this category has been "
+"found. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/send.txt:1
+#, no-wrap
+msgid "Instruction send
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/send.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:13
+#, no-wrap
+msgid "Value of the information to be sent."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:16
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance to where "
+"information can be the sent. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:19
+#, no-wrap
+msgid ""
+"receive
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/shield.txt:1
+#, no-wrap
+msgid "Instruction shield
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/shield.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:11
+#, no-wrap
+msgid ""
+"1
activates the shield.\n"
+"0
deactivates the shield\n"
+"A normal power cell fully charged can maintain the "
+"shield active during 20 seconds. When the cell is empty, the shield "
+"deactivates."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/shield.txt:12
+#, no-wrap
+msgid "radius: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:14
+#, no-wrap
+msgid "Radius of the shield, ranging between 10 and 25 meters."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sizeof.txt:1
+#, no-wrap
+msgid "Instruction sizeof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:4
+#, no-wrap
+msgid ""
+"The sizeof function lets you know the number of elements contained in an array.\n"
+"That is the index of the last element plus one (\"empty\" elements are "
+"counted)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:10
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[12];\n"
+"\ta[5] = 345;\n"
+"\tmessage( sizeof(a) ); // will display 6\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:12
+#, no-wrap
+msgid ""
+"In this example we have 6 elements in the array after "
+"a[5]=345
. The non initialized elements [0]
, "
+"[1]
, [2]
, [3]
and [4]
"
+"will be counted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:14
+#, no-wrap
+msgid "With multidimensionnal arrays you can get the size of a sub array:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:20
+#, no-wrap
+msgid ""
+"float xy[][]; // 2 dimensionnal array\n"
+"xy[5][10] = 67;\n"
+"message( sizeof(xy) ); // will display 6\n"
+"message( sizeof(xy[5]) ); // will display 11\n"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sniff.txt:1
+#, no-wrap
+msgid "Instruction sniff
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sniff.txt:4
+#, no-wrap
+msgid "TitaniumSpot
-> Red cross\n"
+"UraniumSpot
-> Yellow circle\n"
+"PowerSpot
-> Green cross"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sniff.txt:15
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
sounding performed\n"
+"!= 0
sounding impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/space.txt:1
+#, no-wrap
+msgid "Instruction space
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/space.txt:4
+#, no-wrap
+msgid "point
(default: bot position)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:9
+#, no-wrap
+msgid "Desired position of the free space."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:10
+#, no-wrap
+msgid "rmin: float
(default value: 8
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:12
+#, no-wrap
+msgid "Minimum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:13
+#, no-wrap
+msgid "rmax: float
(default value: 50
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:15
+#, no-wrap
+msgid "Maximum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:16
+#, no-wrap
+msgid "dist: float
(default value: 4
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:18
+#, no-wrap
+msgid "Required distance between two free spaces."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:19
+#, no-wrap
+msgid "Return: point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:21
+#, no-wrap
+msgid "Position of the free space."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/static.txt:1
+#, no-wrap
+msgid "Instruction static
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:3
+#, no-wrap
+msgid ""
+"Class members declared with static
are shared "
+"between all instances of the class."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/static.txt:17
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic int nb = 1;\n"
+"\tstatic string [ ] list = null;\n"
+"}\n"
+"void Test ()\n"
+"{\n"
+"\tMyClasse item1();\n"
+"\tMyClasse item2();\n"
+"\titem1.nb = 3;\n"
+"\titem1.list[item1.nb] = \"Hello\";\n"
+"\tmessage( item2.list[item2.nb] ); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:19
+#, no-wrap
+msgid ""
+"Static
members can be declared private
so they will be only acessible from within "
+"class members (including constructors and destructors)."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:22
+#, no-wrap
+msgid ""
+"class
, synchronized
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strfind.txt:1
+#, no-wrap
+msgid "Instruction strfind
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:3
+#, no-wrap
+msgid ""
+"Find a substring in a string and returns the position of the first substring "
+"found or nan if the substring has not been found."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:6
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:9
+#, no-wrap
+msgid "String we are searching in."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/strfind.txt:10
+#, no-wrap
+msgid "sub: string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:12
+#, no-wrap
+msgid "Substring we are searching for."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:14 cbot-help/strleft.txt:11 cbot-help/strlen.txt:8 cbot-help/strlower.txt:8 cbot-help/strmid.txt:14 cbot-help/strright.txt:11 cbot-help/strupper.txt:8 cbot-help/strval.txt:5 cbot-help/strval.txt:12 cbot-help/writeln.txt:12
+#, no-wrap
+msgid "Examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/string.txt:1
+#, no-wrap
+msgid "Type string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:3
+#, no-wrap
+msgid "Use a variable of this type for storing characters or strings."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:5
+#, no-wrap
+msgid "For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:9
+#, no-wrap
+msgid ""
+"+
operator :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:12
+#, no-wrap
+msgid "strlen
Get string length\n"
+"strleft
Extract left part\n"
+"strright
Extract right part\n"
+"strmid
Extract center part\n"
+"strfind
Find a substring.\n"
+"strval
Convert string to number\n"
+"strupper
Convert to upper case\n"
+"strlower
Convert to lower case"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strleft.txt:1
+#, no-wrap
+msgid "Instruction strleft
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:3
+#, no-wrap
+msgid "Extracts the first (that is, leftmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:9 cbot-help/strmid.txt:12 cbot-help/strright.txt:9
+#, no-wrap
+msgid "Number of characters to be extracted."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:13
+#, no-wrap
+msgid ""
+"strlen
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlen.txt:1
+#, no-wrap
+msgid "Instruction strlen
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlen.txt:3
+#, no-wrap
+msgid "Get the length of a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlen.txt:6
+#, no-wrap
+msgid "strleft
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlower.txt:1
+#, no-wrap
+msgid "Instruction strlower
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlower.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to lowercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlower.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strupper
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strmid.txt:1
+#, no-wrap
+msgid "Instruction strmid
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:3
+#, no-wrap
+msgid ""
+"Extracts a substring of a given length starting at a given position from a "
+"string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:9
+#, no-wrap
+msgid ""
+"The index of the first character that is to be included in the extracted "
+"substring."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strright.txt:1
+#, no-wrap
+msgid "Instruction strright
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strright.txt:3
+#, no-wrap
+msgid "Extracts the last (that is, rightmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strright.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strupper.txt:1
+#, no-wrap
+msgid "Instruction strupper
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strupper.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to uppercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strupper.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strval.txt:1
+#, no-wrap
+msgid "Instruction strval
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strval.txt:3
+#, no-wrap
+msgid ""
+"Convert a string to a number. Don't confuse the string \"45\"
"
+"that contains actually the two characters 4
and 5
"
+"and the number 45
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strval.txt:7
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strfind
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/synchro.txt:1
+#, no-wrap
+msgid "Instruction synchronized
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:3
+#, no-wrap
+msgid ""
+"A class method can be declared "
+"synchronized
. This is to make sure that the method is never "
+"being executed by more than one bot at the same time."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:5
+#, no-wrap
+msgid "The following example illustrates the problem:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/synchro.txt:17
+#, no-wrap
+msgid ""
+"class blocking\n"
+"{\n"
+"\tstatic int nb = 33;\n"
+"\tsynchronized int inc( )\n"
+"\t{\n"
+"\t\tint val = nb;\n"
+"\t\twait ( 2 ); // wait 2 sec.\n"
+"\t\tnb = nb + 1;\n"
+"\t\treturn val;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:20
+#, no-wrap
+msgid ""
+"What happens if two bots execute the inc
method at the same "
+"time¦?\n"
+"Both of them will execute val=nb
and wait 2 seconds so both of "
+"them will have val=33
. With synchronized
the first "
+"bot starts execution with val=33
and then waits 2 seconds and "
+"returns. Only once the first bot has returned from the inc
"
+"method, the second bot will be allowed to enter the inc
method "
+"and therefore the second bot will always have val=34
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:22
+#, no-wrap
+msgid ""
+"You can have more than one synchronized method in your class in order to prevent simultaneous execution across more "
+"than one method. In other words: as long as a bot's program is inside a "
+"synchronized method, no other bot can enter any synchronized method of the "
+"same class."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:25
+#, no-wrap
+msgid ""
+"class
, static
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/term.txt:1
+#, no-wrap
+msgid "Semicolon"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/term.txt:3
+#, no-wrap
+msgid "Always use a semicolon while
, if
or for
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/term.txt:19
+#, no-wrap
+msgid ""
+"\tif ( a < b ) testinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/testinfo.txt:4
+#, no-wrap
+msgid "false
. Default value is 10 metres."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/testinfo.txt:13
+#, no-wrap
+msgid "Return: bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:15
+#, no-wrap
+msgid ""
+"Return true
if the information exists. Return and "
+"false
if the information does not exist or if the receiver is "
+"too far away from the exchange post."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:18
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/this.txt:1
+#, no-wrap
+msgid "Instruction this
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:3
+#, no-wrap
+msgid ""
+"Occasionally, a class method needs to know the reference "
+"to the instance it is acting upon. For example the instance might want to "
+"pass it's own reference to another function. An implicit reference name "
+"this
is available to methods and this
is a "
+"reference to the current instance."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:26
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint m_int;\n"
+"\tstring m_str;\n"
+"\tvoid MyFunction()\n"
+"\t{\n"
+"\t\tOtherFunction(this);\n"
+"\t\tm_int = 2;\n"
+"\t}\n"
+"}\n"
+"\n"
+"void OtherFunction(MyClass obj)\n"
+"{\n"
+"\tmessage(obj.m_str);\n"
+"}\n"
+"\n"
+"extern void object::Test()\n"
+"{\n"
+"\tMyClass item();\n"
+"\titem.m_str = \"Hello\";\n"
+"\titem.MyFunction(); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:28
+#, no-wrap
+msgid ""
+"You can also put this
before a field name in a method but this "
+"is not necessary. In the example above in the method "
+"MyFunction()
following two lines have strictly the same "
+"meaning:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:31
+#, no-wrap
+msgid ""
+"\tm_int = 2;\n"
+"\tthis.m_int = 2; // identical"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:33
+#, no-wrap
+msgid ""
+"In a method of the object
class, you can "
+"also use this.
before a fieldname."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:40
+#, no-wrap
+msgid ""
+"extern void object::Display()\n"
+"{\n"
+"\tmessage(orientation);\n"
+"\tmessage(this.orientation); // same thing but\n"
+"\t // more explicit\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:42
+#, no-wrap
+msgid ""
+"However if a field name is hidden by a parameter declaration or a variable "
+"declaration you must use this
. In the following example the "
+"name value
of the parameter is the same as the name of the "
+"field value
of the class "
+"MyClass
, we must therefore write this.value
in "
+"order to distinguish the field from the parameter."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:51
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint value;\n"
+"\tvoid Put( int value )\n"
+"\t{\n"
+"\t\tthis.value = value;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:54
+#, no-wrap
+msgid ""
+"class
\n"
+"Programming, types et catégories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/thump.txt:1
+#, no-wrap
+msgid "Instruction thump
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/thump.txt:4
+#, no-wrap
+msgid "== 0
Thumping performed\n"
+"!= 0
Operation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/topo.txt:1
+#, no-wrap
+msgid "Instruction topo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/topo.txt:4
+#, no-wrap
+msgid "true
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/true.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is true; it is one of the two values that "
+"a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/turn.txt:1
+#, no-wrap
+msgid "Instruction turn
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:3
+#, no-wrap
+msgid ""
+"Use the instruction direction()
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:15
+#, no-wrap
+msgid ""
+"\titem = radar(AlienSpider);\n"
+"\tturn(direction(item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:17
+#, no-wrap
+msgid ""
+"After these lines, just fire the cannon, and there is one hostile element "
+"less."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:21
+#, no-wrap
+msgid "turn(180)
turns round completely. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:31
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
rotation performed\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/type.txt:1
+#, no-wrap
+msgid "Variable types"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:3
+#, no-wrap
+msgid "When you define a variable, you must give two elements: "
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/type.txt:4
+#, no-wrap
+msgid "a name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/type.txt:5
+#, no-wrap
+msgid "a type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:8
+#, no-wrap
+msgid ""
+"Once you defined a variable, you can use it to put information in "
+"it. However, the information that a variable can contain must always be of "
+"the correct type: a variable of type float can not contain "
+"a string, etc."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:10
+#, no-wrap
+msgid ""
+"In a program, the name of a type is always written on int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:13
+#, no-wrap
+msgid "For a whole number (12, -500, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:15
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:16
+#, no-wrap
+msgid "For a real number (12, 3.14, 0.2, -99.98, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:18
+#, no-wrap
+msgid "bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:19
+#, no-wrap
+msgid ""
+"For a boolean variable, that can only take the values true
or "
+"false
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:21
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:22
+#, no-wrap
+msgid "For texts (\"Hello!\", \"No object found\", etc.)"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:24
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:25
+#, no-wrap
+msgid ""
+"For the coordinates of a point in space; a variable of this type consists of "
+"three parts named x, y and z."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:27
+#, no-wrap
+msgid "object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:28
+#, no-wrap
+msgid ""
+"A variable of this type contains the information about an object (bot, "
+"building, enemy, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:30
+#, no-wrap
+msgid "void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:31
+#, no-wrap
+msgid ""
+"This type is an \"empty type\", that you use when you do not want to specify "
+"a type."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/var.txt:1
+#, no-wrap
+msgid "Variables"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:3
+#, no-wrap
+msgid ""
+"A variable is like a box, where you can put some information. The content of "
+"the variable can change during the execution of the program."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:5
+#, no-wrap
+msgid ""
+"For example, you can use a variable to count the number of titanium ore "
+"units that the grabber has collected and carried to the converter. First, "
+"you must find a name for it: the name should not be too long, but explain by "
+"itself what the variable is used for. Let's call it "
+"countTit
. This variable must contain only whole numbers, so "
+"choose the type int
. At the beginning of the program, you must "
+"declare the variable. Then you put the value 0
into the "
+"variable, and every time you grab a titanium ore, you increase the variable "
+"by 1
. At every moment, the variable contains the number of "
+"titanium ore units that the grabber collected."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:8
+#, no-wrap
+msgid ""
+"For the declaration of the variable, write the following line: \n"
+"0
into the variable, write:\n"
+"dist
, direct
, "
+"p2
, a
, x
, "
+"nothing_2_shoot_at
, etc.\n"
+"A variable name must always begin with a letter. It can be followed by any "
+"combination of letters, digits or the underscore character "
+"_
. You can of course not use the keywords of the CBOT language "
+"like for
, while
, "
+"break
, continue
, do
, etc.\n"
+"You should be careful about the choice of the names that you give to "
+"variables; writing a program can become very difficult if you forget the "
+"names of variables or if you do not remember what they are used "
+"for. Elaborate your own system to find variable names, and do not use names "
+"like Bmo45
, a
or tgBinX
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:20
+#, no-wrap
+msgid ""
+"In the example above, the keyword int
indicates that this "
+"variable can contain only whole numbers, which is adequate to counting "
+"objects. If you want to measure a distance, better use a variable that can "
+"contain also real numbers, with a fractional part (like 3.45 or 0.034): in "
+"this case, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:22
+#, no-wrap
+msgid "In fact, a variable is made up of three parts:\n"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:22 cbot-help/var.txt:26
+#, no-wrap
+msgid "the name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/var.txt:23
+#, no-wrap
+msgid "the type of the information stored inside"
+msgstr ""
+
+#. type: Bullet: '3)'
+#: cbot-help/var.txt:24
+#, no-wrap
+msgid "the content, i.e. the information itself"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:28
+#, no-wrap
+msgid ""
+"You need the name to be able to distinguish the different variables from "
+"each other."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:29
+#, no-wrap
+msgid "the type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid ""
+"The type determines what kind of information the variable "
+"can contain. According to the type, a variable can contain a whole number, a "
+"real number, a string, the coordinates of a point, information about an "
+"object, etc. \n"
+"Here is a list of the most common variable types:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid "int
for a whole number (12, -500, etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:33
+#, no-wrap
+msgid ""
+"float
for a real number (3.14, 0.2, -99.98, "
+"etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:34
+#, no-wrap
+msgid ""
+"string
for a character string (\"Hello!\", "
+"\"No object found\", etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:35
+#, no-wrap
+msgid "point
for a x,y,z-coordinate in space"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:36
+#, no-wrap
+msgid ""
+"object
for information about an object (bot, "
+"building, etc.)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:38
+#, no-wrap
+msgid "The content"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:40
+#, no-wrap
+msgid ""
+"The content of a variable is an information of the kind specified in the "
+"type. It can change during the execution of the program. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:43
+#, no-wrap
+msgid ""
+"Once you declared a variable, it still does not contain any value. Before "
+"you can use it, you must put a value inside: \n"
+"=
, "
+"the value on the right side is copied into the value on the left "
+"side. Consider the following example: \n"
+"i
and j
"
+"contain the value 13
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:59
+#, no-wrap
+msgid ""
+"The following assignment is not correct, because on the left side of the "
+"equals sign =
, there can be only a variable name:\n"
+"a
and b
:\n"
+"void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:3
+#, no-wrap
+msgid "Use this type when you want to declare a function that returns nothing."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"wait
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/wait.txt:3
+#, no-wrap
+msgid ""
+"The instruction while
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:3
+#, no-wrap
+msgid ""
+"The instruction while () {}
is used to repeat a set of "
+"instructions several times."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid ""
+"The most frequent use of while
consists in repeating a set of "
+"instructions again and again. In order to achieve this, write while "
+"(true) {}
and put the instructions to be repeated in braces "
+"{}
. As an example, here is a program that repeats again and "
+"again the following actions:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid "look for a spider,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:7
+#, no-wrap
+msgid "turn towards it,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:8
+#, no-wrap
+msgid "shoot."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:16
+#, no-wrap
+msgid ""
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(AlienSpider);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:18
+#, no-wrap
+msgid "Just execute this program once, and it will kill all spiders around it."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:25
+#, no-wrap
+msgid ""
+"while ( condition )\n"
+"{\n"
+"\t
Instructions ...while( ) { }
with the "
+"instruction while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:45
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction while { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/writeln.txt:1
+#, no-wrap
+msgid "Instruction writeln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:3
+#, no-wrap
+msgid ""
+"Write one line of text to an open file in the files/ folder. This is a "
+"method of the file
class. This is the reason "
+"why we always write handle.writeln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:5
+#, no-wrap
+msgid "\thandle.writeln(\"abc\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for writing (\"w\"
) with the "
+"open
instruction. The line will automatically "
+"be terminated by the end of line characters 0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, readln
"
+"and eof
.\n"
+"Programming, types and categories."
+msgstr ""
diff --git a/help/cbot/po/fr.po b/help/cbot/po/fr.po
new file mode 100644
index 00000000..c306bdf2
--- /dev/null
+++ b/help/cbot/po/fr.po
@@ -0,0 +1,6406 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR abstime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:3 cbot-help/deletef.txt:7 cbot-help/delinfo.txt:3 cbot-help/errmode.txt:6 cbot-help/flatgrnd.txt:3 cbot-help/readln.txt:9 cbot-help/send.txt:3 cbot-help/strfind.txt:5 cbot-help/strleft.txt:5 cbot-help/strlen.txt:5 cbot-help/strlower.txt:5 cbot-help/strmid.txt:5 cbot-help/strright.txt:5 cbot-help/strupper.txt:5 cbot-help/strval.txt:9 cbot-help/testinfo.txt:3 cbot-help/writeln.txt:9
+#, no-wrap
+msgid "Syntax¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/abstime.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:9
+#, no-wrap
+msgid "Time in seconds."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/abstime.txt:10 cbot-help/aim.txt:20 cbot-help/array.txt:30 cbot-help/bloc.txt:48 cbot-help/bool.txt:4 cbot-help/break.txt:24 cbot-help/category.txt:107 cbot-help/class.txt:70 cbot-help/close.txt:6 cbot-help/cond.txt:27 cbot-help/continue.txt:24 cbot-help/deletef.txt:9 cbot-help/delinfo.txt:13 cbot-help/direct.txt:13 cbot-help/dist2d.txt:13 cbot-help/dist.txt:29 cbot-help/do.txt:27 cbot-help/drop.txt:28 cbot-help/eof.txt:13 cbot-help/errmode.txt:32 cbot-help/expr.txt:87 cbot-help/extern.txt:29 cbot-help/false.txt:4 cbot-help/file.txt:16 cbot-help/fire.txt:30 cbot-help/flatgrnd.txt:16 cbot-help/float.txt:24 cbot-help/for.txt:38 cbot-help/function.txt:84 cbot-help/goto.txt:34 cbot-help/grab.txt:28 cbot-help/if.txt:39 cbot-help/int.txt:18 cbot-help/jet.txt:14 cbot-help/message.txt:24 cbot-help/motor.txt:38 cbot-help/move.txt:21 cbot-help/nan.txt:14 cbot-help/new.txt:19 cbot-help/null.txt:4 cbot-help/object.txt:68 cbot-help/openfile.txt:10 cbot-help/open.txt:18 cbot-help/pointer.txt:51 cbot-help/point.txt:35 cbot-help/private.txt:17 cbot-help/public.txt:49 cbot-help/radar.txt:58 cbot-help/readln.txt:18 cbot-help/receive.txt:16 cbot-help/recycle.txt:12 cbot-help/retobj.txt:13 cbot-help/return.txt:29 cbot-help/search.txt:16 cbot-help/send.txt:17 cbot-help/shield.txt:18 cbot-help/sizeof.txt:21 cbot-help/sniff.txt:16 cbot-help/space.txt:22 cbot-help/static.txt:20 cbot-help/strfind.txt:18 cbot-help/string.txt:32 cbot-help/strleft.txt:14 cbot-help/strlen.txt:12 cbot-help/strlower.txt:10 cbot-help/strmid.txt:18 cbot-help/strright.txt:14 cbot-help/strupper.txt:10 cbot-help/strval.txt:17 cbot-help/synchro.txt:23 cbot-help/term.txt:30 cbot-help/testinfo.txt:16 cbot-help/this.txt:52 cbot-help/thump.txt:12 cbot-help/topo.txt:13 cbot-help/true.txt:4 cbot-help/turn.txt:32 cbot-help/type.txt:32 cbot-help/var.txt:66 cbot-help/void.txt:10 cbot-help/wait.txt:21 cbot-help/while.txt:46 cbot-help/writeln.txt:19
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:11 cbot-help/aim.txt:21 cbot-help/array.txt:31 cbot-help/bool.txt:5 cbot-help/break.txt:25 cbot-help/cond.txt:29 cbot-help/continue.txt:25 cbot-help/deletef.txt:10 cbot-help/direct.txt:15 cbot-help/dist2d.txt:14 cbot-help/dist.txt:30 cbot-help/drop.txt:29 cbot-help/errmode.txt:33 cbot-help/expr.txt:88 cbot-help/extern.txt:30 cbot-help/false.txt:6 cbot-help/fire.txt:31 cbot-help/flatgrnd.txt:17 cbot-help/float.txt:25 cbot-help/for.txt:40 cbot-help/function.txt:85 cbot-help/goto.txt:35 cbot-help/grab.txt:29 cbot-help/if.txt:40 cbot-help/int.txt:20 cbot-help/jet.txt:16 cbot-help/message.txt:25 cbot-help/move.txt:22 cbot-help/nan.txt:16 cbot-help/object.txt:70 cbot-help/openfile.txt:11 cbot-help/point.txt:36 cbot-help/radar.txt:60 cbot-help/recycle.txt:14 cbot-help/retobj.txt:15 cbot-help/return.txt:31 cbot-help/search.txt:18 cbot-help/shield.txt:19 cbot-help/sizeof.txt:22 cbot-help/sniff.txt:17 cbot-help/space.txt:23 cbot-help/string.txt:33 cbot-help/term.txt:31 cbot-help/thump.txt:13 cbot-help/topo.txt:14 cbot-help/true.txt:5 cbot-help/turn.txt:33 cbot-help/type.txt:33 cbot-help/var.txt:67 cbot-help/void.txt:11 cbot-help/wait.txt:22
+#, no-wrap
+msgid ""
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/aim.txt:1
+#, no-wrap
+msgid "Instruction aim
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:3 cbot-help/break.txt:3 cbot-help/continue.txt:3 cbot-help/direct.txt:3 cbot-help/motor.txt:16 cbot-help/space.txt:3 cbot-help/while.txt:21
+#, no-wrap
+msgid "Syntax :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/aim.txt:4
+#, no-wrap
+msgid "turn
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:12 cbot-help/turn.txt:24
+#, no-wrap
+msgid "angle: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:14
+#, no-wrap
+msgid ""
+"Angle in degrees of the gun relative to the robot. A positive value orients "
+"the gun upward. For shooters and orga shooters, the angle must range from "
+"-20
to +20
degrees. For phazer shooters, the angle "
+"must range from -20
to 45
degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:15 cbot-help/drop.txt:23 cbot-help/fire.txt:25 cbot-help/goto.txt:29 cbot-help/grab.txt:23 cbot-help/move.txt:16 cbot-help/recycle.txt:7 cbot-help/sniff.txt:11 cbot-help/thump.txt:7 cbot-help/turn.txt:27
+#, no-wrap
+msgid "Return value: int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:19
+#, no-wrap
+msgid ""
+"Zero if everything is OK, a value different from zero if the rotation could "
+"not be performed: \n"
+"== 0
The gun has now got the desired orientation\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/array.txt:1
+#, no-wrap
+msgid "Arrays"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:3
+#, no-wrap
+msgid ""
+"An array is basically a collection of variables of the same type or "
+"class. You can use N dimensionnal arrays in the CBOT language. Each "
+"dimension is limited to 9999 elements. You must use square brackets "
+"[]
after the type name or the variable name to declare an "
+"array."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:8
+#, no-wrap
+msgid ""
+"int [ ] a; // an array of int\n"
+"int a [12]; // an array of int limited to 12 elements\n"
+"string s[3]; // an array of 3 strings\n"
+"float xy[][]; // an 2 dimensionnal array of floats"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:10
+#, no-wrap
+msgid ""
+"Actually when the CBOT interpreter encounters an array declaration, it just "
+"creates a null
reference:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:12
+#, no-wrap
+msgid "int a[5]; // a is now a null reference"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:14
+#, no-wrap
+msgid ""
+"As soon as you put values into the array, the elements are created and the "
+"reference is initialized:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:17
+#, no-wrap
+msgid ""
+"a[2] = 213; // a points to\n"
+" // 3 élements [0], [1] et [2]"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:19
+#, no-wrap
+msgid ""
+"After this operation, a
contains a reference to the elements of "
+"the array. Elements [0]
and [1]
are created but "
+"not initialized because an array cannot contain empty elements. The sizeof
instruction allows you to obtain the number of "
+"elements contained in an array."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:21
+#, no-wrap
+msgid ""
+"When an array is declared with a maximum size, the program will stop as soon "
+"as there is an access beyond the maximum array size. No error is signalled "
+"during compilation even if the error is obvious:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:27
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[5];\n"
+"\ta[7] = 123; // no error at compile time\n"
+"\t // but error at run time\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:29
+#, no-wrap
+msgid ""
+"If you pass an array as parameter to a function, the "
+"function only receives a reference to the array. That "
+"means if you modify an array element in the function, the element of the "
+"array that has been passed the function will be actuallay modified."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bloc.txt:1
+#, no-wrap
+msgid "Blocks"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:3
+#, no-wrap
+msgid ""
+"You can use braces { }
to group a number of instructions "
+"together in order to make one single block out of them, for example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:10
+#, no-wrap
+msgid ""
+"\t{\n"
+"\t\tfloat t;\n"
+"\t\tt = a;\n"
+"\t\ta = b;\n"
+"\t\tb = t; // switches round a and b\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:13
+#, no-wrap
+msgid ""
+"Every instruction in the block is followed by a semicolon, "
+"but the block itself is not. \n"
+"Let us take the following example with the instruction if
to illustrate the use of blocks in a program:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:18
+#, no-wrap
+msgid ""
+"\tif ( a < b )\n"
+"\t\tif
, "
+"while
and for
, "
+"in order to group several instructions that should be performed only if a "
+"condition is true, or repeated several times. \n"
+"You can fit blocks into other blocks, on as many levels as you need. Here is "
+"an example of imbrication on two levels :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:42
+#, no-wrap
+msgid ""
+"\tif ( a > b )\n"
+"\t{\n"
+"\t\tint i = 0;\n"
+"\t\twhile ( i < 18 )\n"
+"\t\t{\n"
+"\t\t\tmove(10);\n"
+"\t\t\tturn(5);\n"
+"\t\t\ti = i+1;\n"
+"\t\t}\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:44
+#, no-wrap
+msgid ""
+"You had better line up the open brace {
with the closing brace "
+"}
in order to improve readability, but it is not "
+"compulsory. The following example takes less space, is equivalent to the "
+"previous example, but it is not advisable to write your programs in the "
+"following style : "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:47
+#, no-wrap
+msgid ""
+"\tif(a>b) { int i=0; while(i<18) {\n"
+"\tmove(10);turn(5);i=i+1; }}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:49 cbot-help/do.txt:28 cbot-help/motor.txt:39 cbot-help/while.txt:47
+#, no-wrap
+msgid ""
+"Instructions, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bool.txt:1
+#, no-wrap
+msgid "Type bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bool.txt:3
+#, no-wrap
+msgid ""
+"In a variable of this type you can put a boolean value, that is a value that "
+"can take only two states: true or false. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/break.txt:1
+#, no-wrap
+msgid "Instruction break
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:7
+#, no-wrap
+msgid ""
+"while
or for
loop."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/break.txt:11 cbot-help/continue.txt:11
+#, no-wrap
+msgid "Here is an example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:22
+#, no-wrap
+msgid ""
+"Categories
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:3
+#, no-wrap
+msgid ""
+"Categories represent the names of objects in the CBOT language. Everything "
+"in COLOBOT is an object: robots, buildings, raw materials, etc., even "
+"yourself."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:5
+#, no-wrap
+msgid ""
+"In a program, categories are always displayed on a Houston
Mission "
+"Control\n"
+" SpaceShip
Spaceship\n"
+" BotFactory
Robot "
+"Factory\n"
+" ResearchCenter "
+"
Research Center\n"
+" RadarStation
Radar\n"
+" ExchangePost "
+"
Information Exchange Post\n"
+" RepairCenter
Repair "
+"Center\n"
+" DefenseTower
Defense "
+"Tower\n"
+" AutoLab
Organic "
+"Matter Analyzer \n"
+" PowerStation
Power "
+"Station\n"
+" PowerPlant
Power "
+"Cell Factory\n"
+" NuclearPlant
Nuclear "
+"Plant\n"
+" Converter
Titanium "
+"Converter\n"
+" Derrick "
+"
Derrick\n"
+" PowerCaptor
Parabolic "
+"Lightning Conductor\n"
+" Vault
Vault\n"
+" StartArea
Starting Pad\n"
+" GoalArea
Finishing Pad\n"
+" AlienNest
Alien Nest"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:31
+#, no-wrap
+msgid "Portable Objects :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:42
+#, no-wrap
+msgid ""
+" TitaniumOre
Titanium "
+"Ore\n"
+" UraniumOre
Uranium Ore\n"
+" Titanium
Cube of "
+"converted Titanium\n"
+" PowerCell
Regular Power "
+"Cell\n"
+" NuclearCell
Nuclear Power "
+"Cell\n"
+" OrgaMatter
Organic "
+"Matter\n"
+" BlackBox
Black Box\n"
+" TNT
Explosive "
+"device\n"
+" KeyA..D
Keys A, B, C and "
+"D"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:44
+#, no-wrap
+msgid "Robots :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:48
+#, no-wrap
+msgid ""
+" PracticeBot "
+"
Practice Bot\n"
+" TargetBot "
+"
Target Bot"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:53
+#, no-wrap
+msgid ""
+" WheeledGrabber "
+"
Wheeled Grabber\n"
+" TrackedGrabber "
+"
Tracked Grabber\n"
+" WingedGrabber "
+"
Winged Grabber\n"
+" LeggedGrabber "
+"
Legged Grabber"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:58
+#, no-wrap
+msgid ""
+" WheeledSniffer "
+"
Wheeled Sniffer\n"
+" TrackedSniffer "
+"
Tracked Sniffer\n"
+" WingedSniffer "
+"
Winged Sniffer\n"
+" LeggedSniffer "
+"
Legged Sniffer"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:63
+#, no-wrap
+msgid ""
+" WheeledShooter "
+"
Wheeled Shooter\n"
+" TrackedShooter "
+"
Tracked Shooter\n"
+" WingedShooter "
+"
Winged Shooter\n"
+" LeggedShooter "
+"
Legged Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:68
+#, no-wrap
+msgid ""
+" WheeledOrgaShooter "
+"
Wheeled Orga Shooter\n"
+" TrackedOrgaShooter "
+"
Tracked Orga Shooter\n"
+" WingedOrgaShooter "
+"
Winged Orga Shooter\n"
+" LeggedOrgaShooter "
+"
Legged Orga Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:74
+#, no-wrap
+msgid ""
+" Subber "
+"
Subber\n"
+" Recycler "
+"
Recycler\n"
+" Shielder "
+"
Shielder\n"
+" Thumper "
+"
Thumper\n"
+" PhazerShooter "
+"
Phazer Shooter"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:76
+#, no-wrap
+msgid "Enemies :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:84
+#, no-wrap
+msgid ""
+" AlienQueen
Alien Queen\n"
+" AlienEgg
Alien Egg\n"
+" AlienAnt
Ant\n"
+" AlienSpider
Spider\n"
+" AlienWasp
Wasp\n"
+" AlienWorm
Worm"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:86
+#, no-wrap
+msgid "Miscellaneous :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:93
+#, no-wrap
+msgid ""
+" Me
You!\n"
+" Mine
Mine\n"
+" Barrier
Barrier\n"
+" Wreck
Derelict bot\n"
+" Ruin
Derelict building"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:106
+#, no-wrap
+msgid ""
+" BlueFlag
Blue Flag\n"
+" RedFlag
Red Flag\n"
+" GreenFlag
Green Flag\n"
+" YellowFlag
Yellow Flag\n"
+" VioletFlag
Violet Flag\n"
+" WayPoint
Checkpoint\n"
+" EnergySite
Underground "
+"Energy Deposit\n"
+" TitaniumSite
Underground "
+"Titanium Deposit\n"
+" UraniumSite
Underground "
+"Uranium Deposit"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:108
+#, no-wrap
+msgid "CBOT Language and Variables."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/class.txt:1
+#, no-wrap
+msgid "Instruction class
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:3
+#, no-wrap
+msgid "This allows you to declare a class definition using following syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:8
+#, no-wrap
+msgid ""
+"public class ClassName\n"
+"{\n"
+"\tdeclarations;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:10
+#, no-wrap
+msgid ""
+"Classes can only be public, that is they can be used from "
+"all bots in a mission. Class members are also public, that is they are "
+"accessible from outside the class. Class members can be fields or functions "
+"(also called methods), for example the followin class MyClass
"
+"contains 4 fields (a, b, x and s) and one method (MyFunction)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:21
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tfloat x = 3.33;\n"
+"\tstring s = \"hello\";\n"
+"\tfloat MyFunction( float value )\n"
+"\t{\n"
+"\t\treturn (value*x)-1;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:23
+#, no-wrap
+msgid ""
+"As shown in this exemple the class members can be initialized "
+"(x=3.33
). You can also define a constructor which is a special "
+"method having the same name as the class name. This method will be called "
+"automatically at creation time of a class instance. You can also declare "
+"more than one method with the same name but different parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:36
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\ta = 2; b = 3;\n"
+"\t}\n"
+"\tvoid MyClass( int a, int b )\n"
+"\t{\n"
+"\t\tthis.a = a; this.b = b;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:38
+#, no-wrap
+msgid ""
+"In this example two constructors are declared for MyClass
, one "
+"without parameters and the other one with two parameters. As the names of "
+"the parameters of the second constructor are the same as the names of the "
+"two members a
et b
we must use the this.a
and this.b
to "
+"avoid confusion with the parameters. Another more simpler solution would be "
+"to give different names to the parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:46
+#, no-wrap
+msgid ""
+"void Test( )\n"
+"{\n"
+"\tMyClass item1(); // constr. w/o parameters\n"
+"\tMyClass item2(4, 5); // constr. with 2 parameters\n"
+"\tMyClass item3; // no constructor called,\n"
+" // therefore item3 == null\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:48
+#, no-wrap
+msgid ""
+"You can also define a destructor. This must be a void
fonction "
+"without parameters that has the same name as the class name but prefixed by "
+"the ~ character. The destructor is called automatically as soon as the class "
+"instance is no more referenced by anyone."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:67
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic private int counter = 0; // instance counter\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\tcounter ++; // one instance more\n"
+"\t}\n"
+"\tvoid ~MyClass( )\n"
+"\t{\n"
+"\t\tcounter --; // one instance less\n"
+"\t}\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item1( ); // counter = 1\n"
+"\tMyClass item2( ); // counter = 2\n"
+"\titem1 = null; // counter = 1\n"
+"} // counter = 0"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:69
+#, no-wrap
+msgid ""
+"If you pass a class instance as parameter to a function, the function only receives a reference to the instance. That means if you modify the "
+"instance in the function, the instance that has been passed to the function "
+"will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:72
+#, no-wrap
+msgid ""
+"public
, private
, static
, "
+"synchronized
, new
, reference
, "
+"this
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/close.txt:1
+#, no-wrap
+msgid "Instruction close
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:3
+#, no-wrap
+msgid ""
+"Close a file opened previously with open
. This "
+"is a method of the file
class; therefore you "
+"cannot write close()
but only handle.close()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/close.txt:5
+#, no-wrap
+msgid "\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:8
+#, no-wrap
+msgid ""
+"file
, open
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/cond.txt:1
+#, no-wrap
+msgid "Conditions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:4
+#, no-wrap
+msgid ""
+"A condition is a special expression that returns a boolean value, that can only be either true
or false
. With a "
+"condition, you can choose f. ex. if the instructions in a while
loop must be repeated again, or if the "
+"instruction in a if
bloc must be executed.\n"
+"Here are some operators that you can use in conditions to compare two values "
+":"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:11
+#, no-wrap
+msgid ""
+"a == b
a
equals b
\n"
+"a != b
a
is different from b
\n"
+"a < b
a
smaller than b
\n"
+"a <= b
a
smaller than or equal to "
+"b
\n"
+"a > b
a
greater than b
\n"
+"a >= b
a
greater than or equal to b
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:13
+#, no-wrap
+msgid "For example :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:20
+#, no-wrap
+msgid ""
+"12 == 12
returns true\n"
+"45 != 47
returns true \n"
+"99 == 98
returns false\n"
+"12 < -1
returns false\n"
+"12 >= 10
returns true \n"
+"12 >= 12
returns true "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/cond.txt:21
+#, no-wrap
+msgid "Remarque"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:23
+#, no-wrap
+msgid ""
+"Be careful not to confuse the equality comparison ==
with the "
+"assignment of a variable =
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:26
+#, no-wrap
+msgid ""
+"a == b
is an expression that compares a
with "
+"b
.\n"
+"a = b
is an expression that copies the value of b
"
+"into a
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/continue.txt:1
+#, no-wrap
+msgid "Instruction continue
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:7
+#, no-wrap
+msgid ""
+"bloc
of a while
"
+"or for
loop: The execution will resume at the "
+"beginning of the bloc, the next time the loop is repeated."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:21
+#, no-wrap
+msgid ""
+"i
1, "
+"2, 4 and 5."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/deletef.txt:1
+#, no-wrap
+msgid "Instruction deletefile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:3
+#, no-wrap
+msgid "The deletefile instruction deletes an existing file in the files/ folder. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:5
+#, no-wrap
+msgid ""
+"Files can only be deleted in the files/ folder which is located in the "
+"folder where Colobot has been installed. You cannot not delete files that "
+"are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/deletef.txt:8
+#, no-wrap
+msgid "deleteinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/delinfo.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:9
+#, no-wrap
+msgid ""
+"Name of the information to be deleted. This name is a string: it must be "
+"written in quotation marks \"¦\"."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/delinfo.txt:10 cbot-help/receive.txt:10 cbot-help/send.txt:14 cbot-help/testinfo.txt:10
+#, no-wrap
+msgid "power: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:12
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance between "
+"the sender and the exchange post. If the distance is longer, the information "
+"won't be deleted. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:15
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and testinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/direct.txt:1
+#, no-wrap
+msgid "Instruction direction
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/direct.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:9
+#, no-wrap
+msgid "Position towards which the robot must point."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/direct.txt:10 cbot-help/dist2d.txt:10 cbot-help/dist.txt:26 cbot-help/flatgrnd.txt:13 cbot-help/receive.txt:13 cbot-help/topo.txt:10
+#, no-wrap
+msgid "Return value: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:12
+#, no-wrap
+msgid ""
+"Angle of the rotation that must be performed. -90 means f. ex. a rotation of "
+"90 degrees to the right. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist2d.txt:1
+#, no-wrap
+msgid "Instruction distance2d
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:3 cbot-help/dist.txt:19 cbot-help/do.txt:3 cbot-help/drop.txt:13 cbot-help/fire.txt:11 cbot-help/for.txt:3 cbot-help/goto.txt:13 cbot-help/grab.txt:13 cbot-help/if.txt:24 cbot-help/jet.txt:3 cbot-help/message.txt:3 cbot-help/move.txt:9 cbot-help/radar.txt:15 cbot-help/receive.txt:3 cbot-help/recycle.txt:3 cbot-help/retobj.txt:3 cbot-help/search.txt:3 cbot-help/shield.txt:3 cbot-help/sniff.txt:3 cbot-help/thump.txt:3 cbot-help/topo.txt:3 cbot-help/turn.txt:20 cbot-help/wait.txt:11
+#, no-wrap
+msgid "Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist2d.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:9 cbot-help/dist.txt:25
+#, no-wrap
+msgid "Coordinates of the two positions. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:12 cbot-help/dist.txt:28
+#, no-wrap
+msgid "Distance between the two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:1
+#, no-wrap
+msgid "Instruction distance
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:3
+#, no-wrap
+msgid ""
+"With the instruction distance( , )
you can calculate the "
+"distance between two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:4 cbot-help/drop.txt:4 cbot-help/fire.txt:4 cbot-help/goto.txt:4 cbot-help/grab.txt:4 cbot-help/if.txt:4 cbot-help/motor.txt:4 cbot-help/move.txt:4 cbot-help/radar.txt:4 cbot-help/turn.txt:4 cbot-help/wait.txt:4 cbot-help/while.txt:4
+#, no-wrap
+msgid "Basic use"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:6
+#, no-wrap
+msgid ""
+"If you write position
alone, this gives you the position of the "
+"bot that executes the program. If you write the name of a variable followed "
+"by .position
, this gives you the position of the object "
+"described in the variable."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:8
+#, no-wrap
+msgid ""
+"Here is a program that moves forward, covering exactly the distance between "
+"the bot and the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:11
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:13
+#, no-wrap
+msgid ""
+"This is of course pure suicide. Better to stop 40 meters before, in order to "
+"be at shooting range:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:16
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position) - 40);"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:17 cbot-help/drop.txt:11 cbot-help/errmode.txt:4 cbot-help/file.txt:10 cbot-help/fire.txt:9 cbot-help/float.txt:19 cbot-help/goto.txt:11 cbot-help/grab.txt:11 cbot-help/if.txt:22 cbot-help/int.txt:13 cbot-help/motor.txt:14 cbot-help/move.txt:7 cbot-help/radar.txt:13 cbot-help/return.txt:9 cbot-help/turn.txt:18 cbot-help/wait.txt:9 cbot-help/while.txt:19
+#, no-wrap
+msgid "For specialists"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:20
+#, no-wrap
+msgid "do - while
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:8
+#, no-wrap
+msgid ""
+"do\n"
+"{\n"
+"\t
Instructions ...while ( ) { }
; the latter tests "
+"the condition before the instructions in the block are executed. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/do.txt:12 cbot-help/for.txt:13 cbot-help/while.txt:30
+#, no-wrap
+msgid "condition
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:14 cbot-help/while.txt:32
+#, no-wrap
+msgid ""
+"The instructions in the block are performed over and over again, as long as "
+"the condition is true. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:16 cbot-help/while.txt:34
+#, no-wrap
+msgid "Here is an example :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:21
+#, no-wrap
+msgid ""
+"while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:26
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction do { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/drop.txt:1
+#, no-wrap
+msgid "Instruction drop
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:3
+#, no-wrap
+msgid ""
+"The instruction int
(default valueInFront
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:22
+#, no-wrap
+msgid ""
+"Oper indicates where the robot should drop the object. If no indication is "
+"given, the object is dropped in front of the bot. \n"
+"InFront
Drops in front (default value).\n"
+"Behind
Drops behind.\n"
+"EnergyCell
Drops on the bot's own power cell location."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
object was dropped\n"
+"!= 0
error, no object was dropped"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/eof.txt:1
+#, no-wrap
+msgid "Instruction eof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:3
+#, no-wrap
+msgid ""
+"Test the end of file condition of an open file. This is a method of the "
+"file
class; therefore you cannot write "
+"eof()
but only handle.eof()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:5
+#, no-wrap
+msgid "\tif ( handle.eof() ) "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:7 cbot-help/readln.txt:12
+#, no-wrap
+msgid "Example¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:12
+#, no-wrap
+msgid ""
+"\twhile ( not handle.eof() )\n"
+"\t{\n"
+"\t\ts = handle.readln();\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:15
+#, no-wrap
+msgid ""
+"file
, open
, "
+"close
, readln
"
+"and writeln
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/errmode.txt:1
+#, no-wrap
+msgid "Instruction errmode
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:3
+#, no-wrap
+msgid ""
+"The goto
, move
, grab
, drop
, etc."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:7
+#, no-wrap
+msgid "float
(1
per default)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:14
+#, no-wrap
+msgid ""
+"Error treatment mode.\n"
+"0
-> continues program execution and returns a non zero value\n"
+"1
-> stops the program (default behavior)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:16
+#, no-wrap
+msgid "Exemple 1¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:21
+#, no-wrap
+msgid ""
+"\n"
+"\t
take some appropriate action ...+
addition\n"
+"-
subtraction\n"
+"*
multiplication\n"
+"/
division\n"
+"%
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:11
+#, no-wrap
+msgid ""
+"With the addition operator +
, you can not only add numbers, you "
+"can also append strings."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:21
+#, no-wrap
+msgid ""
+"\tint i = 12+3; // returns 15\n"
+"\tstring s = \"a\"+\"bc\"; // returns \"abc\"\n"
+"\tint i = 2-5; // returns -3\n"
+"\tfloat f = 3.01*10; // returns 30.1\n"
+"\tint i = 5/3; // returns 1\n"
+"\tfloat f = 5/3; // returns 1.67\n"
+"\tfloat f = 5/0; // returns an error\n"
+"\tint i = 13%5; // returns 3\n"
+"\tint i = -8%3; // returns -2"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:23
+#, no-wrap
+msgid ""
+"An expression can include constants or variables. For "
+"example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:25
+#, no-wrap
+msgid "\t12+dist
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:27
+#, no-wrap
+msgid ""
+"Multiplications and divisions are performed before additions and "
+"subtractions. In order to be sure that the operations are performed in the "
+"right order, use brackets: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:30
+#, no-wrap
+msgid ""
+"\t12*a+b/c sin(angle)
sinus\n"
+"cos(angle)
cosinus\n"
+"tan(angle)
tangent\n"
+"asin(value)
arc-sinus\n"
+"acos(value)
arc-cosinus\n"
+"atan(value)
arc-tangente\n"
+"sqrt(value)
square root\n"
+"pow(x, y)
x power y\n"
+"rand()
random value ranging between 0 and 1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:49
+#, no-wrap
+msgid "Angles are in degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:50
+#, no-wrap
+msgid "Compound assignment operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:52
+#, no-wrap
+msgid ""
+"Besides the =
operators for variable assignment there are "
+"several compound-assignment operators."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:54
+#, no-wrap
+msgid ""
+"The compound-assignment operators combine the =
assignment "
+"operator with another binary operator such as +
or "
+"-
. Compound-assignment operators perform the operation "
+"specified by the additional operator and then assign the result to the left "
+"operand. For example, a compound-assignment expression such as "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:56
+#, no-wrap
+msgid "+=
addition\n"
+"-=
subtraction\n"
+"*=
multiplication\n"
+"/=
division\n"
+"%=
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:67
+#, no-wrap
+msgid "Prefix and posfix increment- and decrement operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:69
+#, no-wrap
+msgid ""
+"The operators ++
and --
allow you to increment "
+"(++) or to decrement (--) a variable in very compact and efficient manner."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:74
+#, no-wrap
+msgid ""
+"For example to increment the variable a
you can write\n"
+"a++
is the value of the variable "
+"a
before the increment. If you use the prefix operator "
+"++a
the value of the expression is the value of the variable "
+"a
after the increment. The same holds for the --
"
+"decrement operator."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:79
+#, no-wrap
+msgid ""
+"Exemples:\n"
+"extern
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:3
+#, no-wrap
+msgid ""
+"The extern
instruction determines the function that acts as main program of a robot. The name of "
+"the function declared with extern
will apear in the program "
+"list in the lower left corner of the screen."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:12
+#, no-wrap
+msgid ""
+"extern void object::MowDown( )\n"
+"{\n"
+"\twhile ( true )\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t\tturn(10);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:14
+#, no-wrap
+msgid ""
+"If the program contains other functions, only the main function must be "
+"preceded by extern
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tLine(10);\n"
+"\t}\n"
+"}\n"
+"\n"
+"void object::Line(float dist)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(90);\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/false.txt:1
+#, no-wrap
+msgid "Type false
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/false.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is not true; it is one of the two values "
+"that a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/file.txt:1
+#, no-wrap
+msgid "Type file
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:3
+#, no-wrap
+msgid "This type is used for accessing files in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:5
+#, no-wrap
+msgid "\tfile handle();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:7
+#, no-wrap
+msgid ""
+"Use the syntax above for declaring a file handle. You must use () to create "
+"an instance of the file
class. Without the () the handle would "
+"have the value null
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:9
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:12
+#, no-wrap
+msgid ""
+"file
is actually not a simple type but a "
+"class. open
, close
, writeln
etc. are "
+"methods of the file
class. This is the reason why we always "
+"write handle.method()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:15
+#, no-wrap
+msgid ""
+"\thandle.open(\"test.txt\", \"w\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:18
+#, no-wrap
+msgid ""
+"open
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/fire.txt:1
+#, no-wrap
+msgid "Instruction fire
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:3
+#, no-wrap
+msgid "The instruction aim
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/fire.txt:22 cbot-help/wait.txt:15
+#, no-wrap
+msgid "time: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:24
+#, no-wrap
+msgid ""
+"Duration of the burst. Generally, the value given is 1. Shorter bursts can "
+"also be performed in order to spare time and energy."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:29
+#, no-wrap
+msgid ""
+"Zero if OK, or a value different from zero if an error occurred.\n"
+"== 0
the cannon has been fired\n"
+"!= 0
error, the cannon could not be fired"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/flatgrnd.txt:1
+#, no-wrap
+msgid "Instruction flatground
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/flatgrnd.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:9
+#, no-wrap
+msgid "Center of the circlular zone."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/flatgrnd.txt:10
+#, no-wrap
+msgid "rmax: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:12
+#, no-wrap
+msgid "Maximal radius."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:15
+#, no-wrap
+msgid "Radius of the flat zone (always between 0 and rmax)."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/float.txt:1
+#, no-wrap
+msgid "Type float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:3
+#, no-wrap
+msgid ""
+"Use this type for most variables that contains numbers. Variables of this "
+"type can contain positive and negative numbers, whole or real numbers, for "
+"example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:8
+#, no-wrap
+msgid ""
+"\t12.9\n"
+"\t1.125\n"
+"\t0.002\n"
+"\t-4.1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:10
+#, no-wrap
+msgid ""
+"If you need only whole numbers (f. ex. 12 or -5000), you should rather use "
+"the type int
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:13
+#, no-wrap
+msgid ""
+"Do not insert space or colon characters into a number. To separate the whole "
+"part from the fractional part, use a dot. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:18
+#, no-wrap
+msgid ""
+" Write and not\n"
+" 12.56 12 . 56\n"
+" -54.34 -54,34\n"
+"12895.69 12,895.69"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:23
+#, no-wrap
+msgid ""
+"Floating point numbers are represented in Colobot with 32 bits.\n"
+"The highest value that can be represented is 3.4E+38.\n"
+"The smallest value that can be represented is 3.4E-38."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/for.txt:1
+#, no-wrap
+msgid "Instruction for
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:7
+#, no-wrap
+msgid ""
+"before
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:12
+#, no-wrap
+msgid "This instruction is executed before the first loop instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:15
+#, no-wrap
+msgid ""
+"This condition determines if another instance of the loop "
+"must be executed. It is tested before every instance of the loop. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/for.txt:16
+#, no-wrap
+msgid "end
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:18
+#, no-wrap
+msgid "This instruction is executed at the end of every instance of the loop. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:21
+#, no-wrap
+msgid ""
+"Example: count from 1 to 4\n"
+"for
-loop, but "
+"it uses the instruction while
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:32
+#, no-wrap
+msgid ""
+"for ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:37
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction for
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/function.txt:1
+#, no-wrap
+msgid "Functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:4
+#, no-wrap
+msgid ""
+"With functions you can divide your program into several parts, each of them "
+"will execute a specific task.\n"
+"Let's imagine following program¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:16
+#, no-wrap
+msgid ""
+"extern void object::Remote( )\n"
+"{\n"
+"\tsend(\"order\", 1, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 3, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 2, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 4, 100);\n"
+"\twait(5);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:18
+#, no-wrap
+msgid ""
+"send
and wait
are repeated several times. So it "
+"would be a good thing if we created a function that executes these two "
+"instructions:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:31
+#, no-wrap
+msgid ""
+"void object::SendToPost( float op )\n"
+"{\n"
+"\tsend(\"order\", op, 100);\n"
+"\twait(5);\n"
+"}\n"
+"extern void object::Remote( )\n"
+"{\n"
+"\tSendToPost(1);\n"
+"\tSendToPost(3);\n"
+"\tSendToPost(2);\n"
+"\tSendToPost(4);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:33
+#, no-wrap
+msgid "A function can have paramteters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:35
+#, no-wrap
+msgid "void Example( int a, float x, string s )"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:37
+#, no-wrap
+msgid ""
+"The Exemple
function will reveive un integer a
, a "
+"floating point number x
and a string s
. Parameters "
+"are \"passed by value\", that is the values of parameter variables in a "
+"function are copies of the values the caller specified as variables. If you "
+"pass an int
to a function, its parameter is a copy of whatever "
+"value was being passed as argument, and the function can change its "
+"parameter value without affecting values in the code that invoked the "
+"function."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:39
+#, no-wrap
+msgid ""
+"If you pass a class instance or an array "
+"as parameter to a function, the function only receives a reference to the instance or the array. That means if you "
+"modify the instance or the array in the function, the instance or the array "
+"that has been specified by the caller will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:41
+#, no-wrap
+msgid ""
+"A function can also return a result with the return
instruction. Therefore the function must be "
+"declared no longer as void but as a type:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:53
+#, no-wrap
+msgid ""
+"float Mean( float a, float b )\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}\n"
+"\n"
+"extern void object::Test( )\n"
+"{\n"
+"\tfloat value;\n"
+"\tvalue = Mean(2, 6);\n"
+"\tmessage( value ); // will display 4\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:55
+#, no-wrap
+msgid "Some other examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:67
+#, no-wrap
+msgid ""
+"float Pi( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}\n"
+"\n"
+"string Sign( float a )\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:69
+#, no-wrap
+msgid ""
+"You can declare several functions with the same name but different "
+"parameters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:79
+#, no-wrap
+msgid ""
+"float Pythagoras( float a, float b )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b));\n"
+"}\n"
+"\n"
+"float Pythagoras( float a, float b, float c )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b)+(c*c));\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:81
+#, no-wrap
+msgid ""
+"CBOT will call either the one or the other function depending on the "
+"paramteres passed."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:83
+#, no-wrap
+msgid ""
+"You can also declare a function public so it can be used "
+"by other bots."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/goto.txt:1
+#, no-wrap
+msgid "Instruction goto
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:3
+#, no-wrap
+msgid "The instruction .position
in order to get the position of the object. Here is "
+"an example of a program that looks for a titanium cube, "
+"goes to the position and grabs it:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:10
+#, no-wrap
+msgid ""
+"\titem = radar(Titanium);\n"
+"\tgoto(item.position);\n"
+"\tgrab();"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:14
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:22
+#, no-wrap
+msgid ""
+"Flight altitude for winged bots. The altitude is useful "
+"only for winged bots. From the initial altitude, the bot "
+"climbs higher until it reaches the specified hight. When arriving close to "
+"destination, it goes down to touch the ground at the given position. If no "
+"value is given, an altitude of 10 meters is the default value. On very short "
+"moves, even winged bot stay on the ground. For all bot except winged bots, "
+"this parameter is ignored. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/goto.txt:23
+#, no-wrap
+msgid "goal: int
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:28
+#, no-wrap
+msgid ""
+"This parameter tells the bot how it must reach the goal: \n"
+"0
stops exactly at the goal position\n"
+"1
goes close to the goal position, without stopping.\n"
+"If no value is given, 1
(precision) is the default value. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:33
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by goto()
.\n"
+"== 0
Goal position reached\n"
+"!= 0
Goal position impossible to reach"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/grab.txt:1
+#, no-wrap
+msgid "Instruction grab
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:3
+#, no-wrap
+msgid ""
+"The instruction InFront
Grabs in front (default value).\n"
+"Behind
Grabs behind.\n"
+"EnergyCell
Grabs the bot's own power cell."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
an object was grabbed\n"
+"!= 0
error, no object was grabbed"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/if.txt:1
+#, no-wrap
+msgid "Instructions if
and else
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:3
+#, no-wrap
+msgid ""
+"With the instruction if() {}
you can execute a set of "
+"instructions only if a certain condition is true. Write the condition in "
+"brackets ()
, and the instructions in braces {}
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:6
+#, no-wrap
+msgid ""
+"Here is a concrete example: The bot will shoot only if the target is closer "
+"than 40 meters:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:12
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tif (distance(position, item.position) < 40)\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:14
+#, no-wrap
+msgid ""
+"You can also test if an object exists at all. If the instruction null
. So you can test if an object does not exists "
+"with the condition (item == null)
, or test if it exists with "
+"(item != null)
. Two equal signs ==
test equality, "
+"an exclamation mark followed by an equal sign !=
test "
+"inequality. Here is a test that will go to rechage the power "
+"cell only if there is a power station:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:21
+#, no-wrap
+msgid ""
+"\titem = radar(PowerStation);\n"
+"\tif (item != null)\n"
+"\t{\n"
+"\t\tgoto(item.position);\n"
+"\t\twait(5);\n"
+"\t}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:32
+#, no-wrap
+msgid ""
+"if ( condition )\n"
+"{\n"
+"\t
Instructions A ...\n"
+"}\n"
+"else\n"
+"{\n"
+"\t
Instructions B ...else { }
is not compulsory. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:38
+#, no-wrap
+msgid ""
+"Do not put a semicolon at the end of the line if ( "
+")
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/int.txt:1
+#, no-wrap
+msgid "Type int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain only whole numbers, negative or "
+"positive. For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/int.txt:7
+#, no-wrap
+msgid ""
+"\t12\n"
+"\t1000\n"
+"\t-4"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:9
+#, no-wrap
+msgid ""
+"To represent real numbers like 12.05 or -0.005, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:12
+#, no-wrap
+msgid "Do not put space or colon signs inside a number. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:17
+#, no-wrap
+msgid ""
+"Numbers of the type int
are represented with 32 bits.\n"
+"The highest number that can be represented is (2^31)-1, that is "
+"2'147'483'647.\n"
+"The smallest number that can be represented is -(2^31), that is "
+"-2'147'483'648."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/jet.txt:1
+#, no-wrap
+msgid "Instruction jet
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/jet.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:9
+#, no-wrap
+msgid ""
+"Power of the jet, ranges between -1
and "
+"+1
. void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:13 cbot-help/message.txt:23 cbot-help/motor.txt:37 cbot-help/shield.txt:17 cbot-help/wait.txt:20
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/message.txt:1
+#, no-wrap
+msgid "Instruction message
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/message.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:13
+#, no-wrap
+msgid ""
+"Text that is to be displayed. It is possible to append several texts and/or "
+"values with the operator +
:\n"
+"int
(default value "
+"DisplayMessage
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "Type of the message, that determines the background color. \n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "DisplayMessage
Standard message on yellow background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:17
+#, no-wrap
+msgid "DisplayInfo
Information on green background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:18
+#, no-wrap
+msgid "DisplayWarning
Warning on blue background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:19
+#, no-wrap
+msgid "DisplayError
Error on red background."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/motor.txt:1
+#, no-wrap
+msgid "Instruction motor
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:3
+#, no-wrap
+msgid ""
+"The instruction move
, turn
or goto
instruction "
+"is performed."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:20
+#, no-wrap
+msgid "left: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:22
+#, no-wrap
+msgid ""
+"Speed instruction for the left motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:23
+#, no-wrap
+msgid "right: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:25
+#, no-wrap
+msgid ""
+"Speed instruction for the right motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:30
+#, no-wrap
+msgid ""
+"Examples :\n"
+"motor(1, "
+"1)
\n"
+"motor(-1, -1)
"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/move.txt:1
+#, no-wrap
+msgid "Instruction move
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:3
+#, no-wrap
+msgid ""
+"The instruction float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:15
+#, no-wrap
+msgid ""
+"Length of the move, in meters. A negative value makes the bot move "
+"backward. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:20
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by move()
.\n"
+"== 0
Move executed\n"
+"!= 0
error, the instruction was not performed correctly"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/nan.txt:1
+#, no-wrap
+msgid "Type nan
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:4
+#, no-wrap
+msgid ""
+"This special value indicates that a variable of type "
+"int
or float
"
+"contains no number, but \"nothing\". \n"
+"For example, if the instruction receive
can "
+"not get the requested information, it returns nan
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/nan.txt:10
+#, no-wrap
+msgid ""
+"\tvalue = receive(\"Length\");\n"
+"\tif ( value == nan ) // not found ?\n"
+"\t{\n"
+"\t\t\n"
+"\t}"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/nan.txt:11
+#, no-wrap
+msgid "Dictionnary"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:13
+#, no-wrap
+msgid "nan
= Not A Number "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/new.txt:1
+#, no-wrap
+msgid "Instruction new
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:4
+#, no-wrap
+msgid ""
+"The new
operator creates a class instance:\n"
+"new
operator by putting () after the declaration:"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:13
+#, no-wrap
+msgid ""
+"Instead of:\n"
+"class
, reference
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/null.txt:1
+#, no-wrap
+msgid "Type null
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:3
+#, no-wrap
+msgid ""
+"This special value indicates that the variable containing it does not "
+"reference an instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:7
+#, no-wrap
+msgid ""
+"References\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:1
+#, no-wrap
+msgid "Type object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain the characteristics of an object, "
+"be it a bot, a building, some raw material, an enemy, etc. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:16
+#, no-wrap
+msgid ""
+"int object.category
Category of the object\n"
+"point object.position
Position of the "
+"object (x,y,z)\n"
+"float object.orientation
Orientation of the "
+"object (0..360)\n"
+"float object.pitch
Forward/backward "
+"angle of the object\n"
+"float object.roll
Right/left angle "
+"of the object \n"
+"float object.energyLevel
Energy level "
+"(0..1)\n"
+"float object.shieldLevel
Shield level "
+"(0..1)\n"
+"float object.temperature
Jet temperature "
+"(0..1)\n"
+"float object.altitude
Altitude above "
+"ground\n"
+"float object.lifeTime
Lifetime of the "
+"object\n"
+"object object.energyCell
Power cell on the bot\n"
+"object object.load
Object carried by the bot"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:18
+#, no-wrap
+msgid "category
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:19
+#, no-wrap
+msgid ""
+"The position
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:22
+#, no-wrap
+msgid ""
+"Position of the object on the planet, in meters. The coordinates "
+"x
and y
correspond to the location on a map, the "
+"z
coordinate corresponds to the altitude above (respectively "
+"below) sea level. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:24
+#, no-wrap
+msgid "orientation
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:25
+#, no-wrap
+msgid ""
+"Orientation of the object, in degrees. The orientation tells you what "
+"direction the object is facing. An orientation of 0
corresponds "
+"to an object facing eastwards, thus following the positive x
"
+"axis. The orientation is measured counterclockwise. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:27
+#, no-wrap
+msgid "pitch
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:28
+#, no-wrap
+msgid ""
+"Forward/backward angle of the robot. A pitch of 0
means that "
+"the bot is standing on flat ground. A positive inclination means that it is "
+"facing upwards, a negative inclination means that it is facing downwards. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:30
+#, no-wrap
+msgid "roll
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:31
+#, no-wrap
+msgid ""
+"Left/right angle of the bot, in degrees. A positive value means that the bot "
+"is leaning to the left side, a negative value means that it is leaning to "
+"the right side. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:33
+#, no-wrap
+msgid "energyLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:34
+#, no-wrap
+msgid ""
+"Energy level, between 0 and 1. A normal power cell that "
+"is fully charged returns the value 1
. A nuclear power cell never returns a value higher than 1, it "
+"just lasts longer. Attention: The energy level of a bot is always zero, "
+"because the energy is not contained in the bot, but in the power cell. To "
+"know the energy level of the power cell of a bot, you must write "
+"energyCell.energyLevel
. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:36
+#, no-wrap
+msgid "shieldLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:38
+#, no-wrap
+msgid ""
+"Shield level of a robot or building. A level 1
indicates that "
+"the shield is still perfect. Every time that the bot or building gets a "
+"bullet or collides with another object, the shield level decreases. When the "
+"level reaches 0
, the next bullet or collision will destroy the "
+"bot or building. \n"
+"Bots can re-energize their shield on a repair "
+"center. The shield of a building is repaired if it lays inside the "
+"protection sphere of a shielder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:40
+#, no-wrap
+msgid "temperature
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:41
+#, no-wrap
+msgid ""
+"Temperature of the jet of winged bots. 0
"
+"corresponds to a cold jet. When used, the temperature increases "
+"progressively. When it reaches the value 1
, the jet is "
+"overheated and stops working, until it cooled down a little. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:43
+#, no-wrap
+msgid "altitude
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:44
+#, no-wrap
+msgid ""
+"The z
coordinate of the position indicates the altitude above "
+"sea level, whereas the altitude
indicates the height above "
+"ground. This value is meaningful only for winged bots "
+"and for wasps. For all other objects, this value is "
+"zero. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:46
+#, no-wrap
+msgid "lifeTime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:47
+#, no-wrap
+msgid "The age of the object in seconds since it's creation."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:49
+#, no-wrap
+msgid "energyCell
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:52
+#, no-wrap
+msgid ""
+"This information is special, because it returns the information about "
+"another object, in this case the power pack. This means that energyCell "
+"contains all the characteristics of a normal object, for example "
+"category
(PowerCell or NuclearCell), position
(the "
+"position of the cell), etc.\n"
+"If you want to know the energy level of a robot, you must not check "
+"energyLevel
, but energyCell.energyLevel
.\n"
+"If the bot has bot no power cell, energyCell
returns "
+"null
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:54
+#, no-wrap
+msgid "load
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:55
+#, no-wrap
+msgid ""
+"This information also returns the description of a whole object: the "
+"description of the object carried by a grabber. If it "
+"carries nothing, load
returns null
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:56
+#, no-wrap
+msgid "Examples"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:58
+#, no-wrap
+msgid ""
+"The type object
returns the special value null
when the object does not exist. For example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:67
+#, no-wrap
+msgid ""
+"\tobject a;\n"
+"\ta = radar(BotGrabberRoller);\n"
+"\tif ( a == null ) // object does not exist ?\n"
+"\t{\n"
+"\t}\n"
+"\tif ( a.position.z > 50 ) // is it on a mountain ?\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:68
+#, no-wrap
+msgid "openfile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:3
+#, no-wrap
+msgid ""
+"file
class but openfile returne "
+"a reference to a new instance of the file class. You "
+"must supply two parameters, the filename and the opening mode."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/openfile.txt:5
+#, no-wrap
+msgid "file handle = openfile(\"filename\", \"r\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:8 cbot-help/open.txt:15
+#, no-wrap
+msgid ""
+"\"r\"
mode: open for reading.\n"
+"\"w\"
mode: open for writing."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/open.txt:1
+#, no-wrap
+msgid "Instruction open
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:3
+#, no-wrap
+msgid ""
+"Open a text file in the files/ folder. This is a method of the file
class. This is the reason why we always write "
+"handle.open()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:5
+#, no-wrap
+msgid "\thandle.open(\"test.txt\", \"w\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:7
+#, no-wrap
+msgid "To open a file, proceed as follows¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:12
+#, no-wrap
+msgid ""
+"\tfile handle();\n"
+"\thandle.open(\"filename\", \"w\");\n"
+"\thandle.writeln(\"abc\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:17
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files that are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:20
+#, no-wrap
+msgid ""
+"file
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/pointer.txt:1
+#, no-wrap
+msgid "References (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:3
+#, no-wrap
+msgid ""
+"CBOT uses references for classes and arrays. Any class variable actually contains a reference to "
+"the instance. The instance actually contains the class fields. Several "
+"references can reference the same instance. A null
reference references nothing. You can compare an "
+"instance to a suitcase and a reference to a carrier. Each time we need a new "
+"suitcase we create a new instance with a carrier. But a suitcase can be "
+"carried by more than one carrier. A carrier who carries no suitcase is a "
+"null
reference."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"Test()
¦:\n"
+"a = 33
is referenced only by "
+"the newly created instance item
inside the fucntion "
+"Test
. At the end of Test
this newly created "
+"instance referenced by item
is automatically deleted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:37
+#, no-wrap
+msgid ""
+"A function can return an instance¦:\n"
+"class
, new
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/point.txt:1
+#, no-wrap
+msgid "Type point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:5
+#, no-wrap
+msgid ""
+"Variables of this type contain the coordinates of a point in space. This "
+"type is made of three values that represent the x
, "
+"y
and z
coordinates.\n"
+"x
and y
correspond to the place on the ground. The "
+"positive x
axis faces towards east, the positive y
"
+"axis faces towards north. \n"
+"The z
value corresponds to the altitude above sea level. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:7
+#, no-wrap
+msgid "If you want to declare a variable of type point, you can write: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:9
+#, no-wrap
+msgid "\tpoint a (10, 20, 30);"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:11
+#, no-wrap
+msgid "You can also set the variable taking one value after another:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:16
+#, no-wrap
+msgid ""
+"\tpoint b;\n"
+"\tb.x = 10;\n"
+"\tb.y = 20;\n"
+"\tb.z = 30;"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:18
+#, no-wrap
+msgid "With these examples, the following condition is true:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:22
+#, no-wrap
+msgid ""
+"\tif ( a == b )\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:24
+#, no-wrap
+msgid ""
+"private
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:3
+#, no-wrap
+msgid ""
+"Class members can be public (by "
+"default) or private. A member can be declared privat by putting "
+"private
before the type declaration of the member. Private "
+"members are not accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/private.txt:16
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by défault\n"
+"\tpublic int a; // als public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:19
+#, no-wrap
+msgid ""
+"class
, public
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:1
+#, no-wrap
+msgid "Instruction public
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:3
+#, no-wrap
+msgid "This instruction has two distinct purposes¦:"
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/public.txt:4
+#, no-wrap
+msgid "Make a function available to other bots."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/public.txt:5
+#, no-wrap
+msgid "Make a class member accessible from outside the class definition."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:7
+#, no-wrap
+msgid "Instruction public
for functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:9
+#, no-wrap
+msgid ""
+"If you put public
before a function "
+"definition, you can make the function available to programs in other bots in "
+"the same mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:11
+#, no-wrap
+msgid "For example in the first bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:17
+#, no-wrap
+msgid ""
+"public void object::Segment(float dist, float angle)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(angle);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:19
+#, no-wrap
+msgid "And in another bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tSegment(10, 90);\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:30
+#, no-wrap
+msgid ""
+"If you have declared a function public
, you cannot define a "
+"function with the same name and arguments in another bot of the same "
+"mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:32
+#, no-wrap
+msgid ""
+"If a bot containing a public
function is destroyed, the other "
+"bots that make use of this function will be stopped with an error."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:33
+#, no-wrap
+msgid "Instruction public
for classes"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:35
+#, no-wrap
+msgid ""
+"Class members can be public (by default) or privat. A member can be declared private by putting "
+"private
before the member type. Private members are not "
+"accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:48
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by default\n"
+"\tpublic int a; // also public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:51
+#, no-wrap
+msgid ""
+"class
, private
, functions
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/radar.txt:1
+#, no-wrap
+msgid "Instruction radar
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:3
+#, no-wrap
+msgid ""
+"With the instruction radar()
, you can look for objects like enemies, bots, buildings or raw materials."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Write in brackets the name of the object that you look "
+"for. Put the result in a variable of the type "
+"object
. Here is an example that looks for the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:12
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:16
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:24
+#, no-wrap
+msgid ""
+"Category of the objects that should be detected. For "
+"example, when you are looking for an ant, write radar "
+"(AlienAnt)
. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:25
+#, no-wrap
+msgid "angle: float
(default value0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:30
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0
-> radar is facing straight ahead\n"
+"-90
-> radar is facing a quarter turn right\n"
+" 90
-> radar is facing a quarter turn left"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:31
+#, no-wrap
+msgid "focus: float
(default value360
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:33
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:34
+#, no-wrap
+msgid "min: float
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:36
+#, no-wrap
+msgid ""
+"Minimum detection distance, in meters. Objects that are closer than the "
+"minimum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:37
+#, no-wrap
+msgid "max: float
(Default value1000
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:39
+#, no-wrap
+msgid ""
+"Maximum detection distance, in meters. Objects that are farther away than "
+"the maximum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:40
+#, no-wrap
+msgid "way: float
(default value1
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:42
+#, no-wrap
+msgid ""
+"Determines which way the objects are detected. With value 1
, "
+"returns the closest object found in the specified zone. With value "
+"-1
, the farthest object in the zone will be returned. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:43 cbot-help/retobj.txt:10 cbot-help/search.txt:13
+#, no-wrap
+msgid "Return value: object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:45
+#, no-wrap
+msgid ""
+"Returns the first object found that corresponds to the specified category in "
+"the specified zone. If no object was found, returns the value null
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:46
+#, no-wrap
+msgid "Remark"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:48
+#, no-wrap
+msgid ""
+"You do not have to give all the parameters. Here are two examples of "
+"instructions that are equivalent: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:51
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:54
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:57
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated "
+"above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar "
+"(AlienAnt)
detects the closest ant, wherever it may be. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/readln.txt:1
+#, no-wrap
+msgid "Instruction readln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:3
+#, no-wrap
+msgid ""
+"Read one line from an open file in the files/ folder. This is a method of "
+"the file
class. This is the reason why we "
+"always write handle.readln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:5
+#, no-wrap
+msgid "\ts = handle.readln();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for reading (\"r\"
) with the "
+"open
instruction. readln
returns "
+"the string containing the whole line but without the end of line characters "
+"0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/receive.txt:1
+#, no-wrap
+msgid "Instruction receive
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/receive.txt:4
+#, no-wrap
+msgid "nan
is returned."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/receive.txt:18
+#, no-wrap
+msgid ""
+"send
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/recycle.txt:1
+#, no-wrap
+msgid "Instruction recycle
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/recycle.txt:4
+#, no-wrap
+msgid "== 0
the derelict bot has been recycled\n"
+"!= 0
error, no derelict bot could be recycled"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/retobj.txt:1
+#, no-wrap
+msgid "Instruction retobject
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/retobj.txt:4
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:9
+#, no-wrap
+msgid ""
+"Number of the object, between 0 and n. \"n\" represents the total number of "
+"objects in the scene. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:12
+#, no-wrap
+msgid ""
+"Object corresponding to the number. The return value null
means that no object corresponds to this number, "
+"because the number was too high, and there are not so many objects in the "
+"scene. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/return.txt:1
+#, no-wrap
+msgid "Instruction return
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:3
+#, no-wrap
+msgid "Returns from a function. Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:8
+#, no-wrap
+msgid ""
+"void function ( )\n"
+"{\n"
+"\treturn;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:11
+#, no-wrap
+msgid ""
+"If the function has a return type, the "
+"return
instruction must be followed by the value to be "
+"returned:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:16
+#, no-wrap
+msgid ""
+"float Pi ( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:21
+#, no-wrap
+msgid ""
+"float Mean (float a, float b)\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:28
+#, no-wrap
+msgid ""
+"string Sign (float a)\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/search.txt:1
+#, no-wrap
+msgid "Instruction search
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/search.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:12
+#, no-wrap
+msgid ""
+"search
returns the object of the given category that is closest "
+"to the position indicated here. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:15
+#, no-wrap
+msgid ""
+"Characteristics of the object that has been found. The value null
means that no object of this category has been "
+"found. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/send.txt:1
+#, no-wrap
+msgid "Instruction send
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/send.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:13
+#, no-wrap
+msgid "Value of the information to be sent."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:16
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance to where "
+"information can be the sent. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:19
+#, no-wrap
+msgid ""
+"receive
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/shield.txt:1
+#, no-wrap
+msgid "Instruction shield
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/shield.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:11
+#, no-wrap
+msgid ""
+"1
activates the shield.\n"
+"0
deactivates the shield\n"
+"A normal power cell fully charged can maintain the "
+"shield active during 20 seconds. When the cell is empty, the shield "
+"deactivates."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/shield.txt:12
+#, no-wrap
+msgid "radius: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:14
+#, no-wrap
+msgid "Radius of the shield, ranging between 10 and 25 meters."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sizeof.txt:1
+#, no-wrap
+msgid "Instruction sizeof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:4
+#, no-wrap
+msgid ""
+"The sizeof function lets you know the number of elements contained in an array.\n"
+"That is the index of the last element plus one (\"empty\" elements are "
+"counted)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:10
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[12];\n"
+"\ta[5] = 345;\n"
+"\tmessage( sizeof(a) ); // will display 6\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:12
+#, no-wrap
+msgid ""
+"In this example we have 6 elements in the array after "
+"a[5]=345
. The non initialized elements [0]
, "
+"[1]
, [2]
, [3]
and [4]
"
+"will be counted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:14
+#, no-wrap
+msgid "With multidimensionnal arrays you can get the size of a sub array:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:20
+#, no-wrap
+msgid ""
+"float xy[][]; // 2 dimensionnal array\n"
+"xy[5][10] = 67;\n"
+"message( sizeof(xy) ); // will display 6\n"
+"message( sizeof(xy[5]) ); // will display 11\n"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sniff.txt:1
+#, no-wrap
+msgid "Instruction sniff
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sniff.txt:4
+#, no-wrap
+msgid "TitaniumSpot
-> Red cross\n"
+"UraniumSpot
-> Yellow circle\n"
+"PowerSpot
-> Green cross"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sniff.txt:15
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
sounding performed\n"
+"!= 0
sounding impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/space.txt:1
+#, no-wrap
+msgid "Instruction space
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/space.txt:4
+#, no-wrap
+msgid "point
(default: bot position)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:9
+#, no-wrap
+msgid "Desired position of the free space."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:10
+#, no-wrap
+msgid "rmin: float
(default value: 8
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:12
+#, no-wrap
+msgid "Minimum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:13
+#, no-wrap
+msgid "rmax: float
(default value: 50
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:15
+#, no-wrap
+msgid "Maximum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:16
+#, no-wrap
+msgid "dist: float
(default value: 4
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:18
+#, no-wrap
+msgid "Required distance between two free spaces."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:19
+#, no-wrap
+msgid "Return: point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:21
+#, no-wrap
+msgid "Position of the free space."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/static.txt:1
+#, no-wrap
+msgid "Instruction static
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:3
+#, no-wrap
+msgid ""
+"Class members declared with static
are shared "
+"between all instances of the class."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/static.txt:17
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic int nb = 1;\n"
+"\tstatic string [ ] list = null;\n"
+"}\n"
+"void Test ()\n"
+"{\n"
+"\tMyClasse item1();\n"
+"\tMyClasse item2();\n"
+"\titem1.nb = 3;\n"
+"\titem1.list[item1.nb] = \"Hello\";\n"
+"\tmessage( item2.list[item2.nb] ); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:19
+#, no-wrap
+msgid ""
+"Static
members can be declared private
so they will be only acessible from within "
+"class members (including constructors and destructors)."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:22
+#, no-wrap
+msgid ""
+"class
, synchronized
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strfind.txt:1
+#, no-wrap
+msgid "Instruction strfind
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:3
+#, no-wrap
+msgid ""
+"Find a substring in a string and returns the position of the first substring "
+"found or nan if the substring has not been found."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:6
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:9
+#, no-wrap
+msgid "String we are searching in."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/strfind.txt:10
+#, no-wrap
+msgid "sub: string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:12
+#, no-wrap
+msgid "Substring we are searching for."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:14 cbot-help/strleft.txt:11 cbot-help/strlen.txt:8 cbot-help/strlower.txt:8 cbot-help/strmid.txt:14 cbot-help/strright.txt:11 cbot-help/strupper.txt:8 cbot-help/strval.txt:5 cbot-help/strval.txt:12 cbot-help/writeln.txt:12
+#, no-wrap
+msgid "Examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/string.txt:1
+#, no-wrap
+msgid "Type string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:3
+#, no-wrap
+msgid "Use a variable of this type for storing characters or strings."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:5
+#, no-wrap
+msgid "For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:9
+#, no-wrap
+msgid ""
+"+
operator :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:12
+#, no-wrap
+msgid "strlen
Get string length\n"
+"strleft
Extract left part\n"
+"strright
Extract right part\n"
+"strmid
Extract center part\n"
+"strfind
Find a substring.\n"
+"strval
Convert string to number\n"
+"strupper
Convert to upper case\n"
+"strlower
Convert to lower case"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strleft.txt:1
+#, no-wrap
+msgid "Instruction strleft
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:3
+#, no-wrap
+msgid "Extracts the first (that is, leftmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:9 cbot-help/strmid.txt:12 cbot-help/strright.txt:9
+#, no-wrap
+msgid "Number of characters to be extracted."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:13
+#, no-wrap
+msgid ""
+"strlen
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlen.txt:1
+#, no-wrap
+msgid "Instruction strlen
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlen.txt:3
+#, no-wrap
+msgid "Get the length of a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlen.txt:6
+#, no-wrap
+msgid "strleft
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlower.txt:1
+#, no-wrap
+msgid "Instruction strlower
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlower.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to lowercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlower.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strupper
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strmid.txt:1
+#, no-wrap
+msgid "Instruction strmid
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:3
+#, no-wrap
+msgid ""
+"Extracts a substring of a given length starting at a given position from a "
+"string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:9
+#, no-wrap
+msgid ""
+"The index of the first character that is to be included in the extracted "
+"substring."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strright.txt:1
+#, no-wrap
+msgid "Instruction strright
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strright.txt:3
+#, no-wrap
+msgid "Extracts the last (that is, rightmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strright.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strupper.txt:1
+#, no-wrap
+msgid "Instruction strupper
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strupper.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to uppercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strupper.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strval.txt:1
+#, no-wrap
+msgid "Instruction strval
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strval.txt:3
+#, no-wrap
+msgid ""
+"Convert a string to a number. Don't confuse the string \"45\"
"
+"that contains actually the two characters 4
and 5
"
+"and the number 45
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strval.txt:7
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strfind
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/synchro.txt:1
+#, no-wrap
+msgid "Instruction synchronized
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:3
+#, no-wrap
+msgid ""
+"A class method can be declared "
+"synchronized
. This is to make sure that the method is never "
+"being executed by more than one bot at the same time."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:5
+#, no-wrap
+msgid "The following example illustrates the problem:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/synchro.txt:17
+#, no-wrap
+msgid ""
+"class blocking\n"
+"{\n"
+"\tstatic int nb = 33;\n"
+"\tsynchronized int inc( )\n"
+"\t{\n"
+"\t\tint val = nb;\n"
+"\t\twait ( 2 ); // wait 2 sec.\n"
+"\t\tnb = nb + 1;\n"
+"\t\treturn val;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:20
+#, no-wrap
+msgid ""
+"What happens if two bots execute the inc
method at the same "
+"time¦?\n"
+"Both of them will execute val=nb
and wait 2 seconds so both of "
+"them will have val=33
. With synchronized
the first "
+"bot starts execution with val=33
and then waits 2 seconds and "
+"returns. Only once the first bot has returned from the inc
"
+"method, the second bot will be allowed to enter the inc
method "
+"and therefore the second bot will always have val=34
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:22
+#, no-wrap
+msgid ""
+"You can have more than one synchronized method in your class in order to prevent simultaneous execution across more "
+"than one method. In other words: as long as a bot's program is inside a "
+"synchronized method, no other bot can enter any synchronized method of the "
+"same class."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:25
+#, no-wrap
+msgid ""
+"class
, static
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/term.txt:1
+#, no-wrap
+msgid "Semicolon"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/term.txt:3
+#, no-wrap
+msgid "Always use a semicolon while
, if
or for
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/term.txt:19
+#, no-wrap
+msgid ""
+"\tif ( a < b ) testinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/testinfo.txt:4
+#, no-wrap
+msgid "false
. Default value is 10 metres."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/testinfo.txt:13
+#, no-wrap
+msgid "Return: bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:15
+#, no-wrap
+msgid ""
+"Return true
if the information exists. Return and "
+"false
if the information does not exist or if the receiver is "
+"too far away from the exchange post."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:18
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/this.txt:1
+#, no-wrap
+msgid "Instruction this
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:3
+#, no-wrap
+msgid ""
+"Occasionally, a class method needs to know the reference "
+"to the instance it is acting upon. For example the instance might want to "
+"pass it's own reference to another function. An implicit reference name "
+"this
is available to methods and this
is a "
+"reference to the current instance."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:26
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint m_int;\n"
+"\tstring m_str;\n"
+"\tvoid MyFunction()\n"
+"\t{\n"
+"\t\tOtherFunction(this);\n"
+"\t\tm_int = 2;\n"
+"\t}\n"
+"}\n"
+"\n"
+"void OtherFunction(MyClass obj)\n"
+"{\n"
+"\tmessage(obj.m_str);\n"
+"}\n"
+"\n"
+"extern void object::Test()\n"
+"{\n"
+"\tMyClass item();\n"
+"\titem.m_str = \"Hello\";\n"
+"\titem.MyFunction(); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:28
+#, no-wrap
+msgid ""
+"You can also put this
before a field name in a method but this "
+"is not necessary. In the example above in the method "
+"MyFunction()
following two lines have strictly the same "
+"meaning:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:31
+#, no-wrap
+msgid ""
+"\tm_int = 2;\n"
+"\tthis.m_int = 2; // identical"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:33
+#, no-wrap
+msgid ""
+"In a method of the object
class, you can "
+"also use this.
before a fieldname."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:40
+#, no-wrap
+msgid ""
+"extern void object::Display()\n"
+"{\n"
+"\tmessage(orientation);\n"
+"\tmessage(this.orientation); // same thing but\n"
+"\t // more explicit\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:42
+#, no-wrap
+msgid ""
+"However if a field name is hidden by a parameter declaration or a variable "
+"declaration you must use this
. In the following example the "
+"name value
of the parameter is the same as the name of the "
+"field value
of the class "
+"MyClass
, we must therefore write this.value
in "
+"order to distinguish the field from the parameter."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:51
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint value;\n"
+"\tvoid Put( int value )\n"
+"\t{\n"
+"\t\tthis.value = value;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:54
+#, no-wrap
+msgid ""
+"class
\n"
+"Programming, types et catégories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/thump.txt:1
+#, no-wrap
+msgid "Instruction thump
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/thump.txt:4
+#, no-wrap
+msgid "== 0
Thumping performed\n"
+"!= 0
Operation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/topo.txt:1
+#, no-wrap
+msgid "Instruction topo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/topo.txt:4
+#, no-wrap
+msgid "true
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/true.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is true; it is one of the two values that "
+"a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/turn.txt:1
+#, no-wrap
+msgid "Instruction turn
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:3
+#, no-wrap
+msgid ""
+"Use the instruction direction()
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:15
+#, no-wrap
+msgid ""
+"\titem = radar(AlienSpider);\n"
+"\tturn(direction(item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:17
+#, no-wrap
+msgid ""
+"After these lines, just fire the cannon, and there is one hostile element "
+"less."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:21
+#, no-wrap
+msgid "turn(180)
turns round completely. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:31
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
rotation performed\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/type.txt:1
+#, no-wrap
+msgid "Variable types"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:3
+#, no-wrap
+msgid "When you define a variable, you must give two elements: "
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/type.txt:4
+#, no-wrap
+msgid "a name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/type.txt:5
+#, no-wrap
+msgid "a type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:8
+#, no-wrap
+msgid ""
+"Once you defined a variable, you can use it to put information in "
+"it. However, the information that a variable can contain must always be of "
+"the correct type: a variable of type float can not contain "
+"a string, etc."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:10
+#, no-wrap
+msgid ""
+"In a program, the name of a type is always written on int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:13
+#, no-wrap
+msgid "For a whole number (12, -500, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:15
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:16
+#, no-wrap
+msgid "For a real number (12, 3.14, 0.2, -99.98, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:18
+#, no-wrap
+msgid "bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:19
+#, no-wrap
+msgid ""
+"For a boolean variable, that can only take the values true
or "
+"false
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:21
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:22
+#, no-wrap
+msgid "For texts (\"Hello!\", \"No object found\", etc.)"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:24
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:25
+#, no-wrap
+msgid ""
+"For the coordinates of a point in space; a variable of this type consists of "
+"three parts named x, y and z."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:27
+#, no-wrap
+msgid "object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:28
+#, no-wrap
+msgid ""
+"A variable of this type contains the information about an object (bot, "
+"building, enemy, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:30
+#, no-wrap
+msgid "void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:31
+#, no-wrap
+msgid ""
+"This type is an \"empty type\", that you use when you do not want to specify "
+"a type."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/var.txt:1
+#, no-wrap
+msgid "Variables"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:3
+#, no-wrap
+msgid ""
+"A variable is like a box, where you can put some information. The content of "
+"the variable can change during the execution of the program."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:5
+#, no-wrap
+msgid ""
+"For example, you can use a variable to count the number of titanium ore "
+"units that the grabber has collected and carried to the converter. First, "
+"you must find a name for it: the name should not be too long, but explain by "
+"itself what the variable is used for. Let's call it "
+"countTit
. This variable must contain only whole numbers, so "
+"choose the type int
. At the beginning of the program, you must "
+"declare the variable. Then you put the value 0
into the "
+"variable, and every time you grab a titanium ore, you increase the variable "
+"by 1
. At every moment, the variable contains the number of "
+"titanium ore units that the grabber collected."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:8
+#, no-wrap
+msgid ""
+"For the declaration of the variable, write the following line: \n"
+"0
into the variable, write:\n"
+"dist
, direct
, "
+"p2
, a
, x
, "
+"nothing_2_shoot_at
, etc.\n"
+"A variable name must always begin with a letter. It can be followed by any "
+"combination of letters, digits or the underscore character "
+"_
. You can of course not use the keywords of the CBOT language "
+"like for
, while
, "
+"break
, continue
, do
, etc.\n"
+"You should be careful about the choice of the names that you give to "
+"variables; writing a program can become very difficult if you forget the "
+"names of variables or if you do not remember what they are used "
+"for. Elaborate your own system to find variable names, and do not use names "
+"like Bmo45
, a
or tgBinX
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:20
+#, no-wrap
+msgid ""
+"In the example above, the keyword int
indicates that this "
+"variable can contain only whole numbers, which is adequate to counting "
+"objects. If you want to measure a distance, better use a variable that can "
+"contain also real numbers, with a fractional part (like 3.45 or 0.034): in "
+"this case, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:22
+#, no-wrap
+msgid "In fact, a variable is made up of three parts:\n"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:22 cbot-help/var.txt:26
+#, no-wrap
+msgid "the name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/var.txt:23
+#, no-wrap
+msgid "the type of the information stored inside"
+msgstr ""
+
+#. type: Bullet: '3)'
+#: cbot-help/var.txt:24
+#, no-wrap
+msgid "the content, i.e. the information itself"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:28
+#, no-wrap
+msgid ""
+"You need the name to be able to distinguish the different variables from "
+"each other."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:29
+#, no-wrap
+msgid "the type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid ""
+"The type determines what kind of information the variable "
+"can contain. According to the type, a variable can contain a whole number, a "
+"real number, a string, the coordinates of a point, information about an "
+"object, etc. \n"
+"Here is a list of the most common variable types:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid "int
for a whole number (12, -500, etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:33
+#, no-wrap
+msgid ""
+"float
for a real number (3.14, 0.2, -99.98, "
+"etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:34
+#, no-wrap
+msgid ""
+"string
for a character string (\"Hello!\", "
+"\"No object found\", etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:35
+#, no-wrap
+msgid "point
for a x,y,z-coordinate in space"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:36
+#, no-wrap
+msgid ""
+"object
for information about an object (bot, "
+"building, etc.)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:38
+#, no-wrap
+msgid "The content"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:40
+#, no-wrap
+msgid ""
+"The content of a variable is an information of the kind specified in the "
+"type. It can change during the execution of the program. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:43
+#, no-wrap
+msgid ""
+"Once you declared a variable, it still does not contain any value. Before "
+"you can use it, you must put a value inside: \n"
+"=
, "
+"the value on the right side is copied into the value on the left "
+"side. Consider the following example: \n"
+"i
and j
"
+"contain the value 13
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:59
+#, no-wrap
+msgid ""
+"The following assignment is not correct, because on the left side of the "
+"equals sign =
, there can be only a variable name:\n"
+"a
and b
:\n"
+"void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:3
+#, no-wrap
+msgid "Use this type when you want to declare a function that returns nothing."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"wait
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/wait.txt:3
+#, no-wrap
+msgid ""
+"The instruction while
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:3
+#, no-wrap
+msgid ""
+"The instruction while () {}
is used to repeat a set of "
+"instructions several times."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid ""
+"The most frequent use of while
consists in repeating a set of "
+"instructions again and again. In order to achieve this, write while "
+"(true) {}
and put the instructions to be repeated in braces "
+"{}
. As an example, here is a program that repeats again and "
+"again the following actions:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid "look for a spider,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:7
+#, no-wrap
+msgid "turn towards it,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:8
+#, no-wrap
+msgid "shoot."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:16
+#, no-wrap
+msgid ""
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(AlienSpider);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:18
+#, no-wrap
+msgid "Just execute this program once, and it will kill all spiders around it."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:25
+#, no-wrap
+msgid ""
+"while ( condition )\n"
+"{\n"
+"\t
Instructions ...while( ) { }
with the "
+"instruction while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:45
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction while { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/writeln.txt:1
+#, no-wrap
+msgid "Instruction writeln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:3
+#, no-wrap
+msgid ""
+"Write one line of text to an open file in the files/ folder. This is a "
+"method of the file
class. This is the reason "
+"why we always write handle.writeln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:5
+#, no-wrap
+msgid "\thandle.writeln(\"abc\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for writing (\"w\"
) with the "
+"open
instruction. The line will automatically "
+"be terminated by the end of line characters 0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, readln
"
+"and eof
.\n"
+"Programming, types and categories."
+msgstr ""
diff --git a/help/cbot/po/pl.po b/help/cbot/po/pl.po
new file mode 100644
index 00000000..61017bf1
--- /dev/null
+++ b/help/cbot/po/pl.po
@@ -0,0 +1,6406 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR abstime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:3 cbot-help/deletef.txt:7 cbot-help/delinfo.txt:3 cbot-help/errmode.txt:6 cbot-help/flatgrnd.txt:3 cbot-help/readln.txt:9 cbot-help/send.txt:3 cbot-help/strfind.txt:5 cbot-help/strleft.txt:5 cbot-help/strlen.txt:5 cbot-help/strlower.txt:5 cbot-help/strmid.txt:5 cbot-help/strright.txt:5 cbot-help/strupper.txt:5 cbot-help/strval.txt:9 cbot-help/testinfo.txt:3 cbot-help/writeln.txt:9
+#, no-wrap
+msgid "Syntax¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/abstime.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:9
+#, no-wrap
+msgid "Time in seconds."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/abstime.txt:10 cbot-help/aim.txt:20 cbot-help/array.txt:30 cbot-help/bloc.txt:48 cbot-help/bool.txt:4 cbot-help/break.txt:24 cbot-help/category.txt:107 cbot-help/class.txt:70 cbot-help/close.txt:6 cbot-help/cond.txt:27 cbot-help/continue.txt:24 cbot-help/deletef.txt:9 cbot-help/delinfo.txt:13 cbot-help/direct.txt:13 cbot-help/dist2d.txt:13 cbot-help/dist.txt:29 cbot-help/do.txt:27 cbot-help/drop.txt:28 cbot-help/eof.txt:13 cbot-help/errmode.txt:32 cbot-help/expr.txt:87 cbot-help/extern.txt:29 cbot-help/false.txt:4 cbot-help/file.txt:16 cbot-help/fire.txt:30 cbot-help/flatgrnd.txt:16 cbot-help/float.txt:24 cbot-help/for.txt:38 cbot-help/function.txt:84 cbot-help/goto.txt:34 cbot-help/grab.txt:28 cbot-help/if.txt:39 cbot-help/int.txt:18 cbot-help/jet.txt:14 cbot-help/message.txt:24 cbot-help/motor.txt:38 cbot-help/move.txt:21 cbot-help/nan.txt:14 cbot-help/new.txt:19 cbot-help/null.txt:4 cbot-help/object.txt:68 cbot-help/openfile.txt:10 cbot-help/open.txt:18 cbot-help/pointer.txt:51 cbot-help/point.txt:35 cbot-help/private.txt:17 cbot-help/public.txt:49 cbot-help/radar.txt:58 cbot-help/readln.txt:18 cbot-help/receive.txt:16 cbot-help/recycle.txt:12 cbot-help/retobj.txt:13 cbot-help/return.txt:29 cbot-help/search.txt:16 cbot-help/send.txt:17 cbot-help/shield.txt:18 cbot-help/sizeof.txt:21 cbot-help/sniff.txt:16 cbot-help/space.txt:22 cbot-help/static.txt:20 cbot-help/strfind.txt:18 cbot-help/string.txt:32 cbot-help/strleft.txt:14 cbot-help/strlen.txt:12 cbot-help/strlower.txt:10 cbot-help/strmid.txt:18 cbot-help/strright.txt:14 cbot-help/strupper.txt:10 cbot-help/strval.txt:17 cbot-help/synchro.txt:23 cbot-help/term.txt:30 cbot-help/testinfo.txt:16 cbot-help/this.txt:52 cbot-help/thump.txt:12 cbot-help/topo.txt:13 cbot-help/true.txt:4 cbot-help/turn.txt:32 cbot-help/type.txt:32 cbot-help/var.txt:66 cbot-help/void.txt:10 cbot-help/wait.txt:21 cbot-help/while.txt:46 cbot-help/writeln.txt:19
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/abstime.txt:11 cbot-help/aim.txt:21 cbot-help/array.txt:31 cbot-help/bool.txt:5 cbot-help/break.txt:25 cbot-help/cond.txt:29 cbot-help/continue.txt:25 cbot-help/deletef.txt:10 cbot-help/direct.txt:15 cbot-help/dist2d.txt:14 cbot-help/dist.txt:30 cbot-help/drop.txt:29 cbot-help/errmode.txt:33 cbot-help/expr.txt:88 cbot-help/extern.txt:30 cbot-help/false.txt:6 cbot-help/fire.txt:31 cbot-help/flatgrnd.txt:17 cbot-help/float.txt:25 cbot-help/for.txt:40 cbot-help/function.txt:85 cbot-help/goto.txt:35 cbot-help/grab.txt:29 cbot-help/if.txt:40 cbot-help/int.txt:20 cbot-help/jet.txt:16 cbot-help/message.txt:25 cbot-help/move.txt:22 cbot-help/nan.txt:16 cbot-help/object.txt:70 cbot-help/openfile.txt:11 cbot-help/point.txt:36 cbot-help/radar.txt:60 cbot-help/recycle.txt:14 cbot-help/retobj.txt:15 cbot-help/return.txt:31 cbot-help/search.txt:18 cbot-help/shield.txt:19 cbot-help/sizeof.txt:22 cbot-help/sniff.txt:17 cbot-help/space.txt:23 cbot-help/string.txt:33 cbot-help/term.txt:31 cbot-help/thump.txt:13 cbot-help/topo.txt:14 cbot-help/true.txt:5 cbot-help/turn.txt:33 cbot-help/type.txt:33 cbot-help/var.txt:67 cbot-help/void.txt:11 cbot-help/wait.txt:22
+#, no-wrap
+msgid ""
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/aim.txt:1
+#, no-wrap
+msgid "Instruction aim
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:3 cbot-help/break.txt:3 cbot-help/continue.txt:3 cbot-help/direct.txt:3 cbot-help/motor.txt:16 cbot-help/space.txt:3 cbot-help/while.txt:21
+#, no-wrap
+msgid "Syntax :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/aim.txt:4
+#, no-wrap
+msgid "turn
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:12 cbot-help/turn.txt:24
+#, no-wrap
+msgid "angle: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:14
+#, no-wrap
+msgid ""
+"Angle in degrees of the gun relative to the robot. A positive value orients "
+"the gun upward. For shooters and orga shooters, the angle must range from "
+"-20
to +20
degrees. For phazer shooters, the angle "
+"must range from -20
to 45
degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/aim.txt:15 cbot-help/drop.txt:23 cbot-help/fire.txt:25 cbot-help/goto.txt:29 cbot-help/grab.txt:23 cbot-help/move.txt:16 cbot-help/recycle.txt:7 cbot-help/sniff.txt:11 cbot-help/thump.txt:7 cbot-help/turn.txt:27
+#, no-wrap
+msgid "Return value: int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/aim.txt:19
+#, no-wrap
+msgid ""
+"Zero if everything is OK, a value different from zero if the rotation could "
+"not be performed: \n"
+"== 0
The gun has now got the desired orientation\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/array.txt:1
+#, no-wrap
+msgid "Arrays"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:3
+#, no-wrap
+msgid ""
+"An array is basically a collection of variables of the same type or "
+"class. You can use N dimensionnal arrays in the CBOT language. Each "
+"dimension is limited to 9999 elements. You must use square brackets "
+"[]
after the type name or the variable name to declare an "
+"array."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:8
+#, no-wrap
+msgid ""
+"int [ ] a; // an array of int\n"
+"int a [12]; // an array of int limited to 12 elements\n"
+"string s[3]; // an array of 3 strings\n"
+"float xy[][]; // an 2 dimensionnal array of floats"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:10
+#, no-wrap
+msgid ""
+"Actually when the CBOT interpreter encounters an array declaration, it just "
+"creates a null
reference:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:12
+#, no-wrap
+msgid "int a[5]; // a is now a null reference"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:14
+#, no-wrap
+msgid ""
+"As soon as you put values into the array, the elements are created and the "
+"reference is initialized:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:17
+#, no-wrap
+msgid ""
+"a[2] = 213; // a points to\n"
+" // 3 élements [0], [1] et [2]"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:19
+#, no-wrap
+msgid ""
+"After this operation, a
contains a reference to the elements of "
+"the array. Elements [0]
and [1]
are created but "
+"not initialized because an array cannot contain empty elements. The sizeof
instruction allows you to obtain the number of "
+"elements contained in an array."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:21
+#, no-wrap
+msgid ""
+"When an array is declared with a maximum size, the program will stop as soon "
+"as there is an access beyond the maximum array size. No error is signalled "
+"during compilation even if the error is obvious:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/array.txt:27
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[5];\n"
+"\ta[7] = 123; // no error at compile time\n"
+"\t // but error at run time\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/array.txt:29
+#, no-wrap
+msgid ""
+"If you pass an array as parameter to a function, the "
+"function only receives a reference to the array. That "
+"means if you modify an array element in the function, the element of the "
+"array that has been passed the function will be actuallay modified."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bloc.txt:1
+#, no-wrap
+msgid "Blocks"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:3
+#, no-wrap
+msgid ""
+"You can use braces { }
to group a number of instructions "
+"together in order to make one single block out of them, for example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:10
+#, no-wrap
+msgid ""
+"\t{\n"
+"\t\tfloat t;\n"
+"\t\tt = a;\n"
+"\t\ta = b;\n"
+"\t\tb = t; // switches round a and b\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:13
+#, no-wrap
+msgid ""
+"Every instruction in the block is followed by a semicolon, "
+"but the block itself is not. \n"
+"Let us take the following example with the instruction if
to illustrate the use of blocks in a program:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:18
+#, no-wrap
+msgid ""
+"\tif ( a < b )\n"
+"\t\tif
, "
+"while
and for
, "
+"in order to group several instructions that should be performed only if a "
+"condition is true, or repeated several times. \n"
+"You can fit blocks into other blocks, on as many levels as you need. Here is "
+"an example of imbrication on two levels :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:42
+#, no-wrap
+msgid ""
+"\tif ( a > b )\n"
+"\t{\n"
+"\t\tint i = 0;\n"
+"\t\twhile ( i < 18 )\n"
+"\t\t{\n"
+"\t\t\tmove(10);\n"
+"\t\t\tturn(5);\n"
+"\t\t\ti = i+1;\n"
+"\t\t}\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:44
+#, no-wrap
+msgid ""
+"You had better line up the open brace {
with the closing brace "
+"}
in order to improve readability, but it is not "
+"compulsory. The following example takes less space, is equivalent to the "
+"previous example, but it is not advisable to write your programs in the "
+"following style : "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/bloc.txt:47
+#, no-wrap
+msgid ""
+"\tif(a>b) { int i=0; while(i<18) {\n"
+"\tmove(10);turn(5);i=i+1; }}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bloc.txt:49 cbot-help/do.txt:28 cbot-help/motor.txt:39 cbot-help/while.txt:47
+#, no-wrap
+msgid ""
+"Instructions, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/bool.txt:1
+#, no-wrap
+msgid "Type bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/bool.txt:3
+#, no-wrap
+msgid ""
+"In a variable of this type you can put a boolean value, that is a value that "
+"can take only two states: true or false. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/break.txt:1
+#, no-wrap
+msgid "Instruction break
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:7
+#, no-wrap
+msgid ""
+"while
or for
loop."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/break.txt:11 cbot-help/continue.txt:11
+#, no-wrap
+msgid "Here is an example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/break.txt:22
+#, no-wrap
+msgid ""
+"Categories
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:3
+#, no-wrap
+msgid ""
+"Categories represent the names of objects in the CBOT language. Everything "
+"in COLOBOT is an object: robots, buildings, raw materials, etc., even "
+"yourself."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:5
+#, no-wrap
+msgid ""
+"In a program, categories are always displayed on a Houston
Mission "
+"Control\n"
+" SpaceShip
Spaceship\n"
+" BotFactory
Robot "
+"Factory\n"
+" ResearchCenter "
+"
Research Center\n"
+" RadarStation
Radar\n"
+" ExchangePost "
+"
Information Exchange Post\n"
+" RepairCenter
Repair "
+"Center\n"
+" DefenseTower
Defense "
+"Tower\n"
+" AutoLab
Organic "
+"Matter Analyzer \n"
+" PowerStation
Power "
+"Station\n"
+" PowerPlant
Power "
+"Cell Factory\n"
+" NuclearPlant
Nuclear "
+"Plant\n"
+" Converter
Titanium "
+"Converter\n"
+" Derrick "
+"
Derrick\n"
+" PowerCaptor
Parabolic "
+"Lightning Conductor\n"
+" Vault
Vault\n"
+" StartArea
Starting Pad\n"
+" GoalArea
Finishing Pad\n"
+" AlienNest
Alien Nest"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:31
+#, no-wrap
+msgid "Portable Objects :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:42
+#, no-wrap
+msgid ""
+" TitaniumOre
Titanium "
+"Ore\n"
+" UraniumOre
Uranium Ore\n"
+" Titanium
Cube of "
+"converted Titanium\n"
+" PowerCell
Regular Power "
+"Cell\n"
+" NuclearCell
Nuclear Power "
+"Cell\n"
+" OrgaMatter
Organic "
+"Matter\n"
+" BlackBox
Black Box\n"
+" TNT
Explosive "
+"device\n"
+" KeyA..D
Keys A, B, C and "
+"D"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:44
+#, no-wrap
+msgid "Robots :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:48
+#, no-wrap
+msgid ""
+" PracticeBot "
+"
Practice Bot\n"
+" TargetBot "
+"
Target Bot"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:53
+#, no-wrap
+msgid ""
+" WheeledGrabber "
+"
Wheeled Grabber\n"
+" TrackedGrabber "
+"
Tracked Grabber\n"
+" WingedGrabber "
+"
Winged Grabber\n"
+" LeggedGrabber "
+"
Legged Grabber"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:58
+#, no-wrap
+msgid ""
+" WheeledSniffer "
+"
Wheeled Sniffer\n"
+" TrackedSniffer "
+"
Tracked Sniffer\n"
+" WingedSniffer "
+"
Winged Sniffer\n"
+" LeggedSniffer "
+"
Legged Sniffer"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:63
+#, no-wrap
+msgid ""
+" WheeledShooter "
+"
Wheeled Shooter\n"
+" TrackedShooter "
+"
Tracked Shooter\n"
+" WingedShooter "
+"
Winged Shooter\n"
+" LeggedShooter "
+"
Legged Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:68
+#, no-wrap
+msgid ""
+" WheeledOrgaShooter "
+"
Wheeled Orga Shooter\n"
+" TrackedOrgaShooter "
+"
Tracked Orga Shooter\n"
+" WingedOrgaShooter "
+"
Winged Orga Shooter\n"
+" LeggedOrgaShooter "
+"
Legged Orga Shooter"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:74
+#, no-wrap
+msgid ""
+" Subber "
+"
Subber\n"
+" Recycler "
+"
Recycler\n"
+" Shielder "
+"
Shielder\n"
+" Thumper "
+"
Thumper\n"
+" PhazerShooter "
+"
Phazer Shooter"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:76
+#, no-wrap
+msgid "Enemies :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:84
+#, no-wrap
+msgid ""
+" AlienQueen
Alien Queen\n"
+" AlienEgg
Alien Egg\n"
+" AlienAnt
Ant\n"
+" AlienSpider
Spider\n"
+" AlienWasp
Wasp\n"
+" AlienWorm
Worm"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:86
+#, no-wrap
+msgid "Miscellaneous :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:93
+#, no-wrap
+msgid ""
+" Me
You!\n"
+" Mine
Mine\n"
+" Barrier
Barrier\n"
+" Wreck
Derelict bot\n"
+" Ruin
Derelict building"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:106
+#, no-wrap
+msgid ""
+" BlueFlag
Blue Flag\n"
+" RedFlag
Red Flag\n"
+" GreenFlag
Green Flag\n"
+" YellowFlag
Yellow Flag\n"
+" VioletFlag
Violet Flag\n"
+" WayPoint
Checkpoint\n"
+" EnergySite
Underground "
+"Energy Deposit\n"
+" TitaniumSite
Underground "
+"Titanium Deposit\n"
+" UraniumSite
Underground "
+"Uranium Deposit"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/category.txt:108
+#, no-wrap
+msgid "CBOT Language and Variables."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/class.txt:1
+#, no-wrap
+msgid "Instruction class
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:3
+#, no-wrap
+msgid "This allows you to declare a class definition using following syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:8
+#, no-wrap
+msgid ""
+"public class ClassName\n"
+"{\n"
+"\tdeclarations;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:10
+#, no-wrap
+msgid ""
+"Classes can only be public, that is they can be used from "
+"all bots in a mission. Class members are also public, that is they are "
+"accessible from outside the class. Class members can be fields or functions "
+"(also called methods), for example the followin class MyClass
"
+"contains 4 fields (a, b, x and s) and one method (MyFunction)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:21
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tfloat x = 3.33;\n"
+"\tstring s = \"hello\";\n"
+"\tfloat MyFunction( float value )\n"
+"\t{\n"
+"\t\treturn (value*x)-1;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:23
+#, no-wrap
+msgid ""
+"As shown in this exemple the class members can be initialized "
+"(x=3.33
). You can also define a constructor which is a special "
+"method having the same name as the class name. This method will be called "
+"automatically at creation time of a class instance. You can also declare "
+"more than one method with the same name but different parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:36
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint a, b;\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\ta = 2; b = 3;\n"
+"\t}\n"
+"\tvoid MyClass( int a, int b )\n"
+"\t{\n"
+"\t\tthis.a = a; this.b = b;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:38
+#, no-wrap
+msgid ""
+"In this example two constructors are declared for MyClass
, one "
+"without parameters and the other one with two parameters. As the names of "
+"the parameters of the second constructor are the same as the names of the "
+"two members a
et b
we must use the this.a
and this.b
to "
+"avoid confusion with the parameters. Another more simpler solution would be "
+"to give different names to the parameters."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:46
+#, no-wrap
+msgid ""
+"void Test( )\n"
+"{\n"
+"\tMyClass item1(); // constr. w/o parameters\n"
+"\tMyClass item2(4, 5); // constr. with 2 parameters\n"
+"\tMyClass item3; // no constructor called,\n"
+" // therefore item3 == null\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:48
+#, no-wrap
+msgid ""
+"You can also define a destructor. This must be a void
fonction "
+"without parameters that has the same name as the class name but prefixed by "
+"the ~ character. The destructor is called automatically as soon as the class "
+"instance is no more referenced by anyone."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/class.txt:67
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic private int counter = 0; // instance counter\n"
+"\tvoid MyClass( )\n"
+"\t{\n"
+"\t\tcounter ++; // one instance more\n"
+"\t}\n"
+"\tvoid ~MyClass( )\n"
+"\t{\n"
+"\t\tcounter --; // one instance less\n"
+"\t}\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item1( ); // counter = 1\n"
+"\tMyClass item2( ); // counter = 2\n"
+"\titem1 = null; // counter = 1\n"
+"} // counter = 0"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:69
+#, no-wrap
+msgid ""
+"If you pass a class instance as parameter to a function, the function only receives a reference to the instance. That means if you modify the "
+"instance in the function, the instance that has been passed to the function "
+"will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/class.txt:72
+#, no-wrap
+msgid ""
+"public
, private
, static
, "
+"synchronized
, new
, reference
, "
+"this
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/close.txt:1
+#, no-wrap
+msgid "Instruction close
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:3
+#, no-wrap
+msgid ""
+"Close a file opened previously with open
. This "
+"is a method of the file
class; therefore you "
+"cannot write close()
but only handle.close()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/close.txt:5
+#, no-wrap
+msgid "\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/close.txt:8
+#, no-wrap
+msgid ""
+"file
, open
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/cond.txt:1
+#, no-wrap
+msgid "Conditions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:4
+#, no-wrap
+msgid ""
+"A condition is a special expression that returns a boolean value, that can only be either true
or false
. With a "
+"condition, you can choose f. ex. if the instructions in a while
loop must be repeated again, or if the "
+"instruction in a if
bloc must be executed.\n"
+"Here are some operators that you can use in conditions to compare two values "
+":"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:11
+#, no-wrap
+msgid ""
+"a == b
a
equals b
\n"
+"a != b
a
is different from b
\n"
+"a < b
a
smaller than b
\n"
+"a <= b
a
smaller than or equal to "
+"b
\n"
+"a > b
a
greater than b
\n"
+"a >= b
a
greater than or equal to b
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:13
+#, no-wrap
+msgid "For example :"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:20
+#, no-wrap
+msgid ""
+"12 == 12
returns true\n"
+"45 != 47
returns true \n"
+"99 == 98
returns false\n"
+"12 < -1
returns false\n"
+"12 >= 10
returns true \n"
+"12 >= 12
returns true "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/cond.txt:21
+#, no-wrap
+msgid "Remarque"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:23
+#, no-wrap
+msgid ""
+"Be careful not to confuse the equality comparison ==
with the "
+"assignment of a variable =
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/cond.txt:26
+#, no-wrap
+msgid ""
+"a == b
is an expression that compares a
with "
+"b
.\n"
+"a = b
is an expression that copies the value of b
"
+"into a
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/continue.txt:1
+#, no-wrap
+msgid "Instruction continue
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:7
+#, no-wrap
+msgid ""
+"bloc
of a while
"
+"or for
loop: The execution will resume at the "
+"beginning of the bloc, the next time the loop is repeated."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/continue.txt:21
+#, no-wrap
+msgid ""
+"i
1, "
+"2, 4 and 5."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/deletef.txt:1
+#, no-wrap
+msgid "Instruction deletefile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:3
+#, no-wrap
+msgid "The deletefile instruction deletes an existing file in the files/ folder. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/deletef.txt:5
+#, no-wrap
+msgid ""
+"Files can only be deleted in the files/ folder which is located in the "
+"folder where Colobot has been installed. You cannot not delete files that "
+"are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/deletef.txt:8
+#, no-wrap
+msgid "deleteinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/delinfo.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:9
+#, no-wrap
+msgid ""
+"Name of the information to be deleted. This name is a string: it must be "
+"written in quotation marks \"¦\"."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/delinfo.txt:10 cbot-help/receive.txt:10 cbot-help/send.txt:14 cbot-help/testinfo.txt:10
+#, no-wrap
+msgid "power: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:12
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance between "
+"the sender and the exchange post. If the distance is longer, the information "
+"won't be deleted. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/delinfo.txt:15
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and testinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/direct.txt:1
+#, no-wrap
+msgid "Instruction direction
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/direct.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:9
+#, no-wrap
+msgid "Position towards which the robot must point."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/direct.txt:10 cbot-help/dist2d.txt:10 cbot-help/dist.txt:26 cbot-help/flatgrnd.txt:13 cbot-help/receive.txt:13 cbot-help/topo.txt:10
+#, no-wrap
+msgid "Return value: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/direct.txt:12
+#, no-wrap
+msgid ""
+"Angle of the rotation that must be performed. -90 means f. ex. a rotation of "
+"90 degrees to the right. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist2d.txt:1
+#, no-wrap
+msgid "Instruction distance2d
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:3 cbot-help/dist.txt:19 cbot-help/do.txt:3 cbot-help/drop.txt:13 cbot-help/fire.txt:11 cbot-help/for.txt:3 cbot-help/goto.txt:13 cbot-help/grab.txt:13 cbot-help/if.txt:24 cbot-help/jet.txt:3 cbot-help/message.txt:3 cbot-help/move.txt:9 cbot-help/radar.txt:15 cbot-help/receive.txt:3 cbot-help/recycle.txt:3 cbot-help/retobj.txt:3 cbot-help/search.txt:3 cbot-help/shield.txt:3 cbot-help/sniff.txt:3 cbot-help/thump.txt:3 cbot-help/topo.txt:3 cbot-help/turn.txt:20 cbot-help/wait.txt:11
+#, no-wrap
+msgid "Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist2d.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:9 cbot-help/dist.txt:25
+#, no-wrap
+msgid "Coordinates of the two positions. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist2d.txt:12 cbot-help/dist.txt:28
+#, no-wrap
+msgid "Distance between the two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:1
+#, no-wrap
+msgid "Instruction distance
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:3
+#, no-wrap
+msgid ""
+"With the instruction distance( , )
you can calculate the "
+"distance between two positions."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:4 cbot-help/drop.txt:4 cbot-help/fire.txt:4 cbot-help/goto.txt:4 cbot-help/grab.txt:4 cbot-help/if.txt:4 cbot-help/motor.txt:4 cbot-help/move.txt:4 cbot-help/radar.txt:4 cbot-help/turn.txt:4 cbot-help/wait.txt:4 cbot-help/while.txt:4
+#, no-wrap
+msgid "Basic use"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:6
+#, no-wrap
+msgid ""
+"If you write position
alone, this gives you the position of the "
+"bot that executes the program. If you write the name of a variable followed "
+"by .position
, this gives you the position of the object "
+"described in the variable."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:8
+#, no-wrap
+msgid ""
+"Here is a program that moves forward, covering exactly the distance between "
+"the bot and the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:11
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/dist.txt:13
+#, no-wrap
+msgid ""
+"This is of course pure suicide. Better to stop 40 meters before, in order to "
+"be at shooting range:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:16
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tmove(distance(position, item.position) - 40);"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/dist.txt:17 cbot-help/drop.txt:11 cbot-help/errmode.txt:4 cbot-help/file.txt:10 cbot-help/fire.txt:9 cbot-help/float.txt:19 cbot-help/goto.txt:11 cbot-help/grab.txt:11 cbot-help/if.txt:22 cbot-help/int.txt:13 cbot-help/motor.txt:14 cbot-help/move.txt:7 cbot-help/radar.txt:13 cbot-help/return.txt:9 cbot-help/turn.txt:18 cbot-help/wait.txt:9 cbot-help/while.txt:19
+#, no-wrap
+msgid "For specialists"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/dist.txt:20
+#, no-wrap
+msgid "do - while
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:8
+#, no-wrap
+msgid ""
+"do\n"
+"{\n"
+"\t
Instructions ...while ( ) { }
; the latter tests "
+"the condition before the instructions in the block are executed. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/do.txt:12 cbot-help/for.txt:13 cbot-help/while.txt:30
+#, no-wrap
+msgid "condition
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:14 cbot-help/while.txt:32
+#, no-wrap
+msgid ""
+"The instructions in the block are performed over and over again, as long as "
+"the condition is true. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:16 cbot-help/while.txt:34
+#, no-wrap
+msgid "Here is an example :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/do.txt:21
+#, no-wrap
+msgid ""
+"while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/do.txt:26
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction do { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/drop.txt:1
+#, no-wrap
+msgid "Instruction drop
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:3
+#, no-wrap
+msgid ""
+"The instruction int
(default valueInFront
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:22
+#, no-wrap
+msgid ""
+"Oper indicates where the robot should drop the object. If no indication is "
+"given, the object is dropped in front of the bot. \n"
+"InFront
Drops in front (default value).\n"
+"Behind
Drops behind.\n"
+"EnergyCell
Drops on the bot's own power cell location."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/drop.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
object was dropped\n"
+"!= 0
error, no object was dropped"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/eof.txt:1
+#, no-wrap
+msgid "Instruction eof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:3
+#, no-wrap
+msgid ""
+"Test the end of file condition of an open file. This is a method of the "
+"file
class; therefore you cannot write "
+"eof()
but only handle.eof()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:5
+#, no-wrap
+msgid "\tif ( handle.eof() ) "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:7 cbot-help/readln.txt:12
+#, no-wrap
+msgid "Example¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/eof.txt:12
+#, no-wrap
+msgid ""
+"\twhile ( not handle.eof() )\n"
+"\t{\n"
+"\t\ts = handle.readln();\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/eof.txt:15
+#, no-wrap
+msgid ""
+"file
, open
, "
+"close
, readln
"
+"and writeln
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/errmode.txt:1
+#, no-wrap
+msgid "Instruction errmode
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:3
+#, no-wrap
+msgid ""
+"The goto
, move
, grab
, drop
, etc."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:7
+#, no-wrap
+msgid "float
(1
per default)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:14
+#, no-wrap
+msgid ""
+"Error treatment mode.\n"
+"0
-> continues program execution and returns a non zero value\n"
+"1
-> stops the program (default behavior)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/errmode.txt:16
+#, no-wrap
+msgid "Exemple 1¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/errmode.txt:21
+#, no-wrap
+msgid ""
+"\n"
+"\t
take some appropriate action ...+
addition\n"
+"-
subtraction\n"
+"*
multiplication\n"
+"/
division\n"
+"%
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:11
+#, no-wrap
+msgid ""
+"With the addition operator +
, you can not only add numbers, you "
+"can also append strings."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:21
+#, no-wrap
+msgid ""
+"\tint i = 12+3; // returns 15\n"
+"\tstring s = \"a\"+\"bc\"; // returns \"abc\"\n"
+"\tint i = 2-5; // returns -3\n"
+"\tfloat f = 3.01*10; // returns 30.1\n"
+"\tint i = 5/3; // returns 1\n"
+"\tfloat f = 5/3; // returns 1.67\n"
+"\tfloat f = 5/0; // returns an error\n"
+"\tint i = 13%5; // returns 3\n"
+"\tint i = -8%3; // returns -2"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:23
+#, no-wrap
+msgid ""
+"An expression can include constants or variables. For "
+"example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:25
+#, no-wrap
+msgid "\t12+dist
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:27
+#, no-wrap
+msgid ""
+"Multiplications and divisions are performed before additions and "
+"subtractions. In order to be sure that the operations are performed in the "
+"right order, use brackets: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/expr.txt:30
+#, no-wrap
+msgid ""
+"\t12*a+b/c sin(angle)
sinus\n"
+"cos(angle)
cosinus\n"
+"tan(angle)
tangent\n"
+"asin(value)
arc-sinus\n"
+"acos(value)
arc-cosinus\n"
+"atan(value)
arc-tangente\n"
+"sqrt(value)
square root\n"
+"pow(x, y)
x power y\n"
+"rand()
random value ranging between 0 and 1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:49
+#, no-wrap
+msgid "Angles are in degrees."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:50
+#, no-wrap
+msgid "Compound assignment operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:52
+#, no-wrap
+msgid ""
+"Besides the =
operators for variable assignment there are "
+"several compound-assignment operators."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:54
+#, no-wrap
+msgid ""
+"The compound-assignment operators combine the =
assignment "
+"operator with another binary operator such as +
or "
+"-
. Compound-assignment operators perform the operation "
+"specified by the additional operator and then assign the result to the left "
+"operand. For example, a compound-assignment expression such as "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:56
+#, no-wrap
+msgid "+=
addition\n"
+"-=
subtraction\n"
+"*=
multiplication\n"
+"/=
division\n"
+"%=
remainder of the division (only for the type int
)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/expr.txt:67
+#, no-wrap
+msgid "Prefix and posfix increment- and decrement operators (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:69
+#, no-wrap
+msgid ""
+"The operators ++
and --
allow you to increment "
+"(++) or to decrement (--) a variable in very compact and efficient manner."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:74
+#, no-wrap
+msgid ""
+"For example to increment the variable a
you can write\n"
+"a++
is the value of the variable "
+"a
before the increment. If you use the prefix operator "
+"++a
the value of the expression is the value of the variable "
+"a
after the increment. The same holds for the --
"
+"decrement operator."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/expr.txt:79
+#, no-wrap
+msgid ""
+"Exemples:\n"
+"extern
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:3
+#, no-wrap
+msgid ""
+"The extern
instruction determines the function that acts as main program of a robot. The name of "
+"the function declared with extern
will apear in the program "
+"list in the lower left corner of the screen."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:12
+#, no-wrap
+msgid ""
+"extern void object::MowDown( )\n"
+"{\n"
+"\twhile ( true )\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t\tturn(10);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/extern.txt:14
+#, no-wrap
+msgid ""
+"If the program contains other functions, only the main function must be "
+"preceded by extern
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/extern.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tLine(10);\n"
+"\t}\n"
+"}\n"
+"\n"
+"void object::Line(float dist)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(90);\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/false.txt:1
+#, no-wrap
+msgid "Type false
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/false.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is not true; it is one of the two values "
+"that a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/file.txt:1
+#, no-wrap
+msgid "Type file
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:3
+#, no-wrap
+msgid "This type is used for accessing files in the files/ folder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:5
+#, no-wrap
+msgid "\tfile handle();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:7
+#, no-wrap
+msgid ""
+"Use the syntax above for declaring a file handle. You must use () to create "
+"an instance of the file
class. Without the () the handle would "
+"have the value null
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:9
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:12
+#, no-wrap
+msgid ""
+"file
is actually not a simple type but a "
+"class. open
, close
, writeln
etc. are "
+"methods of the file
class. This is the reason why we always "
+"write handle.method()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/file.txt:15
+#, no-wrap
+msgid ""
+"\thandle.open(\"test.txt\", \"w\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/file.txt:18
+#, no-wrap
+msgid ""
+"open
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/fire.txt:1
+#, no-wrap
+msgid "Instruction fire
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:3
+#, no-wrap
+msgid "The instruction aim
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/fire.txt:22 cbot-help/wait.txt:15
+#, no-wrap
+msgid "time: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:24
+#, no-wrap
+msgid ""
+"Duration of the burst. Generally, the value given is 1. Shorter bursts can "
+"also be performed in order to spare time and energy."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/fire.txt:29
+#, no-wrap
+msgid ""
+"Zero if OK, or a value different from zero if an error occurred.\n"
+"== 0
the cannon has been fired\n"
+"!= 0
error, the cannon could not be fired"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/flatgrnd.txt:1
+#, no-wrap
+msgid "Instruction flatground
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/flatgrnd.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:9
+#, no-wrap
+msgid "Center of the circlular zone."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/flatgrnd.txt:10
+#, no-wrap
+msgid "rmax: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:12
+#, no-wrap
+msgid "Maximal radius."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/flatgrnd.txt:15
+#, no-wrap
+msgid "Radius of the flat zone (always between 0 and rmax)."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/float.txt:1
+#, no-wrap
+msgid "Type float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:3
+#, no-wrap
+msgid ""
+"Use this type for most variables that contains numbers. Variables of this "
+"type can contain positive and negative numbers, whole or real numbers, for "
+"example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:8
+#, no-wrap
+msgid ""
+"\t12.9\n"
+"\t1.125\n"
+"\t0.002\n"
+"\t-4.1"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:10
+#, no-wrap
+msgid ""
+"If you need only whole numbers (f. ex. 12 or -5000), you should rather use "
+"the type int
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:13
+#, no-wrap
+msgid ""
+"Do not insert space or colon characters into a number. To separate the whole "
+"part from the fractional part, use a dot. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/float.txt:18
+#, no-wrap
+msgid ""
+" Write and not\n"
+" 12.56 12 . 56\n"
+" -54.34 -54,34\n"
+"12895.69 12,895.69"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/float.txt:23
+#, no-wrap
+msgid ""
+"Floating point numbers are represented in Colobot with 32 bits.\n"
+"The highest value that can be represented is 3.4E+38.\n"
+"The smallest value that can be represented is 3.4E-38."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/for.txt:1
+#, no-wrap
+msgid "Instruction for
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:7
+#, no-wrap
+msgid ""
+"before
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:12
+#, no-wrap
+msgid "This instruction is executed before the first loop instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:15
+#, no-wrap
+msgid ""
+"This condition determines if another instance of the loop "
+"must be executed. It is tested before every instance of the loop. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/for.txt:16
+#, no-wrap
+msgid "end
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:18
+#, no-wrap
+msgid "This instruction is executed at the end of every instance of the loop. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:21
+#, no-wrap
+msgid ""
+"Example: count from 1 to 4\n"
+"for
-loop, but "
+"it uses the instruction while
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/for.txt:32
+#, no-wrap
+msgid ""
+"for ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/for.txt:37
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction for
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/function.txt:1
+#, no-wrap
+msgid "Functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:4
+#, no-wrap
+msgid ""
+"With functions you can divide your program into several parts, each of them "
+"will execute a specific task.\n"
+"Let's imagine following program¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:16
+#, no-wrap
+msgid ""
+"extern void object::Remote( )\n"
+"{\n"
+"\tsend(\"order\", 1, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 3, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 2, 100);\n"
+"\twait(5);\n"
+"\tsend(\"order\", 4, 100);\n"
+"\twait(5);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:18
+#, no-wrap
+msgid ""
+"send
and wait
are repeated several times. So it "
+"would be a good thing if we created a function that executes these two "
+"instructions:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:31
+#, no-wrap
+msgid ""
+"void object::SendToPost( float op )\n"
+"{\n"
+"\tsend(\"order\", op, 100);\n"
+"\twait(5);\n"
+"}\n"
+"extern void object::Remote( )\n"
+"{\n"
+"\tSendToPost(1);\n"
+"\tSendToPost(3);\n"
+"\tSendToPost(2);\n"
+"\tSendToPost(4);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:33
+#, no-wrap
+msgid "A function can have paramteters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:35
+#, no-wrap
+msgid "void Example( int a, float x, string s )"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:37
+#, no-wrap
+msgid ""
+"The Exemple
function will reveive un integer a
, a "
+"floating point number x
and a string s
. Parameters "
+"are \"passed by value\", that is the values of parameter variables in a "
+"function are copies of the values the caller specified as variables. If you "
+"pass an int
to a function, its parameter is a copy of whatever "
+"value was being passed as argument, and the function can change its "
+"parameter value without affecting values in the code that invoked the "
+"function."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:39
+#, no-wrap
+msgid ""
+"If you pass a class instance or an array "
+"as parameter to a function, the function only receives a reference to the instance or the array. That means if you "
+"modify the instance or the array in the function, the instance or the array "
+"that has been specified by the caller will be actuallay modified."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:41
+#, no-wrap
+msgid ""
+"A function can also return a result with the return
instruction. Therefore the function must be "
+"declared no longer as void but as a type:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:53
+#, no-wrap
+msgid ""
+"float Mean( float a, float b )\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}\n"
+"\n"
+"extern void object::Test( )\n"
+"{\n"
+"\tfloat value;\n"
+"\tvalue = Mean(2, 6);\n"
+"\tmessage( value ); // will display 4\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:55
+#, no-wrap
+msgid "Some other examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:67
+#, no-wrap
+msgid ""
+"float Pi( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}\n"
+"\n"
+"string Sign( float a )\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:69
+#, no-wrap
+msgid ""
+"You can declare several functions with the same name but different "
+"parameters¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/function.txt:79
+#, no-wrap
+msgid ""
+"float Pythagoras( float a, float b )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b));\n"
+"}\n"
+"\n"
+"float Pythagoras( float a, float b, float c )\n"
+"{\n"
+"\treturn sqrt((a*a)+(b*b)+(c*c));\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:81
+#, no-wrap
+msgid ""
+"CBOT will call either the one or the other function depending on the "
+"paramteres passed."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/function.txt:83
+#, no-wrap
+msgid ""
+"You can also declare a function public so it can be used "
+"by other bots."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/goto.txt:1
+#, no-wrap
+msgid "Instruction goto
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:3
+#, no-wrap
+msgid "The instruction .position
in order to get the position of the object. Here is "
+"an example of a program that looks for a titanium cube, "
+"goes to the position and grabs it:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:10
+#, no-wrap
+msgid ""
+"\titem = radar(Titanium);\n"
+"\tgoto(item.position);\n"
+"\tgrab();"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/goto.txt:14
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:22
+#, no-wrap
+msgid ""
+"Flight altitude for winged bots. The altitude is useful "
+"only for winged bots. From the initial altitude, the bot "
+"climbs higher until it reaches the specified hight. When arriving close to "
+"destination, it goes down to touch the ground at the given position. If no "
+"value is given, an altitude of 10 meters is the default value. On very short "
+"moves, even winged bot stay on the ground. For all bot except winged bots, "
+"this parameter is ignored. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/goto.txt:23
+#, no-wrap
+msgid "goal: int
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:28
+#, no-wrap
+msgid ""
+"This parameter tells the bot how it must reach the goal: \n"
+"0
stops exactly at the goal position\n"
+"1
goes close to the goal position, without stopping.\n"
+"If no value is given, 1
(precision) is the default value. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/goto.txt:33
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by goto()
.\n"
+"== 0
Goal position reached\n"
+"!= 0
Goal position impossible to reach"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/grab.txt:1
+#, no-wrap
+msgid "Instruction grab
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:3
+#, no-wrap
+msgid ""
+"The instruction InFront
Grabs in front (default value).\n"
+"Behind
Grabs behind.\n"
+"EnergyCell
Grabs the bot's own power cell."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/grab.txt:27
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by == 0
an object was grabbed\n"
+"!= 0
error, no object was grabbed"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/if.txt:1
+#, no-wrap
+msgid "Instructions if
and else
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:3
+#, no-wrap
+msgid ""
+"With the instruction if() {}
you can execute a set of "
+"instructions only if a certain condition is true. Write the condition in "
+"brackets ()
, and the instructions in braces {}
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:6
+#, no-wrap
+msgid ""
+"Here is a concrete example: The bot will shoot only if the target is closer "
+"than 40 meters:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:12
+#, no-wrap
+msgid ""
+"\titem = radar(AlienAnt);\n"
+"\tif (distance(position, item.position) < 40)\n"
+"\t{\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:14
+#, no-wrap
+msgid ""
+"You can also test if an object exists at all. If the instruction null
. So you can test if an object does not exists "
+"with the condition (item == null)
, or test if it exists with "
+"(item != null)
. Two equal signs ==
test equality, "
+"an exclamation mark followed by an equal sign !=
test "
+"inequality. Here is a test that will go to rechage the power "
+"cell only if there is a power station:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:21
+#, no-wrap
+msgid ""
+"\titem = radar(PowerStation);\n"
+"\tif (item != null)\n"
+"\t{\n"
+"\t\tgoto(item.position);\n"
+"\t\twait(5);\n"
+"\t}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/if.txt:32
+#, no-wrap
+msgid ""
+"if ( condition )\n"
+"{\n"
+"\t
Instructions A ...\n"
+"}\n"
+"else\n"
+"{\n"
+"\t
Instructions B ...else { }
is not compulsory. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/if.txt:38
+#, no-wrap
+msgid ""
+"Do not put a semicolon at the end of the line if ( "
+")
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/int.txt:1
+#, no-wrap
+msgid "Type int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain only whole numbers, negative or "
+"positive. For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/int.txt:7
+#, no-wrap
+msgid ""
+"\t12\n"
+"\t1000\n"
+"\t-4"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:9
+#, no-wrap
+msgid ""
+"To represent real numbers like 12.05 or -0.005, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:12
+#, no-wrap
+msgid "Do not put space or colon signs inside a number. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/int.txt:17
+#, no-wrap
+msgid ""
+"Numbers of the type int
are represented with 32 bits.\n"
+"The highest number that can be represented is (2^31)-1, that is "
+"2'147'483'647.\n"
+"The smallest number that can be represented is -(2^31), that is "
+"-2'147'483'648."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/jet.txt:1
+#, no-wrap
+msgid "Instruction jet
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/jet.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:9
+#, no-wrap
+msgid ""
+"Power of the jet, ranges between -1
and "
+"+1
. void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/jet.txt:13 cbot-help/message.txt:23 cbot-help/motor.txt:37 cbot-help/shield.txt:17 cbot-help/wait.txt:20
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/message.txt:1
+#, no-wrap
+msgid "Instruction message
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/message.txt:4
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:13
+#, no-wrap
+msgid ""
+"Text that is to be displayed. It is possible to append several texts and/or "
+"values with the operator +
:\n"
+"int
(default value "
+"DisplayMessage
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "Type of the message, that determines the background color. \n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:16
+#, no-wrap
+msgid "DisplayMessage
Standard message on yellow background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:17
+#, no-wrap
+msgid "DisplayInfo
Information on green background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:18
+#, no-wrap
+msgid "DisplayWarning
Warning on blue background."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/message.txt:19
+#, no-wrap
+msgid "DisplayError
Error on red background."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/motor.txt:1
+#, no-wrap
+msgid "Instruction motor
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:3
+#, no-wrap
+msgid ""
+"The instruction move
, turn
or goto
instruction "
+"is performed."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:20
+#, no-wrap
+msgid "left: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:22
+#, no-wrap
+msgid ""
+"Speed instruction for the left motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/motor.txt:23
+#, no-wrap
+msgid "right: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:25
+#, no-wrap
+msgid ""
+"Speed instruction for the right motor; the value must range between -1 and "
+"1. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/motor.txt:30
+#, no-wrap
+msgid ""
+"Examples :\n"
+"motor(1, "
+"1)
\n"
+"motor(-1, -1)
"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/move.txt:1
+#, no-wrap
+msgid "Instruction move
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:3
+#, no-wrap
+msgid ""
+"The instruction float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:15
+#, no-wrap
+msgid ""
+"Length of the move, in meters. A negative value makes the bot move "
+"backward. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/move.txt:20
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from "
+"stopping on errors by using the errmode(0)
"
+"instruction. A value different from zero if an error occurred is then "
+"returned by move()
.\n"
+"== 0
Move executed\n"
+"!= 0
error, the instruction was not performed correctly"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/nan.txt:1
+#, no-wrap
+msgid "Type nan
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:4
+#, no-wrap
+msgid ""
+"This special value indicates that a variable of type "
+"int
or float
"
+"contains no number, but \"nothing\". \n"
+"For example, if the instruction receive
can "
+"not get the requested information, it returns nan
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/nan.txt:10
+#, no-wrap
+msgid ""
+"\tvalue = receive(\"Length\");\n"
+"\tif ( value == nan ) // not found ?\n"
+"\t{\n"
+"\t\t\n"
+"\t}"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/nan.txt:11
+#, no-wrap
+msgid "Dictionnary"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/nan.txt:13
+#, no-wrap
+msgid "nan
= Not A Number "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/new.txt:1
+#, no-wrap
+msgid "Instruction new
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:4
+#, no-wrap
+msgid ""
+"The new
operator creates a class instance:\n"
+"new
operator by putting () after the declaration:"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/new.txt:13
+#, no-wrap
+msgid ""
+"Instead of:\n"
+"class
, reference
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/null.txt:1
+#, no-wrap
+msgid "Type null
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:3
+#, no-wrap
+msgid ""
+"This special value indicates that the variable containing it does not "
+"reference an instance."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/null.txt:7
+#, no-wrap
+msgid ""
+"References\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:1
+#, no-wrap
+msgid "Type object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:3
+#, no-wrap
+msgid ""
+"Use this type for variables that contain the characteristics of an object, "
+"be it a bot, a building, some raw material, an enemy, etc. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:16
+#, no-wrap
+msgid ""
+"int object.category
Category of the object\n"
+"point object.position
Position of the "
+"object (x,y,z)\n"
+"float object.orientation
Orientation of the "
+"object (0..360)\n"
+"float object.pitch
Forward/backward "
+"angle of the object\n"
+"float object.roll
Right/left angle "
+"of the object \n"
+"float object.energyLevel
Energy level "
+"(0..1)\n"
+"float object.shieldLevel
Shield level "
+"(0..1)\n"
+"float object.temperature
Jet temperature "
+"(0..1)\n"
+"float object.altitude
Altitude above "
+"ground\n"
+"float object.lifeTime
Lifetime of the "
+"object\n"
+"object object.energyCell
Power cell on the bot\n"
+"object object.load
Object carried by the bot"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:18
+#, no-wrap
+msgid "category
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:19
+#, no-wrap
+msgid ""
+"The position
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:22
+#, no-wrap
+msgid ""
+"Position of the object on the planet, in meters. The coordinates "
+"x
and y
correspond to the location on a map, the "
+"z
coordinate corresponds to the altitude above (respectively "
+"below) sea level. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:24
+#, no-wrap
+msgid "orientation
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:25
+#, no-wrap
+msgid ""
+"Orientation of the object, in degrees. The orientation tells you what "
+"direction the object is facing. An orientation of 0
corresponds "
+"to an object facing eastwards, thus following the positive x
"
+"axis. The orientation is measured counterclockwise. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:27
+#, no-wrap
+msgid "pitch
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:28
+#, no-wrap
+msgid ""
+"Forward/backward angle of the robot. A pitch of 0
means that "
+"the bot is standing on flat ground. A positive inclination means that it is "
+"facing upwards, a negative inclination means that it is facing downwards. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:30
+#, no-wrap
+msgid "roll
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:31
+#, no-wrap
+msgid ""
+"Left/right angle of the bot, in degrees. A positive value means that the bot "
+"is leaning to the left side, a negative value means that it is leaning to "
+"the right side. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:33
+#, no-wrap
+msgid "energyLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:34
+#, no-wrap
+msgid ""
+"Energy level, between 0 and 1. A normal power cell that "
+"is fully charged returns the value 1
. A nuclear power cell never returns a value higher than 1, it "
+"just lasts longer. Attention: The energy level of a bot is always zero, "
+"because the energy is not contained in the bot, but in the power cell. To "
+"know the energy level of the power cell of a bot, you must write "
+"energyCell.energyLevel
. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:36
+#, no-wrap
+msgid "shieldLevel
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:38
+#, no-wrap
+msgid ""
+"Shield level of a robot or building. A level 1
indicates that "
+"the shield is still perfect. Every time that the bot or building gets a "
+"bullet or collides with another object, the shield level decreases. When the "
+"level reaches 0
, the next bullet or collision will destroy the "
+"bot or building. \n"
+"Bots can re-energize their shield on a repair "
+"center. The shield of a building is repaired if it lays inside the "
+"protection sphere of a shielder."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:40
+#, no-wrap
+msgid "temperature
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:41
+#, no-wrap
+msgid ""
+"Temperature of the jet of winged bots. 0
"
+"corresponds to a cold jet. When used, the temperature increases "
+"progressively. When it reaches the value 1
, the jet is "
+"overheated and stops working, until it cooled down a little. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:43
+#, no-wrap
+msgid "altitude
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:44
+#, no-wrap
+msgid ""
+"The z
coordinate of the position indicates the altitude above "
+"sea level, whereas the altitude
indicates the height above "
+"ground. This value is meaningful only for winged bots "
+"and for wasps. For all other objects, this value is "
+"zero. "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:46
+#, no-wrap
+msgid "lifeTime
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:47
+#, no-wrap
+msgid "The age of the object in seconds since it's creation."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:49
+#, no-wrap
+msgid "energyCell
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:52
+#, no-wrap
+msgid ""
+"This information is special, because it returns the information about "
+"another object, in this case the power pack. This means that energyCell "
+"contains all the characteristics of a normal object, for example "
+"category
(PowerCell or NuclearCell), position
(the "
+"position of the cell), etc.\n"
+"If you want to know the energy level of a robot, you must not check "
+"energyLevel
, but energyCell.energyLevel
.\n"
+"If the bot has bot no power cell, energyCell
returns "
+"null
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:54
+#, no-wrap
+msgid "load
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:55
+#, no-wrap
+msgid ""
+"This information also returns the description of a whole object: the "
+"description of the object carried by a grabber. If it "
+"carries nothing, load
returns null
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/object.txt:56
+#, no-wrap
+msgid "Examples"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:58
+#, no-wrap
+msgid ""
+"The type object
returns the special value null
when the object does not exist. For example:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/object.txt:67
+#, no-wrap
+msgid ""
+"\tobject a;\n"
+"\ta = radar(BotGrabberRoller);\n"
+"\tif ( a == null ) // object does not exist ?\n"
+"\t{\n"
+"\t}\n"
+"\tif ( a.position.z > 50 ) // is it on a mountain ?\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/object.txt:68
+#, no-wrap
+msgid "openfile
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:3
+#, no-wrap
+msgid ""
+"file
class but openfile returne "
+"a reference to a new instance of the file class. You "
+"must supply two parameters, the filename and the opening mode."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/openfile.txt:5
+#, no-wrap
+msgid "file handle = openfile(\"filename\", \"r\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/openfile.txt:8 cbot-help/open.txt:15
+#, no-wrap
+msgid ""
+"\"r\"
mode: open for reading.\n"
+"\"w\"
mode: open for writing."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/open.txt:1
+#, no-wrap
+msgid "Instruction open
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:3
+#, no-wrap
+msgid ""
+"Open a text file in the files/ folder. This is a method of the file
class. This is the reason why we always write "
+"handle.open()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:5
+#, no-wrap
+msgid "\thandle.open(\"test.txt\", \"w\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:7
+#, no-wrap
+msgid "To open a file, proceed as follows¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/open.txt:12
+#, no-wrap
+msgid ""
+"\tfile handle();\n"
+"\thandle.open(\"filename\", \"w\");\n"
+"\thandle.writeln(\"abc\");\n"
+"\thandle.close();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:17
+#, no-wrap
+msgid ""
+"Files can only be created and opened in the files/ folder which is located "
+"in the folder where Colobot has been installed. You cannot not create or "
+"open files that are located elsewhere than in the files/ folder."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/open.txt:20
+#, no-wrap
+msgid ""
+"file
, close
, "
+"readln
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/pointer.txt:1
+#, no-wrap
+msgid "References (for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:3
+#, no-wrap
+msgid ""
+"CBOT uses references for classes and arrays. Any class variable actually contains a reference to "
+"the instance. The instance actually contains the class fields. Several "
+"references can reference the same instance. A null
reference references nothing. You can compare an "
+"instance to a suitcase and a reference to a carrier. Each time we need a new "
+"suitcase we create a new instance with a carrier. But a suitcase can be "
+"carried by more than one carrier. A carrier who carries no suitcase is a "
+"null
reference."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"Test()
¦:\n"
+"a = 33
is referenced only by "
+"the newly created instance item
inside the fucntion "
+"Test
. At the end of Test
this newly created "
+"instance referenced by item
is automatically deleted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/pointer.txt:37
+#, no-wrap
+msgid ""
+"A function can return an instance¦:\n"
+"class
, new
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/point.txt:1
+#, no-wrap
+msgid "Type point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:5
+#, no-wrap
+msgid ""
+"Variables of this type contain the coordinates of a point in space. This "
+"type is made of three values that represent the x
, "
+"y
and z
coordinates.\n"
+"x
and y
correspond to the place on the ground. The "
+"positive x
axis faces towards east, the positive y
"
+"axis faces towards north. \n"
+"The z
value corresponds to the altitude above sea level. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:7
+#, no-wrap
+msgid "If you want to declare a variable of type point, you can write: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:9
+#, no-wrap
+msgid "\tpoint a (10, 20, 30);"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:11
+#, no-wrap
+msgid "You can also set the variable taking one value after another:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:16
+#, no-wrap
+msgid ""
+"\tpoint b;\n"
+"\tb.x = 10;\n"
+"\tb.y = 20;\n"
+"\tb.z = 30;"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:18
+#, no-wrap
+msgid "With these examples, the following condition is true:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/point.txt:22
+#, no-wrap
+msgid ""
+"\tif ( a == b )\n"
+"\t{\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/point.txt:24
+#, no-wrap
+msgid ""
+"private
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:3
+#, no-wrap
+msgid ""
+"Class members can be public (by "
+"default) or private. A member can be declared privat by putting "
+"private
before the type declaration of the member. Private "
+"members are not accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/private.txt:16
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by défault\n"
+"\tpublic int a; // als public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/private.txt:19
+#, no-wrap
+msgid ""
+"class
, public
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:1
+#, no-wrap
+msgid "Instruction public
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:3
+#, no-wrap
+msgid "This instruction has two distinct purposes¦:"
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/public.txt:4
+#, no-wrap
+msgid "Make a function available to other bots."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/public.txt:5
+#, no-wrap
+msgid "Make a class member accessible from outside the class definition."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:7
+#, no-wrap
+msgid "Instruction public
for functions"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:9
+#, no-wrap
+msgid ""
+"If you put public
before a function "
+"definition, you can make the function available to programs in other bots in "
+"the same mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:11
+#, no-wrap
+msgid "For example in the first bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:17
+#, no-wrap
+msgid ""
+"public void object::Segment(float dist, float angle)\n"
+"{\n"
+"\tmove(dist);\n"
+"\tturn(angle);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:19
+#, no-wrap
+msgid "And in another bot we would have¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:28
+#, no-wrap
+msgid ""
+"extern void object::Square( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i++ )\n"
+"\t{\n"
+"\t\tSegment(10, 90);\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:30
+#, no-wrap
+msgid ""
+"If you have declared a function public
, you cannot define a "
+"function with the same name and arguments in another bot of the same "
+"mission."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:32
+#, no-wrap
+msgid ""
+"If a bot containing a public
function is destroyed, the other "
+"bots that make use of this function will be stopped with an error."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/public.txt:33
+#, no-wrap
+msgid "Instruction public
for classes"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:35
+#, no-wrap
+msgid ""
+"Class members can be public (by default) or privat. A member can be declared private by putting "
+"private
before the member type. Private members are not "
+"accessible from outside the class definition."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/public.txt:48
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint b; // public by default\n"
+"\tpublic int a; // also public \n"
+"\tprivate point position; // privat\n"
+"}\n"
+"void Test()\n"
+"{\n"
+"\tMyClass item;\n"
+"\titem.a = item.b = 12; // ok\n"
+"\tmessage( item.position ); // this is an error\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/public.txt:51
+#, no-wrap
+msgid ""
+"class
, private
, functions
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/radar.txt:1
+#, no-wrap
+msgid "Instruction radar
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:3
+#, no-wrap
+msgid ""
+"With the instruction radar()
, you can look for objects like enemies, bots, buildings or raw materials."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Write in brackets the name of the object that you look "
+"for. Put the result in a variable of the type "
+"object
. Here is an example that looks for the closest ant:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:12
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:16
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:24
+#, no-wrap
+msgid ""
+"Category of the objects that should be detected. For "
+"example, when you are looking for an ant, write radar "
+"(AlienAnt)
. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:25
+#, no-wrap
+msgid "angle: float
(default value0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:30
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0
-> radar is facing straight ahead\n"
+"-90
-> radar is facing a quarter turn right\n"
+" 90
-> radar is facing a quarter turn left"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:31
+#, no-wrap
+msgid "focus: float
(default value360
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:33
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:34
+#, no-wrap
+msgid "min: float
(default value 0
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:36
+#, no-wrap
+msgid ""
+"Minimum detection distance, in meters. Objects that are closer than the "
+"minimum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:37
+#, no-wrap
+msgid "max: float
(Default value1000
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:39
+#, no-wrap
+msgid ""
+"Maximum detection distance, in meters. Objects that are farther away than "
+"the maximum distance will not be detected. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:40
+#, no-wrap
+msgid "way: float
(default value1
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:42
+#, no-wrap
+msgid ""
+"Determines which way the objects are detected. With value 1
, "
+"returns the closest object found in the specified zone. With value "
+"-1
, the farthest object in the zone will be returned. "
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:43 cbot-help/retobj.txt:10 cbot-help/search.txt:13
+#, no-wrap
+msgid "Return value: object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:45
+#, no-wrap
+msgid ""
+"Returns the first object found that corresponds to the specified category in "
+"the specified zone. If no object was found, returns the value null
."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/radar.txt:46
+#, no-wrap
+msgid "Remark"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:48
+#, no-wrap
+msgid ""
+"You do not have to give all the parameters. Here are two examples of "
+"instructions that are equivalent: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:51
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/radar.txt:54
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/radar.txt:57
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated "
+"above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar "
+"(AlienAnt)
detects the closest ant, wherever it may be. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/readln.txt:1
+#, no-wrap
+msgid "Instruction readln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:3
+#, no-wrap
+msgid ""
+"Read one line from an open file in the files/ folder. This is a method of "
+"the file
class. This is the reason why we "
+"always write handle.readln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:5
+#, no-wrap
+msgid "\ts = handle.readln();"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/readln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for reading (\"r\"
) with the "
+"open
instruction. readln
returns "
+"the string containing the whole line but without the end of line characters "
+"0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/readln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, writeln
and eof
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/receive.txt:1
+#, no-wrap
+msgid "Instruction receive
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/receive.txt:4
+#, no-wrap
+msgid "nan
is returned."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/receive.txt:18
+#, no-wrap
+msgid ""
+"send
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/recycle.txt:1
+#, no-wrap
+msgid "Instruction recycle
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/recycle.txt:4
+#, no-wrap
+msgid "== 0
the derelict bot has been recycled\n"
+"!= 0
error, no derelict bot could be recycled"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/retobj.txt:1
+#, no-wrap
+msgid "Instruction retobject
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/retobj.txt:4
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:9
+#, no-wrap
+msgid ""
+"Number of the object, between 0 and n. \"n\" represents the total number of "
+"objects in the scene. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/retobj.txt:12
+#, no-wrap
+msgid ""
+"Object corresponding to the number. The return value null
means that no object corresponds to this number, "
+"because the number was too high, and there are not so many objects in the "
+"scene. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/return.txt:1
+#, no-wrap
+msgid "Instruction return
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:3
+#, no-wrap
+msgid "Returns from a function. Syntax:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:8
+#, no-wrap
+msgid ""
+"void function ( )\n"
+"{\n"
+"\treturn;\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/return.txt:11
+#, no-wrap
+msgid ""
+"If the function has a return type, the "
+"return
instruction must be followed by the value to be "
+"returned:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:16
+#, no-wrap
+msgid ""
+"float Pi ( )\n"
+"{\n"
+"\treturn 3.1415;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:21
+#, no-wrap
+msgid ""
+"float Mean (float a, float b)\n"
+"{\n"
+"\treturn (a+b)/2;\n"
+"}"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/return.txt:28
+#, no-wrap
+msgid ""
+"string Sign (float a)\n"
+"{\n"
+"\tif ( a > 0 ) return \"positive\";\n"
+"\tif ( a < 0 ) return \"négative\";\n"
+"\treturn \"null\";\n"
+"}"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/search.txt:1
+#, no-wrap
+msgid "Instruction search
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/search.txt:4
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:12
+#, no-wrap
+msgid ""
+"search
returns the object of the given category that is closest "
+"to the position indicated here. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/search.txt:15
+#, no-wrap
+msgid ""
+"Characteristics of the object that has been found. The value null
means that no object of this category has been "
+"found. "
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/send.txt:1
+#, no-wrap
+msgid "Instruction send
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/send.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:13
+#, no-wrap
+msgid "Value of the information to be sent."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:16
+#, no-wrap
+msgid ""
+"Power of the transmitter, which corresponds to the maximal distance to where "
+"information can be the sent. Default value is 10 metres."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/send.txt:19
+#, no-wrap
+msgid ""
+"receive
, testinfo
and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/shield.txt:1
+#, no-wrap
+msgid "Instruction shield
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/shield.txt:4
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:11
+#, no-wrap
+msgid ""
+"1
activates the shield.\n"
+"0
deactivates the shield\n"
+"A normal power cell fully charged can maintain the "
+"shield active during 20 seconds. When the cell is empty, the shield "
+"deactivates."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/shield.txt:12
+#, no-wrap
+msgid "radius: float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/shield.txt:14
+#, no-wrap
+msgid "Radius of the shield, ranging between 10 and 25 meters."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sizeof.txt:1
+#, no-wrap
+msgid "Instruction sizeof
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:4
+#, no-wrap
+msgid ""
+"The sizeof function lets you know the number of elements contained in an array.\n"
+"That is the index of the last element plus one (\"empty\" elements are "
+"counted)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:10
+#, no-wrap
+msgid ""
+"{\n"
+"\tint a[12];\n"
+"\ta[5] = 345;\n"
+"\tmessage( sizeof(a) ); // will display 6\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:12
+#, no-wrap
+msgid ""
+"In this example we have 6 elements in the array after "
+"a[5]=345
. The non initialized elements [0]
, "
+"[1]
, [2]
, [3]
and [4]
"
+"will be counted."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sizeof.txt:14
+#, no-wrap
+msgid "With multidimensionnal arrays you can get the size of a sub array:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sizeof.txt:20
+#, no-wrap
+msgid ""
+"float xy[][]; // 2 dimensionnal array\n"
+"xy[5][10] = 67;\n"
+"message( sizeof(xy) ); // will display 6\n"
+"message( sizeof(xy[5]) ); // will display 11\n"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/sniff.txt:1
+#, no-wrap
+msgid "Instruction sniff
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/sniff.txt:4
+#, no-wrap
+msgid "TitaniumSpot
-> Red cross\n"
+"UraniumSpot
-> Yellow circle\n"
+"PowerSpot
-> Green cross"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/sniff.txt:15
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
sounding performed\n"
+"!= 0
sounding impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/space.txt:1
+#, no-wrap
+msgid "Instruction space
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/space.txt:4
+#, no-wrap
+msgid "point
(default: bot position)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:9
+#, no-wrap
+msgid "Desired position of the free space."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:10
+#, no-wrap
+msgid "rmin: float
(default value: 8
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:12
+#, no-wrap
+msgid "Minimum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:13
+#, no-wrap
+msgid "rmax: float
(default value: 50
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:15
+#, no-wrap
+msgid "Maximum distance from the desired position."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:16
+#, no-wrap
+msgid "dist: float
(default value: 4
)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:18
+#, no-wrap
+msgid "Required distance between two free spaces."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/space.txt:19
+#, no-wrap
+msgid "Return: point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/space.txt:21
+#, no-wrap
+msgid "Position of the free space."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/static.txt:1
+#, no-wrap
+msgid "Instruction static
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:3
+#, no-wrap
+msgid ""
+"Class members declared with static
are shared "
+"between all instances of the class."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/static.txt:17
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tstatic int nb = 1;\n"
+"\tstatic string [ ] list = null;\n"
+"}\n"
+"void Test ()\n"
+"{\n"
+"\tMyClasse item1();\n"
+"\tMyClasse item2();\n"
+"\titem1.nb = 3;\n"
+"\titem1.list[item1.nb] = \"Hello\";\n"
+"\tmessage( item2.list[item2.nb] ); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:19
+#, no-wrap
+msgid ""
+"Static
members can be declared private
so they will be only acessible from within "
+"class members (including constructors and destructors)."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/static.txt:22
+#, no-wrap
+msgid ""
+"class
, synchronized
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strfind.txt:1
+#, no-wrap
+msgid "Instruction strfind
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:3
+#, no-wrap
+msgid ""
+"Find a substring in a string and returns the position of the first substring "
+"found or nan if the substring has not been found."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:6
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:9
+#, no-wrap
+msgid "String we are searching in."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/strfind.txt:10
+#, no-wrap
+msgid "sub: string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:12
+#, no-wrap
+msgid "Substring we are searching for."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strfind.txt:14 cbot-help/strleft.txt:11 cbot-help/strlen.txt:8 cbot-help/strlower.txt:8 cbot-help/strmid.txt:14 cbot-help/strright.txt:11 cbot-help/strupper.txt:8 cbot-help/strval.txt:5 cbot-help/strval.txt:12 cbot-help/writeln.txt:12
+#, no-wrap
+msgid "Examples¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strfind.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/string.txt:1
+#, no-wrap
+msgid "Type string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:3
+#, no-wrap
+msgid "Use a variable of this type for storing characters or strings."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/string.txt:5
+#, no-wrap
+msgid "For example: "
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:9
+#, no-wrap
+msgid ""
+"+
operator :"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/string.txt:12
+#, no-wrap
+msgid "strlen
Get string length\n"
+"strleft
Extract left part\n"
+"strright
Extract right part\n"
+"strmid
Extract center part\n"
+"strfind
Find a substring.\n"
+"strval
Convert string to number\n"
+"strupper
Convert to upper case\n"
+"strlower
Convert to lower case"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strleft.txt:1
+#, no-wrap
+msgid "Instruction strleft
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:3
+#, no-wrap
+msgid "Extracts the first (that is, leftmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strleft.txt:9 cbot-help/strmid.txt:12 cbot-help/strright.txt:9
+#, no-wrap
+msgid "Number of characters to be extracted."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strleft.txt:13
+#, no-wrap
+msgid ""
+"strlen
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlen.txt:1
+#, no-wrap
+msgid "Instruction strlen
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlen.txt:3
+#, no-wrap
+msgid "Get the length of a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlen.txt:6
+#, no-wrap
+msgid "strleft
, strright
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strlower.txt:1
+#, no-wrap
+msgid "Instruction strlower
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strlower.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to lowercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strlower.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strupper
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strmid.txt:1
+#, no-wrap
+msgid "Instruction strmid
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:3
+#, no-wrap
+msgid ""
+"Extracts a substring of a given length starting at a given position from a "
+"string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:6
+#, no-wrap
+msgid "int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strmid.txt:9
+#, no-wrap
+msgid ""
+"The index of the first character that is to be included in the extracted "
+"substring."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strmid.txt:17
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strright.txt:1
+#, no-wrap
+msgid "Instruction strright
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strright.txt:3
+#, no-wrap
+msgid "Extracts the last (that is, rightmost) characters from a string."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strright.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strmid
, "
+"strfind
, strval
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strupper.txt:1
+#, no-wrap
+msgid "Instruction strupper
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strupper.txt:3
+#, no-wrap
+msgid "Convert all characters in a string to uppercase."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strupper.txt:6
+#, no-wrap
+msgid "strlen
, strleft
, strright
, "
+"strmid
, strfind
, strval
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/strval.txt:1
+#, no-wrap
+msgid "Instruction strval
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/strval.txt:3
+#, no-wrap
+msgid ""
+"Convert a string to a number. Don't confuse the string \"45\"
"
+"that contains actually the two characters 4
and 5
"
+"and the number 45
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/strval.txt:7
+#, no-wrap
+msgid ""
+"strlen
, strleft
, strright
, "
+"strmid
, strfind
, strupper
, "
+"strlower
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/synchro.txt:1
+#, no-wrap
+msgid "Instruction synchronized
(for specialists)"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:3
+#, no-wrap
+msgid ""
+"A class method can be declared "
+"synchronized
. This is to make sure that the method is never "
+"being executed by more than one bot at the same time."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:5
+#, no-wrap
+msgid "The following example illustrates the problem:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/synchro.txt:17
+#, no-wrap
+msgid ""
+"class blocking\n"
+"{\n"
+"\tstatic int nb = 33;\n"
+"\tsynchronized int inc( )\n"
+"\t{\n"
+"\t\tint val = nb;\n"
+"\t\twait ( 2 ); // wait 2 sec.\n"
+"\t\tnb = nb + 1;\n"
+"\t\treturn val;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:20
+#, no-wrap
+msgid ""
+"What happens if two bots execute the inc
method at the same "
+"time¦?\n"
+"Both of them will execute val=nb
and wait 2 seconds so both of "
+"them will have val=33
. With synchronized
the first "
+"bot starts execution with val=33
and then waits 2 seconds and "
+"returns. Only once the first bot has returned from the inc
"
+"method, the second bot will be allowed to enter the inc
method "
+"and therefore the second bot will always have val=34
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:22
+#, no-wrap
+msgid ""
+"You can have more than one synchronized method in your class in order to prevent simultaneous execution across more "
+"than one method. In other words: as long as a bot's program is inside a "
+"synchronized method, no other bot can enter any synchronized method of the "
+"same class."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/synchro.txt:25
+#, no-wrap
+msgid ""
+"class
, static
\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/term.txt:1
+#, no-wrap
+msgid "Semicolon"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/term.txt:3
+#, no-wrap
+msgid "Always use a semicolon while
, if
or for
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/term.txt:19
+#, no-wrap
+msgid ""
+"\tif ( a < b ) testinfo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/testinfo.txt:4
+#, no-wrap
+msgid "false
. Default value is 10 metres."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/testinfo.txt:13
+#, no-wrap
+msgid "Return: bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:15
+#, no-wrap
+msgid ""
+"Return true
if the information exists. Return and "
+"false
if the information does not exist or if the receiver is "
+"too far away from the exchange post."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/testinfo.txt:18
+#, no-wrap
+msgid ""
+"receive
, send
"
+"and deleteinfo
.\n"
+"Programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/this.txt:1
+#, no-wrap
+msgid "Instruction this
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:3
+#, no-wrap
+msgid ""
+"Occasionally, a class method needs to know the reference "
+"to the instance it is acting upon. For example the instance might want to "
+"pass it's own reference to another function. An implicit reference name "
+"this
is available to methods and this
is a "
+"reference to the current instance."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:26
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint m_int;\n"
+"\tstring m_str;\n"
+"\tvoid MyFunction()\n"
+"\t{\n"
+"\t\tOtherFunction(this);\n"
+"\t\tm_int = 2;\n"
+"\t}\n"
+"}\n"
+"\n"
+"void OtherFunction(MyClass obj)\n"
+"{\n"
+"\tmessage(obj.m_str);\n"
+"}\n"
+"\n"
+"extern void object::Test()\n"
+"{\n"
+"\tMyClass item();\n"
+"\titem.m_str = \"Hello\";\n"
+"\titem.MyFunction(); // display \"Hello\"\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:28
+#, no-wrap
+msgid ""
+"You can also put this
before a field name in a method but this "
+"is not necessary. In the example above in the method "
+"MyFunction()
following two lines have strictly the same "
+"meaning:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:31
+#, no-wrap
+msgid ""
+"\tm_int = 2;\n"
+"\tthis.m_int = 2; // identical"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:33
+#, no-wrap
+msgid ""
+"In a method of the object
class, you can "
+"also use this.
before a fieldname."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:40
+#, no-wrap
+msgid ""
+"extern void object::Display()\n"
+"{\n"
+"\tmessage(orientation);\n"
+"\tmessage(this.orientation); // same thing but\n"
+"\t // more explicit\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:42
+#, no-wrap
+msgid ""
+"However if a field name is hidden by a parameter declaration or a variable "
+"declaration you must use this
. In the following example the "
+"name value
of the parameter is the same as the name of the "
+"field value
of the class "
+"MyClass
, we must therefore write this.value
in "
+"order to distinguish the field from the parameter."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/this.txt:51
+#, no-wrap
+msgid ""
+"public class MyClass\n"
+"{\n"
+"\tint value;\n"
+"\tvoid Put( int value )\n"
+"\t{\n"
+"\t\tthis.value = value;\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/this.txt:54
+#, no-wrap
+msgid ""
+"class
\n"
+"Programming, types et catégories."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/thump.txt:1
+#, no-wrap
+msgid "Instruction thump
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/thump.txt:4
+#, no-wrap
+msgid "== 0
Thumping performed\n"
+"!= 0
Operation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/topo.txt:1
+#, no-wrap
+msgid "Instruction topo
"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/topo.txt:4
+#, no-wrap
+msgid "true
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/true.txt:3
+#, no-wrap
+msgid ""
+"This value means that a condition is true; it is one of the two values that "
+"a boolean variable can take."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/turn.txt:1
+#, no-wrap
+msgid "Instruction turn
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:3
+#, no-wrap
+msgid ""
+"Use the instruction direction()
:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:15
+#, no-wrap
+msgid ""
+"\titem = radar(AlienSpider);\n"
+"\tturn(direction(item.position));"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:17
+#, no-wrap
+msgid ""
+"After these lines, just fire the cannon, and there is one hostile element "
+"less."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/turn.txt:21
+#, no-wrap
+msgid "turn(180)
turns round completely. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/turn.txt:31
+#, no-wrap
+msgid ""
+"Zero if everything is OK, or a value different from zero if an error "
+"occurred. \n"
+"== 0
rotation performed\n"
+"!= 0
rotation impossible"
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/type.txt:1
+#, no-wrap
+msgid "Variable types"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:3
+#, no-wrap
+msgid "When you define a variable, you must give two elements: "
+msgstr ""
+
+#. type: Bullet: '1)'
+#: cbot-help/type.txt:4
+#, no-wrap
+msgid "a name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/type.txt:5
+#, no-wrap
+msgid "a type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:8
+#, no-wrap
+msgid ""
+"Once you defined a variable, you can use it to put information in "
+"it. However, the information that a variable can contain must always be of "
+"the correct type: a variable of type float can not contain "
+"a string, etc."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:10
+#, no-wrap
+msgid ""
+"In a program, the name of a type is always written on int
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:13
+#, no-wrap
+msgid "For a whole number (12, -500, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:15
+#, no-wrap
+msgid "float
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:16
+#, no-wrap
+msgid "For a real number (12, 3.14, 0.2, -99.98, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:18
+#, no-wrap
+msgid "bool
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:19
+#, no-wrap
+msgid ""
+"For a boolean variable, that can only take the values true
or "
+"false
."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:21
+#, no-wrap
+msgid "string
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:22
+#, no-wrap
+msgid "For texts (\"Hello!\", \"No object found\", etc.)"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:24
+#, no-wrap
+msgid "point
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:25
+#, no-wrap
+msgid ""
+"For the coordinates of a point in space; a variable of this type consists of "
+"three parts named x, y and z."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:27
+#, no-wrap
+msgid "object
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:28
+#, no-wrap
+msgid ""
+"A variable of this type contains the information about an object (bot, "
+"building, enemy, etc.)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/type.txt:30
+#, no-wrap
+msgid "void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/type.txt:31
+#, no-wrap
+msgid ""
+"This type is an \"empty type\", that you use when you do not want to specify "
+"a type."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/var.txt:1
+#, no-wrap
+msgid "Variables"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:3
+#, no-wrap
+msgid ""
+"A variable is like a box, where you can put some information. The content of "
+"the variable can change during the execution of the program."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:5
+#, no-wrap
+msgid ""
+"For example, you can use a variable to count the number of titanium ore "
+"units that the grabber has collected and carried to the converter. First, "
+"you must find a name for it: the name should not be too long, but explain by "
+"itself what the variable is used for. Let's call it "
+"countTit
. This variable must contain only whole numbers, so "
+"choose the type int
. At the beginning of the program, you must "
+"declare the variable. Then you put the value 0
into the "
+"variable, and every time you grab a titanium ore, you increase the variable "
+"by 1
. At every moment, the variable contains the number of "
+"titanium ore units that the grabber collected."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:8
+#, no-wrap
+msgid ""
+"For the declaration of the variable, write the following line: \n"
+"0
into the variable, write:\n"
+"dist
, direct
, "
+"p2
, a
, x
, "
+"nothing_2_shoot_at
, etc.\n"
+"A variable name must always begin with a letter. It can be followed by any "
+"combination of letters, digits or the underscore character "
+"_
. You can of course not use the keywords of the CBOT language "
+"like for
, while
, "
+"break
, continue
, do
, etc.\n"
+"You should be careful about the choice of the names that you give to "
+"variables; writing a program can become very difficult if you forget the "
+"names of variables or if you do not remember what they are used "
+"for. Elaborate your own system to find variable names, and do not use names "
+"like Bmo45
, a
or tgBinX
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:20
+#, no-wrap
+msgid ""
+"In the example above, the keyword int
indicates that this "
+"variable can contain only whole numbers, which is adequate to counting "
+"objects. If you want to measure a distance, better use a variable that can "
+"contain also real numbers, with a fractional part (like 3.45 or 0.034): in "
+"this case, use the type float
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:22
+#, no-wrap
+msgid "In fact, a variable is made up of three parts:\n"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:22 cbot-help/var.txt:26
+#, no-wrap
+msgid "the name"
+msgstr ""
+
+#. type: Bullet: '2)'
+#: cbot-help/var.txt:23
+#, no-wrap
+msgid "the type of the information stored inside"
+msgstr ""
+
+#. type: Bullet: '3)'
+#: cbot-help/var.txt:24
+#, no-wrap
+msgid "the content, i.e. the information itself"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:28
+#, no-wrap
+msgid ""
+"You need the name to be able to distinguish the different variables from "
+"each other."
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:29
+#, no-wrap
+msgid "the type"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid ""
+"The type determines what kind of information the variable "
+"can contain. According to the type, a variable can contain a whole number, a "
+"real number, a string, the coordinates of a point, information about an "
+"object, etc. \n"
+"Here is a list of the most common variable types:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:32
+#, no-wrap
+msgid "int
for a whole number (12, -500, etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:33
+#, no-wrap
+msgid ""
+"float
for a real number (3.14, 0.2, -99.98, "
+"etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:34
+#, no-wrap
+msgid ""
+"string
for a character string (\"Hello!\", "
+"\"No object found\", etc.)"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:35
+#, no-wrap
+msgid "point
for a x,y,z-coordinate in space"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/var.txt:36
+#, no-wrap
+msgid ""
+"object
for information about an object (bot, "
+"building, etc.)"
+msgstr ""
+
+#. type: \t; header
+#: cbot-help/var.txt:38
+#, no-wrap
+msgid "The content"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:40
+#, no-wrap
+msgid ""
+"The content of a variable is an information of the kind specified in the "
+"type. It can change during the execution of the program. "
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:43
+#, no-wrap
+msgid ""
+"Once you declared a variable, it still does not contain any value. Before "
+"you can use it, you must put a value inside: \n"
+"=
, "
+"the value on the right side is copied into the value on the left "
+"side. Consider the following example: \n"
+"i
and j
"
+"contain the value 13
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/var.txt:59
+#, no-wrap
+msgid ""
+"The following assignment is not correct, because on the left side of the "
+"equals sign =
, there can be only a variable name:\n"
+"a
and b
:\n"
+"void
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:3
+#, no-wrap
+msgid "Use this type when you want to declare a function that returns nothing."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/void.txt:6
+#, no-wrap
+msgid ""
+"Example:\n"
+"wait
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/wait.txt:3
+#, no-wrap
+msgid ""
+"The instruction while
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:3
+#, no-wrap
+msgid ""
+"The instruction while () {}
is used to repeat a set of "
+"instructions several times."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid ""
+"The most frequent use of while
consists in repeating a set of "
+"instructions again and again. In order to achieve this, write while "
+"(true) {}
and put the instructions to be repeated in braces "
+"{}
. As an example, here is a program that repeats again and "
+"again the following actions:\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:6
+#, no-wrap
+msgid "look for a spider,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:7
+#, no-wrap
+msgid "turn towards it,"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: cbot-help/while.txt:8
+#, no-wrap
+msgid "shoot."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:16
+#, no-wrap
+msgid ""
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(AlienSpider);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:18
+#, no-wrap
+msgid "Just execute this program once, and it will kill all spiders around it."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/while.txt:25
+#, no-wrap
+msgid ""
+"while ( condition )\n"
+"{\n"
+"\t
Instructions ...while( ) { }
with the "
+"instruction while ( "
+")
."
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/while.txt:45
+#, no-wrap
+msgid ""
+"The instructions break
and continue
can be useful inside a block following the "
+"instruction while { }
."
+msgstr ""
+
+#. type: \b; header
+#: cbot-help/writeln.txt:1
+#, no-wrap
+msgid "Instruction writeln
"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:3
+#, no-wrap
+msgid ""
+"Write one line of text to an open file in the files/ folder. This is a "
+"method of the file
class. This is the reason "
+"why we always write handle.writeln()
¦:"
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:5
+#, no-wrap
+msgid "\thandle.writeln(\"abc\");"
+msgstr ""
+
+#. type: Plain text
+#: cbot-help/writeln.txt:7
+#, no-wrap
+msgid ""
+"The file must have been opened for writing (\"w\"
) with the "
+"open
instruction. The line will automatically "
+"be terminated by the end of line characters 0x0D (CR) and 0x0A (LF)."
+msgstr ""
+
+#. type: \s; block (usually verbatim code)
+#: cbot-help/writeln.txt:10
+#, no-wrap
+msgid "file
, open
, "
+"close
, readln
"
+"and eof
.\n"
+"Programming, types and categories."
+msgstr ""
diff --git a/help/D/authors.txt b/help/generic/D/authors.txt
similarity index 100%
rename from help/D/authors.txt
rename to help/generic/D/authors.txt
diff --git a/help/D/cbot.txt b/help/generic/D/cbot.txt
similarity index 100%
rename from help/D/cbot.txt
rename to help/generic/D/cbot.txt
diff --git a/help/D/command.txt b/help/generic/D/command.txt
similarity index 100%
rename from help/D/command.txt
rename to help/generic/D/command.txt
diff --git a/help/generic/D/licences.txt b/help/generic/D/licences.txt
new file mode 100644
index 00000000..f892ed07
--- /dev/null
+++ b/help/generic/D/licences.txt
@@ -0,0 +1,3 @@
+The photograph of the nebula NGC3606 illuminating the sky on Orpheon and the installation program was taken with the Hubble space telescope. It is used with the permission of the authors Wolfgang Brandner (JPL/IPAC), Eva K. Grebel (Washington University), You-Hua Chu (Illinois Urbana-Champaign University) and NASA.
+
+The thunder sound on Orpheon is used by limited permission from CREATIVE.
diff --git a/help/D/navig.txt b/help/generic/D/navig.txt
similarity index 100%
rename from help/D/navig.txt
rename to help/generic/D/navig.txt
diff --git a/help/D/win.txt b/help/generic/D/win.txt
similarity index 100%
rename from help/D/win.txt
rename to help/generic/D/win.txt
diff --git a/help/E/authors.txt b/help/generic/E/authors.txt
similarity index 100%
rename from help/E/authors.txt
rename to help/generic/E/authors.txt
diff --git a/help/E/cbot.txt b/help/generic/E/cbot.txt
similarity index 100%
rename from help/E/cbot.txt
rename to help/generic/E/cbot.txt
diff --git a/help/E/command.txt b/help/generic/E/command.txt
similarity index 100%
rename from help/E/command.txt
rename to help/generic/E/command.txt
diff --git a/help/generic/E/licences.txt b/help/generic/E/licences.txt
new file mode 100644
index 00000000..f892ed07
--- /dev/null
+++ b/help/generic/E/licences.txt
@@ -0,0 +1,3 @@
+The photograph of the nebula NGC3606 illuminating the sky on Orpheon and the installation program was taken with the Hubble space telescope. It is used with the permission of the authors Wolfgang Brandner (JPL/IPAC), Eva K. Grebel (Washington University), You-Hua Chu (Illinois Urbana-Champaign University) and NASA.
+
+The thunder sound on Orpheon is used by limited permission from CREATIVE.
diff --git a/help/E/navig.txt b/help/generic/E/navig.txt
similarity index 100%
rename from help/E/navig.txt
rename to help/generic/E/navig.txt
diff --git a/help/E/win.txt b/help/generic/E/win.txt
similarity index 100%
rename from help/E/win.txt
rename to help/generic/E/win.txt
diff --git a/help/F/authors.txt b/help/generic/F/authors.txt
similarity index 100%
rename from help/F/authors.txt
rename to help/generic/F/authors.txt
diff --git a/help/F/cbot.txt b/help/generic/F/cbot.txt
similarity index 100%
rename from help/F/cbot.txt
rename to help/generic/F/cbot.txt
diff --git a/help/F/command.txt b/help/generic/F/command.txt
similarity index 100%
rename from help/F/command.txt
rename to help/generic/F/command.txt
diff --git a/help/generic/F/licences.txt b/help/generic/F/licences.txt
new file mode 100644
index 00000000..678e109a
--- /dev/null
+++ b/help/generic/F/licences.txt
@@ -0,0 +1,4 @@
+La photo de la nébuleuse NGC3603 servant de fond pour la planète Orphéon a été prise avec le télescope spatial Hubble. Elle est utilisée avec l'autorisation des auteurs Wolfgang Brandner (JPL/IPAC), Eva K. Grebel (Université de Washington), You-Hua Chu (Université d'Illinois Urbana-Champaign) et de la NASA.
+
+Le son de tonnerre de la planète Orphéon est utilisé avec l'autorisation limitée de CREATIVE moyennant la mention:
+Material from products are used by limited permission from CREATIVE.
diff --git a/help/F/navig.txt b/help/generic/F/navig.txt
similarity index 100%
rename from help/F/navig.txt
rename to help/generic/F/navig.txt
diff --git a/help/F/win.txt b/help/generic/F/win.txt
similarity index 100%
rename from help/F/win.txt
rename to help/generic/F/win.txt
diff --git a/help/P/authors.txt b/help/generic/P/authors.txt
similarity index 100%
rename from help/P/authors.txt
rename to help/generic/P/authors.txt
diff --git a/help/P/Cbot.txt b/help/generic/P/cbot.txt
similarity index 100%
rename from help/P/Cbot.txt
rename to help/generic/P/cbot.txt
diff --git a/help/P/COMMAND.TXT b/help/generic/P/command.txt
similarity index 100%
rename from help/P/COMMAND.TXT
rename to help/generic/P/command.txt
diff --git a/help/generic/P/licences.txt b/help/generic/P/licences.txt
new file mode 100644
index 00000000..94fb2dd3
--- /dev/null
+++ b/help/generic/P/licences.txt
@@ -0,0 +1,3 @@
+Fotografia mgławicy NGC3606 oświetlająca niebo Orfenii oraz programu instalacyjnego została zrobiona teleskopem kosmicznym Hubble. Została ona użyta za zgodą autorów, którymi są: Wolfgang Brandner (JPL/IPAC), Eva K. Grebel (Washington University), You-Hua Chu (Illinois Urbana-Champaign University) oraz NASA.
+
+Dźwięk grzmotu na Orfenii został użyty za ograniczoną zgodą firmy CREATIVE.
diff --git a/help/P/navig.txt b/help/generic/P/navig.txt
similarity index 100%
rename from help/P/navig.txt
rename to help/generic/P/navig.txt
diff --git a/help/P/win.txt b/help/generic/P/win.txt
similarity index 100%
rename from help/P/win.txt
rename to help/generic/P/win.txt
diff --git a/help/generic/R/authors.txt b/help/generic/R/authors.txt
new file mode 100644
index 00000000..6daf36ae
--- /dev/null
+++ b/help/generic/R/authors.txt
@@ -0,0 +1,7 @@
+Команда разработчиков: Главные бета-тестеры:
+
+- Даниэль Рукс - Адриен Рукс - Майкл Джубин
+- Денис Думалин - Дидьер Рабуд - Даниэль Сутьер
+- Отто Килбл - Николас Бучат - Николас Стуби
+- Майкл Вальз - Джоуль Рукс - Патрик Твоз
+- Дидьер Герч
diff --git a/help/generic/R/cbot.txt b/help/generic/R/cbot.txt
new file mode 100644
index 00000000..69b64ed1
--- /dev/null
+++ b/help/generic/R/cbot.txt
@@ -0,0 +1,91 @@
+\b;Язык программирования CBOT
+Язык программирования CBOT по структуре и синтаксису очень напоминает C++ и Java. Он был приспособлен для специфических возможностей COLOBOT, и для эффективного метода обучения.
+Этот язык состоит из инструкций (см. ниже), \l;блоков\u cbot\bloc;, \l;переменных\u cbot\var;, \l;выражений\u cbot\expr; и \l;условий\u cbot\cond;.
+
+o \c;\token;Инструкции\norm;\n;
+В редакторе программы инструкции языка программирования CBOT всегда отображены на оранжевом фоне. Если для инструкции не появляется оранжевый фон, это значит, что она неправильно написана. Имена инструкций должны всегда быть написаны в нижнем регистре.
+
+o \c;\type;Тип\norm;\n;
+\l;Тип\u cbot\type; переменной выводится на зеленом фоне.
+
+o \c;\const;Константы\norm;\n;
+Константы, например \l;категории\u cbot\category;, выводятся на красном фоне.
+
+\t;Инструкции языка программирования CBOT:
+\c;\l;extern\u cbot\extern; \n;Объявление главной программы
+\c;\l;if\u cbot\if; \n;Выбор структуры(если)
+\c;\l;else\u cbot\if; \n;Альтернативный выбор структуры(то)
+\c;\l;for\u cbot\for; \n;Цикл с заданым значением и условием
+\c;\l;while\u cbot\while; \n;Цикл с предусловием
+\c;\l;do\u cbot\do; \n;Цикл с постусловием
+\c;\l;break\u cbot\break; \n;Выход из цикла
+\c;\l;continue\u cbot\continue; \n;Продолжение цикла
+\c;\l;return\u cbot\return; \n;Выход из функции
+\c;\l;sizeof\u cbot\sizeof; \n;Размер массива
+
+\t;Особенные инструкции для ботов:
+\c;\l;radar\u cbot\radar; \n;Поиск объекта
+\c;\l;direction\u cbot\direct; \n;Расчет угла поворота
+\c;\l;distance\u cbot\dist; \n;Расчет расстояния
+\c;\l;distance2d\u cbot\dist2d; \n;Расчет расстояния
+\c;\l;wait\u cbot\wait; \n;Ожидание
+\c;\l;move\u cbot\move; \n;Движение вперед или назад
+\c;\l;turn\u cbot\turn; \n;Поворот
+\c;\l;goto\u cbot\goto; \n;Переход к указанной позиции
+\c;\l;motor\u cbot\motor; \n;Прямое управление двигателем
+\c;\l;jet\u cbot\jet; \n;Прямое управление реактивным двигателем
+\c;\l;message\u cbot\message; \n;Выводит сообщение
+\c;\l;retobject\u cbot\retobj; \n;Возвращает объект из функции
+\c;\l;errmode\u cbot\errmode; \n;Устранение ошибок
+\c;\l;abstime\u cbot\abstime; \n;Возвращает абсолютное время
+
+\t;Инструкции, относящиеся к топологии:
+\c;\l;topo\u cbot\topo; \n;Возвращает высоту точки
+\c;\l;flatground\u cbot\flatgrnd; \n;Возвращает радиус плоской поверхности
+\c;\l;space\u cbot\space; \n;Расчет свободного места
+
+\t;Особенные инструкции для некоторых ботов:
+\c;\l;grab\u cbot\grab; \n;Поднять объект
+\c;\l;drop\u cbot\drop; \n;Положить объект
+\c;\l;sniff\u cbot\sniff; \n;Просканировать подпочву
+\c;\l;thump\u cbot\thump; \n;Удар
+\c;\l;recycle\u cbot\recycle; \n;Переработать бота
+\c;\l;shield\u cbot\shield; \n;Поднять или опустить щит
+\c;\l;fire\u cbot\fire; \n;Стрельба из орудия
+\c;\l;aim\u cbot\aim; \n;Угол наведения
+
+\t;Особенные инструкции для постов обмена информацией:
+\c;\l;receive\u cbot\receive; \n;Получить информацию
+\c;\l;send\u cbot\send; \n;Передать информацию
+\c;\l;testinfo\u cbot\testinfo; \n;Проверка на существование информации
+\c;\l;deleteinfo\u cbot\delinfo; \n;Удаление информации с поста
+
+\t;Особенные инструкции для классов:
+\c;\l;class\u cbot\class; \n;Объявление класса
+\c;\l;public\u cbot\public; \n;Объявить общедоступную функцию
+\c;\l;private\u cbot\private; \n;Объявить защищенный член класса
+\c;\l;static\u cbot\static; \n;Объявить статичный член класса
+\c;\l;synchronized\u cbot\synchro; \n;Предотвращение одновременного выполнения
+\c;\l;new\u cbot\new; \n;Создать новый экземпляр
+\c;\l;this\u cbot\this; \n;Ссылка на текущий экземпляр
+
+\t;Особенные инструкции для строк:
+\c;\l;strlen\u cbot\strlen; \n;Получить длину строки
+\c;\l;strleft\u cbot\strleft; \n;Взять левую часть строки
+\c;\l;strright\u cbot\strright; \n;Взять правую часть строки
+\c;\l;strmid\u cbot\strmid; \n;Взять центральную часть строки
+\c;\l;strfind\u cbot\strfind; \n;Найти подстрочку
+\c;\l;strval\u cbot\strval; \n;Конвертировать строку в число
+\c;\l;strupper\u cbot\strupper; \n;Конвертировать в большой регистр
+\c;\l;strlower\u cbot\strlower; \n;Конвертировать в маленький регистр
+
+\t;Специальные инструкции для файлов:
+\c;\l;open\u cbot\open; \n;Открыть файл
+\c;\l;close\u cbot\close; \n;Закрыть файл
+\c;\l;writeln\u cbot\writeln; \n;записать строку в файл
+\c;\l;readln\u cbot\readln; \n;Прочитать строку из файла
+\c;\l;eof\u cbot\eof; \n;Проверить конец файла
+\c;\l;deletefile\u cbot\deletef; \n;Удалить файл
+
+\t;См. также
+\l;Типы\u cbot\type; и \l;категории\u cbot\category;.
diff --git a/help/generic/R/command.txt b/help/generic/R/command.txt
new file mode 100644
index 00000000..1c6805ef
--- /dev/null
+++ b/help/generic/R/command.txt
@@ -0,0 +1,46 @@
+\b;Управление
+Советуем играть, держа одну руку на кнопках со стрелками, а вторую - на мыши.
+
+\t;Боты
+\key;\key left;\norm; = поворот влево
+\key;\key right;\norm; = поворот вправо
+\key;\key up;\norm; = вперед
+\key;\key down;\norm; = назад
+Эти клавиши управления недоступны при работе с \l;учебными ботами\u object\bottr;.
+
+\key;\key gup;\norm; = взлет и подъем \button 28;
+\key;\key gdown;\norm; = спуск и посадка \button 29;
+Конечно же, этими клавишами могут пользоваться только \l;астронавт\u object\human; и различные \l;летающие боты\u object\botgj;.
+
+
+Мышь вперед = поднять прицел
+Мышь назад = опустить прицел
+Мышь вправо = прицел вправо
+Мышь влево = прицел влево
+Эти движения доступны только для \l;стрелков\u object\botfr;, \l;орга-стрелков\u object\botor; и \l;фазерного стрелка\u object\botphaz;.
+
+\key;\key action;\norm; = основное действие для выбранного объекта (человек или бот)
+Эта клавиша, например, управляет рукой \l;сборщика\u object\botgr; или производит \l;выстрел\u object\botfr; \button 42;.
+
+\t;Выделения
+\key;\key next;\norm; = выбрать следующий объект
+\key;\key human;\norm; = выбрать астронавта
+\key;\key desel;\norm; = предыдущий объект \button 10;
+
+\t;Камера
+\key;\key camera;\norm; = переключения между бортовой и задней камерой \button 13;
+\key;\key near;\norm; = увеличение
+\key;\key away;\norm; = уменьшение
+\key;\key visit;\norm; = останавливает игру и показывает место, откуда появилось последнее сообщение. Нажмите еще раз, чтобы увидеть место, где появилось предыдущее сообщение.
+
+\t;Помощь
+\key;\key help;\norm; = инструкции миссии
+\key;\key prog;\norm; = помощь в программировании
+
+\t;Игра
+\key;\key speed10;\norm; = нормальная скорость x1
+\key;\key speed15;\norm; = средняя скорость x1.5
+\key;\key speed20;\norm; = высокая скорость x2
+\key;\key quit;\norm; = выход из миссии \button 11;
+
+Все эти клавиши можно переназначить в меню опции/управление.
diff --git a/help/generic/R/licences.txt b/help/generic/R/licences.txt
new file mode 100644
index 00000000..61b91394
--- /dev/null
+++ b/help/generic/R/licences.txt
@@ -0,0 +1,3 @@
+Фотография туманности NGC3606, освещающей небо Орфея и программа установки были получены с помощью космического телескопа Хаббл. Она используется с лоюбезного разрешения авторов Вольфганга Бранднера (JPL/IPAC), Эвы K. Гребель (Вашингтонский университет), Ю-Хуа Чу (Университет Иллинойса) и NASA.
+
+Звук грома на Орфее используется по ограниченному разрешению CREATIVE.
diff --git a/help/generic/R/navig.txt b/help/generic/R/navig.txt
new file mode 100644
index 00000000..045bae35
--- /dev/null
+++ b/help/generic/R/navig.txt
@@ -0,0 +1,22 @@
+\b;Навигация
+Три клавиши, размещенные в левом верхнем углу экрана, позволяют вам перемещаться по разнообразному тексту файла помощи:
+
+\button 30; Домой
+Возврат к домашней странице, то есть к первой отображенной странице. Например, когда вы нажимаете клавишу \key;\key help;\norm; или \key;\key prog;\norm; .
+
+\button 55; Назад
+Возврат к предыдущей странице, то есть к той странице, которая была отображена в то время, когда вы щелкнули на ссылке.
+
+\button 48; Дальше
+Снова перейти на следующую страницу, после того, как вы нажимали кнопки "Домой" или "Назад".
+
+\t;Комментарий
+Когда цвет кнопки серый, это означает, что ее нельзя использовать в этот момент. Например, когда вы находитесь на домашней странице, серой будет кнопка "Домой", так как в ее использовании нет смысла.
+
+Этот комментарий может быть применен для всех кнопок игры COLOBOT.
+
+\t;Прокрутка текста
+Если на вашей мышке есть колесо, вы можете использовать его для прокрутки текста вверх или вниз. Если же колеса нет, воспользуйтесь клавишами со стрелками или полосой прокрутки в правой части экрана.
+
+\t;Размер шрифта
+Курсор в верхней части экрана позволяет вам менять размер шрифта.
diff --git a/help/generic/R/win.txt b/help/generic/R/win.txt
new file mode 100644
index 00000000..cff5d427
--- /dev/null
+++ b/help/generic/R/win.txt
@@ -0,0 +1,3 @@
+
+Хьюстон поздравляет вас от имени всего человечества с успешным выполнением миссии.
+Большое переселение на Терра Нову начнется очень скоро.
diff --git a/help/generic/po/de.po b/help/generic/po/de.po
new file mode 100644
index 00000000..bb7c7144
--- /dev/null
+++ b/help/generic/po/de.po
@@ -0,0 +1,533 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR Instructions
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:7
+#, no-wrap
+msgid ""
+"In the program editor, an instruction in the CBOT language is always "
+"displayed on an orange background. If an instruction hasn't got an orange "
+"background, this means that it has been misspelled. Instruction names are "
+"always written in lower case. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:8
+#, no-wrap
+msgid "Type
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:10
+#, no-wrap
+msgid "The type of a variable appears with a green background. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:11
+#, no-wrap
+msgid "Constants
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:13
+#, no-wrap
+msgid ""
+"Constants like categories are displayed with a red "
+"background. "
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:14
+#, no-wrap
+msgid "Instructions in the CBOT language:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:25
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:26
+#, no-wrap
+msgid "Specific instructions for bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:41
+#, no-wrap
+msgid ""
+"radar
Object detection\n"
+"direction
Calculates a rotation angle\n"
+"distance
Calculates a distance\n"
+"distance2d
Calculates a distance\n"
+"wait
Waits\n"
+"move
Moves forward or backward\n"
+"turn
Turns\n"
+"goto
Goes to a given position\n"
+"motor
Direct motor control\n"
+"jet
Direct jet engine control\n"
+"message
Displays a message\n"
+"retobject
Returns an object from a "
+"function\n"
+"errmode
Error treatement control\n"
+"abstime
Returns the absolute time"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:42
+#, no-wrap
+msgid "Instructions about topology:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:46
+#, no-wrap
+msgid ""
+"space
Calculates a free space\n"
+"topo
Returns the altitude of a point\n"
+"flatground
Returns radius of a flat area"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:47
+#, no-wrap
+msgid "Instructions specific to some bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:56
+#, no-wrap
+msgid ""
+"grab
Picks up an object\n"
+"drop
Puts down an object\n"
+"sniff
Sounds the subsoil\n"
+"thump
Overturns alien insects\n"
+"recycle
Recycles a derelict bot\n"
+"shield
Extends or withdraws the shield\n"
+"fire
Fires the cannon\n"
+"aim
Vertical angle of the cannon"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:57
+#, no-wrap
+msgid "Specific instructions for exchange posts:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:62
+#, no-wrap
+msgid ""
+"receive
Receives an information\n"
+"send
Sends a new information\n"
+"testinfo
Tests if an information "
+"exists\n"
+"deleteinfo
Deletes an existing information"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:63
+#, no-wrap
+msgid "Specific instructions for classes:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:71
+#, no-wrap
+msgid ""
+"class
Class declararion\n"
+"public
Declares a public function\n"
+"private
Declares a private class "
+"member\n"
+"static
Declares a static class member\n"
+"synchronized
Prevents simultaneous "
+"execution\n"
+"new
Creates a new instance\n"
+"this
Reference to the current instance"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:72
+#, no-wrap
+msgid "Specific instructions for strings:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:81
+#, no-wrap
+msgid ""
+"strlen
Gets string length\n"
+"strleft
Extracts left part\n"
+"strright
Extracts right part\n"
+"strmid
Extracts center part\n"
+"strfind
Finds a substring.\n"
+"strval
Converts string to number\n"
+"strupper
Converts to upper case\n"
+"strlower
Converts to lower case"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:82
+#, no-wrap
+msgid "Specific instructions for files:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:89
+#, no-wrap
+msgid ""
+"open
Opens a file\n"
+"close
Closes a file\n"
+"writeln
Writes line to a file\n"
+"readln
Reads line from a file\n"
+"eof
Tests if end of file\n"
+"deletefile
Deletes a file"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:90
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:91
+#, no-wrap
+msgid "Types and categories."
+msgstr ""
+
+#. type: \b; header
+#: generic-help/command.txt:1
+#, no-wrap
+msgid "Controls"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:3
+#, no-wrap
+msgid ""
+"You are advised to play with one hand on the arrow keys and the other hand "
+"on the mouse."
+msgstr ""
+
+#. type: \t; header
+#: generic-help/command.txt:4
+#, no-wrap
+msgid "Bots"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:10
+#, no-wrap
+msgid ""
+"Instructions
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:7
+#, no-wrap
+msgid ""
+"In the program editor, an instruction in the CBOT language is always "
+"displayed on an orange background. If an instruction hasn't got an orange "
+"background, this means that it has been misspelled. Instruction names are "
+"always written in lower case. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:8
+#, no-wrap
+msgid "Type
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:10
+#, no-wrap
+msgid "The type of a variable appears with a green background. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:11
+#, no-wrap
+msgid "Constants
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:13
+#, no-wrap
+msgid ""
+"Constants like categories are displayed with a red "
+"background. "
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:14
+#, no-wrap
+msgid "Instructions in the CBOT language:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:25
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:26
+#, no-wrap
+msgid "Specific instructions for bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:41
+#, no-wrap
+msgid ""
+"radar
Object detection\n"
+"direction
Calculates a rotation angle\n"
+"distance
Calculates a distance\n"
+"distance2d
Calculates a distance\n"
+"wait
Waits\n"
+"move
Moves forward or backward\n"
+"turn
Turns\n"
+"goto
Goes to a given position\n"
+"motor
Direct motor control\n"
+"jet
Direct jet engine control\n"
+"message
Displays a message\n"
+"retobject
Returns an object from a "
+"function\n"
+"errmode
Error treatement control\n"
+"abstime
Returns the absolute time"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:42
+#, no-wrap
+msgid "Instructions about topology:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:46
+#, no-wrap
+msgid ""
+"space
Calculates a free space\n"
+"topo
Returns the altitude of a point\n"
+"flatground
Returns radius of a flat area"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:47
+#, no-wrap
+msgid "Instructions specific to some bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:56
+#, no-wrap
+msgid ""
+"grab
Picks up an object\n"
+"drop
Puts down an object\n"
+"sniff
Sounds the subsoil\n"
+"thump
Overturns alien insects\n"
+"recycle
Recycles a derelict bot\n"
+"shield
Extends or withdraws the shield\n"
+"fire
Fires the cannon\n"
+"aim
Vertical angle of the cannon"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:57
+#, no-wrap
+msgid "Specific instructions for exchange posts:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:62
+#, no-wrap
+msgid ""
+"receive
Receives an information\n"
+"send
Sends a new information\n"
+"testinfo
Tests if an information "
+"exists\n"
+"deleteinfo
Deletes an existing information"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:63
+#, no-wrap
+msgid "Specific instructions for classes:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:71
+#, no-wrap
+msgid ""
+"class
Class declararion\n"
+"public
Declares a public function\n"
+"private
Declares a private class "
+"member\n"
+"static
Declares a static class member\n"
+"synchronized
Prevents simultaneous "
+"execution\n"
+"new
Creates a new instance\n"
+"this
Reference to the current instance"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:72
+#, no-wrap
+msgid "Specific instructions for strings:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:81
+#, no-wrap
+msgid ""
+"strlen
Gets string length\n"
+"strleft
Extracts left part\n"
+"strright
Extracts right part\n"
+"strmid
Extracts center part\n"
+"strfind
Finds a substring.\n"
+"strval
Converts string to number\n"
+"strupper
Converts to upper case\n"
+"strlower
Converts to lower case"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:82
+#, no-wrap
+msgid "Specific instructions for files:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:89
+#, no-wrap
+msgid ""
+"open
Opens a file\n"
+"close
Closes a file\n"
+"writeln
Writes line to a file\n"
+"readln
Reads line from a file\n"
+"eof
Tests if end of file\n"
+"deletefile
Deletes a file"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:90
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:91
+#, no-wrap
+msgid "Types and categories."
+msgstr ""
+
+#. type: \b; header
+#: generic-help/command.txt:1
+#, no-wrap
+msgid "Controls"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:3
+#, no-wrap
+msgid ""
+"You are advised to play with one hand on the arrow keys and the other hand "
+"on the mouse."
+msgstr ""
+
+#. type: \t; header
+#: generic-help/command.txt:4
+#, no-wrap
+msgid "Bots"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:10
+#, no-wrap
+msgid ""
+"Instructions
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:7
+#, no-wrap
+msgid ""
+"In the program editor, an instruction in the CBOT language is always "
+"displayed on an orange background. If an instruction hasn't got an orange "
+"background, this means that it has been misspelled. Instruction names are "
+"always written in lower case. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:8
+#, no-wrap
+msgid "Type
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:10
+#, no-wrap
+msgid "The type of a variable appears with a green background. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:11
+#, no-wrap
+msgid "Constants
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:13
+#, no-wrap
+msgid ""
+"Constants like categories are displayed with a red "
+"background. "
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:14
+#, no-wrap
+msgid "Instructions in the CBOT language:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:25
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:26
+#, no-wrap
+msgid "Specific instructions for bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:41
+#, no-wrap
+msgid ""
+"radar
Object detection\n"
+"direction
Calculates a rotation angle\n"
+"distance
Calculates a distance\n"
+"distance2d
Calculates a distance\n"
+"wait
Waits\n"
+"move
Moves forward or backward\n"
+"turn
Turns\n"
+"goto
Goes to a given position\n"
+"motor
Direct motor control\n"
+"jet
Direct jet engine control\n"
+"message
Displays a message\n"
+"retobject
Returns an object from a "
+"function\n"
+"errmode
Error treatement control\n"
+"abstime
Returns the absolute time"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:42
+#, no-wrap
+msgid "Instructions about topology:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:46
+#, no-wrap
+msgid ""
+"space
Calculates a free space\n"
+"topo
Returns the altitude of a point\n"
+"flatground
Returns radius of a flat area"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:47
+#, no-wrap
+msgid "Instructions specific to some bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:56
+#, no-wrap
+msgid ""
+"grab
Picks up an object\n"
+"drop
Puts down an object\n"
+"sniff
Sounds the subsoil\n"
+"thump
Overturns alien insects\n"
+"recycle
Recycles a derelict bot\n"
+"shield
Extends or withdraws the shield\n"
+"fire
Fires the cannon\n"
+"aim
Vertical angle of the cannon"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:57
+#, no-wrap
+msgid "Specific instructions for exchange posts:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:62
+#, no-wrap
+msgid ""
+"receive
Receives an information\n"
+"send
Sends a new information\n"
+"testinfo
Tests if an information "
+"exists\n"
+"deleteinfo
Deletes an existing information"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:63
+#, no-wrap
+msgid "Specific instructions for classes:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:71
+#, no-wrap
+msgid ""
+"class
Class declararion\n"
+"public
Declares a public function\n"
+"private
Declares a private class "
+"member\n"
+"static
Declares a static class member\n"
+"synchronized
Prevents simultaneous "
+"execution\n"
+"new
Creates a new instance\n"
+"this
Reference to the current instance"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:72
+#, no-wrap
+msgid "Specific instructions for strings:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:81
+#, no-wrap
+msgid ""
+"strlen
Gets string length\n"
+"strleft
Extracts left part\n"
+"strright
Extracts right part\n"
+"strmid
Extracts center part\n"
+"strfind
Finds a substring.\n"
+"strval
Converts string to number\n"
+"strupper
Converts to upper case\n"
+"strlower
Converts to lower case"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:82
+#, no-wrap
+msgid "Specific instructions for files:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:89
+#, no-wrap
+msgid ""
+"open
Opens a file\n"
+"close
Closes a file\n"
+"writeln
Writes line to a file\n"
+"readln
Reads line from a file\n"
+"eof
Tests if end of file\n"
+"deletefile
Deletes a file"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:90
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:91
+#, no-wrap
+msgid "Types and categories."
+msgstr ""
+
+#. type: \b; header
+#: generic-help/command.txt:1
+#, no-wrap
+msgid "Controls"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:3
+#, no-wrap
+msgid ""
+"You are advised to play with one hand on the arrow keys and the other hand "
+"on the mouse."
+msgstr ""
+
+#. type: \t; header
+#: generic-help/command.txt:4
+#, no-wrap
+msgid "Bots"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:10
+#, no-wrap
+msgid ""
+"Instructions
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:7
+#, no-wrap
+msgid ""
+"In the program editor, an instruction in the CBOT language is always "
+"displayed on an orange background. If an instruction hasn't got an orange "
+"background, this means that it has been misspelled. Instruction names are "
+"always written in lower case. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:8
+#, no-wrap
+msgid "Type
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:10
+#, no-wrap
+msgid "The type of a variable appears with a green background. "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: generic-help/cbot.txt:11
+#, no-wrap
+msgid "Constants
"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:13
+#, no-wrap
+msgid ""
+"Constants like categories are displayed with a red "
+"background. "
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:14
+#, no-wrap
+msgid "Instructions in the CBOT language:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:25
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:26
+#, no-wrap
+msgid "Specific instructions for bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:41
+#, no-wrap
+msgid ""
+"radar
Object detection\n"
+"direction
Calculates a rotation angle\n"
+"distance
Calculates a distance\n"
+"distance2d
Calculates a distance\n"
+"wait
Waits\n"
+"move
Moves forward or backward\n"
+"turn
Turns\n"
+"goto
Goes to a given position\n"
+"motor
Direct motor control\n"
+"jet
Direct jet engine control\n"
+"message
Displays a message\n"
+"retobject
Returns an object from a "
+"function\n"
+"errmode
Error treatement control\n"
+"abstime
Returns the absolute time"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:42
+#, no-wrap
+msgid "Instructions about topology:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:46
+#, no-wrap
+msgid ""
+"space
Calculates a free space\n"
+"topo
Returns the altitude of a point\n"
+"flatground
Returns radius of a flat area"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:47
+#, no-wrap
+msgid "Instructions specific to some bots:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:56
+#, no-wrap
+msgid ""
+"grab
Picks up an object\n"
+"drop
Puts down an object\n"
+"sniff
Sounds the subsoil\n"
+"thump
Overturns alien insects\n"
+"recycle
Recycles a derelict bot\n"
+"shield
Extends or withdraws the shield\n"
+"fire
Fires the cannon\n"
+"aim
Vertical angle of the cannon"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:57
+#, no-wrap
+msgid "Specific instructions for exchange posts:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:62
+#, no-wrap
+msgid ""
+"receive
Receives an information\n"
+"send
Sends a new information\n"
+"testinfo
Tests if an information "
+"exists\n"
+"deleteinfo
Deletes an existing information"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:63
+#, no-wrap
+msgid "Specific instructions for classes:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:71
+#, no-wrap
+msgid ""
+"class
Class declararion\n"
+"public
Declares a public function\n"
+"private
Declares a private class "
+"member\n"
+"static
Declares a static class member\n"
+"synchronized
Prevents simultaneous "
+"execution\n"
+"new
Creates a new instance\n"
+"this
Reference to the current instance"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:72
+#, no-wrap
+msgid "Specific instructions for strings:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:81
+#, no-wrap
+msgid ""
+"strlen
Gets string length\n"
+"strleft
Extracts left part\n"
+"strright
Extracts right part\n"
+"strmid
Extracts center part\n"
+"strfind
Finds a substring.\n"
+"strval
Converts string to number\n"
+"strupper
Converts to upper case\n"
+"strlower
Converts to lower case"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:82
+#, no-wrap
+msgid "Specific instructions for files:"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:89
+#, no-wrap
+msgid ""
+"open
Opens a file\n"
+"close
Closes a file\n"
+"writeln
Writes line to a file\n"
+"readln
Reads line from a file\n"
+"eof
Tests if end of file\n"
+"deletefile
Deletes a file"
+msgstr ""
+
+#. type: \t; header
+#: generic-help/cbot.txt:90
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/cbot.txt:91
+#, no-wrap
+msgid "Types and categories."
+msgstr ""
+
+#. type: \b; header
+#: generic-help/command.txt:1
+#, no-wrap
+msgid "Controls"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:3
+#, no-wrap
+msgid ""
+"You are advised to play with one hand on the arrow keys and the other hand "
+"on the mouse."
+msgstr ""
+
+#. type: \t; header
+#: generic-help/command.txt:4
+#, no-wrap
+msgid "Bots"
+msgstr ""
+
+#. type: Plain text
+#: generic-help/command.txt:10
+#, no-wrap
+msgid ""
+"AlienAnt
"
+msgstr ""
+
+#. type: \t; header
+#: object-help/ant.txt:10 object-help/atomic.txt:14 object-help/barrier.txt:7 object-help/base.txt:10 object-help/bbox.txt:13 object-help/bullet.txt:11 object-help/captor.txt:24 object-help/convert.txt:23 object-help/derrick.txt:28 object-help/egg.txt:7 object-help/energy.txt:27 object-help/enerspot.txt:16 object-help/exchange.txt:30 object-help/factory.txt:32 object-help/flag.txt:21 object-help/goal.txt:7 object-help/human.txt:18 object-help/huston.txt:10 object-help/key.txt:16 object-help/labo.txt:23 object-help/mine.txt:13 object-help/mother.txt:14 object-help/nest.txt:7 object-help/nuclear.txt:23 object-help/power.txt:15 object-help/radar.txt:25 object-help/repair.txt:23 object-help/research.txt:26 object-help/safe.txt:8 object-help/spider.txt:8 object-help/start.txt:7 object-help/station.txt:27 object-help/stonspot.txt:13 object-help/titanore.txt:13 object-help/titan.txt:13 object-help/tnt.txt:11 object-help/tower.txt:21 object-help/uranore.txt:15 object-help/uranspot.txt:14 object-help/wasp.txt:10 object-help/waypoint.txt:11 object-help/worm.txt:10 object-help/wreck.txt:9
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: object-help/ant.txt:11 object-help/atomic.txt:15 object-help/barrier.txt:8 object-help/base.txt:11 object-help/bbox.txt:14 object-help/bullet.txt:12 object-help/captor.txt:25 object-help/convert.txt:24 object-help/derrick.txt:29 object-help/egg.txt:8 object-help/energy.txt:28 object-help/enerspot.txt:17 object-help/exchange.txt:31 object-help/factory.txt:33 object-help/flag.txt:22 object-help/goal.txt:8 object-help/human.txt:19 object-help/huston.txt:11 object-help/key.txt:17 object-help/labo.txt:24 object-help/mine.txt:14 object-help/mother.txt:15 object-help/nest.txt:8 object-help/nuclear.txt:24 object-help/power.txt:16 object-help/radar.txt:26 object-help/repair.txt:24 object-help/research.txt:27 object-help/safe.txt:9 object-help/spider.txt:9 object-help/start.txt:8 object-help/station.txt:28 object-help/stonspot.txt:14 object-help/titanore.txt:14 object-help/titan.txt:14 object-help/tnt.txt:12 object-help/tower.txt:22 object-help/uranore.txt:16 object-help/uranspot.txt:15 object-help/wasp.txt:11 object-help/waypoint.txt:12 object-help/worm.txt:11 object-help/wreck.txt:10
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: object-help/atomic.txt:1
+#, no-wrap
+msgid "Nuclear Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/atomic.txt:2
+#, no-wrap
+msgid "atomic"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:5
+#, no-wrap
+msgid ""
+"A nuclear power cell supplies the bots and some buildings with energy.\n"
+"Its capacity is 100 times that of a regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:7
+#, no-wrap
+msgid ""
+"Nuclear power cells cannot be recharged or recycled. A nuclear plant and some uranium ore "
+"is needed to produce a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: \t; header
+#: object-help/atomic.txt:8 object-help/bbox.txt:7 object-help/bullet.txt:5 object-help/enerspot.txt:10 object-help/flag.txt:11 object-help/key.txt:10 object-help/mine.txt:7 object-help/power.txt:9 object-help/stonspot.txt:7 object-help/titanore.txt:7 object-help/titan.txt:7 object-help/tnt.txt:5 object-help/uranore.txt:9 object-help/uranspot.txt:8 object-help/waypoint.txt:5
+#, no-wrap
+msgid "Transport"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:10 object-help/bbox.txt:9 object-help/bullet.txt:7 object-help/key.txt:12 object-help/power.txt:11 object-help/titanore.txt:9 object-help/titan.txt:9 object-help/tnt.txt:7
+#, no-wrap
+msgid "All grabbers and the astronaut."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:13
+#, no-wrap
+msgid "NuclearCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/barrier.txt:1
+#, no-wrap
+msgid "Barrier"
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:3
+#, no-wrap
+msgid "The barrier is nothing more than an obstacle used in the exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:6
+#, no-wrap
+msgid "Barrier
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/base.txt:1
+#, no-wrap
+msgid " Spaceship"
+msgstr ""
+
+#. type: Image filename
+#: object-help/base.txt:2
+#, no-wrap
+msgid "base"
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:4
+#, no-wrap
+msgid ""
+"Your means of transportation from one planet to the "
+"next, the only way to travel safely across the cosmos and accomplish your "
+"missions."
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:6
+#, no-wrap
+msgid ""
+"In addition to yourself, the spaceship can carry bots and raw "
+"materials. Whenever a mission is completed, you must select the spaceship, "
+"then click on the SpaceShip
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bbox.txt:1
+#, no-wrap
+msgid "Black Box"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bbox.txt:2
+#, no-wrap
+msgid "bbox"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:4
+#, no-wrap
+msgid ""
+"A black box is actually orange so as to be easier to identify and "
+"locate. Each spaceship is equipped with a black box that "
+"records and stores information about the flight."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:6
+#, no-wrap
+msgid ""
+"A black box can also be used to leave important information. On every planet "
+"the first expedition has left a black box containing the coordinates of the "
+"planet it was heading towards next."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:12
+#, no-wrap
+msgid "BlackBox
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bullet.txt:1
+#, no-wrap
+msgid "Organic Matter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bullet.txt:2
+#, no-wrap
+msgid "bullet"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:4
+#, no-wrap
+msgid ""
+"The organic matter is the insects' secretion. Wasps often "
+"use balls of organic matter to bombard you. You should perhaps try to get "
+"hold of some since it could allow you, given the necessary analysis, to discover new and strange technologies that will "
+"improve the efficiency of your bots."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:10
+#, no-wrap
+msgid "OrgaMatter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/captor.txt:1
+#, no-wrap
+msgid " Power Captor"
+msgstr ""
+
+#. type: Image filename
+#: object-help/captor.txt:2
+#, no-wrap
+msgid "captor"
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:5
+#, no-wrap
+msgid ""
+"The power captor acts as both a lightning conductor and a power converter.\n"
+"It offers protection within a radius of 50 meters against the perilous "
+"lightning bolts of magnetic storms. Additionally, when the captor is hit by "
+"lightning, all bots and power cells placed underneath, "
+"with the exception of the nuclear power cells, are "
+"recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:7
+#, no-wrap
+msgid ""
+"To visualize the zone shielded by a power captor, select it then hit the "
+"PowerCaptor
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/convert.txt:1
+#, no-wrap
+msgid " Converter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/convert.txt:2
+#, no-wrap
+msgid "convert"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:4
+#, no-wrap
+msgid ""
+"This building was designed to convert chunks of titanium "
+"ore into usable titanium cubes. All you need to do is place a chunk at the center of the "
+"platform and step back. The converter takes care of the rest."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:7 object-help/labo.txt:7 object-help/repair.txt:7
+#, no-wrap
+msgid "Any flat surface of at least 6 meters wide."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:8 object-help/derrick.txt:13 object-help/energy.txt:12 object-help/exchange.txt:15 object-help/factory.txt:17 object-help/labo.txt:8 object-help/nuclear.txt:8 object-help/radar.txt:10 object-help/repair.txt:8 object-help/research.txt:11 object-help/station.txt:12
+#, no-wrap
+msgid "Input"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:10
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:11 object-help/derrick.txt:16 object-help/energy.txt:15 object-help/exchange.txt:18 object-help/factory.txt:20 object-help/labo.txt:11 object-help/nuclear.txt:11 object-help/radar.txt:13 object-help/repair.txt:11 object-help/research.txt:14 object-help/station.txt:15
+#, no-wrap
+msgid "Output"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:13 object-help/energy.txt:14 object-help/factory.txt:19
+#, no-wrap
+msgid "Titanium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:16 object-help/derrick.txt:21 object-help/exchange.txt:17 object-help/exchange.txt:23 object-help/factory.txt:25 object-help/labo.txt:16 object-help/nuclear.txt:16 object-help/radar.txt:12 object-help/radar.txt:18 object-help/repair.txt:16
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:19 object-help/factory.txt:28
+#, no-wrap
+msgid "15 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:22
+#, no-wrap
+msgid "Converter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/derrick.txt:1
+#, no-wrap
+msgid " Derrick"
+msgstr ""
+
+#. type: Image filename
+#: object-help/derrick.txt:2
+#, no-wrap
+msgid "derrick"
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:4
+#, no-wrap
+msgid "The derrick is intended for the extraction of raw materials."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:6
+#, no-wrap
+msgid ""
+"In order to determine the best site on which to erect a derrick, a sniffer should be used to prospect the subsoil. The marks "
+"it lays down provide information about the specifics of what the derrick "
+"will be able to extract:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:7
+#, no-wrap
+msgid "a red cross -> titanium ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:8
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:12
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:15
+#, no-wrap
+msgid "Titanium or uranium ore in the subsoil."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:18
+#, no-wrap
+msgid "Chunks of titanium or uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:24
+#, no-wrap
+msgid "10 seconds for titanium and 30 for uranium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:27
+#, no-wrap
+msgid "Derrick
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/egg.txt:1
+#, no-wrap
+msgid "Alien Egg"
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:3
+#, no-wrap
+msgid ""
+"The alien eggs are laid by the Alien Queen. After a "
+"short time, they will hatch and an ant, a wasp, a spider or a worm will come out."
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:6
+#, no-wrap
+msgid "AlienEgg
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/energy.txt:1
+#, no-wrap
+msgid " Power Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/energy.txt:2
+#, no-wrap
+msgid "energy"
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:4
+#, no-wrap
+msgid ""
+"The power plant is a power cell factory. It transforms a "
+"titanium cube into a regular power cell fully charged "
+"and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:6
+#, no-wrap
+msgid ""
+"A power plant requires some energy in the subsoil. If the satellite report "
+"says that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable for the "
+"construction of a power plant or a power station."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:8
+#, no-wrap
+msgid ""
+"If the large power cell at the base of the plant remains red after the "
+"construction is completed, this means that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 4 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:17
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:20 object-help/station.txt:20
+#, no-wrap
+msgid "Subsoil energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:23
+#, no-wrap
+msgid "12 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:26
+#, no-wrap
+msgid "PowerPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/enerspot.txt:1
+#, no-wrap
+msgid "Underground Energy Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/enerspot.txt:2
+#, no-wrap
+msgid "enerspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:4
+#, no-wrap
+msgid ""
+"Whenever a sniffer uncovers a source of energy in the "
+"subsoil, it lays down a green cross. The following buildings can be erected "
+"nearby :"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:5
+#, no-wrap
+msgid "Power station"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:6
+#, no-wrap
+msgid "Power plant"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:9
+#, no-wrap
+msgid ""
+"In order to prospect the subsoil you need a sniffer bot, "
+"which can also discover titanium ore deposits "
+"(indicated by a red cross) or uranium ore deposits (indicated by a yellow circle)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:12 object-help/flag.txt:13 object-help/mine.txt:9 object-help/stonspot.txt:9 object-help/uranspot.txt:10 object-help/waypoint.txt:7
+#, no-wrap
+msgid "Impossible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:15
+#, no-wrap
+msgid "EnergySite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/exchange.txt:1
+#, no-wrap
+msgid " Information Exchange Post"
+msgstr ""
+
+#. type: Image filename
+#: object-help/exchange.txt:2
+#, no-wrap
+msgid "info"
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:8
+#, no-wrap
+msgid ""
+"This building stores digital information. A post can contain up to 10 pieces "
+"of information, each one referenced by a name.\n"
+"For example, a post can contain 3 informations¦:send
.\n"
+"To read information from a post, you must execute the command receive
."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:14 object-help/radar.txt:9
+#, no-wrap
+msgid "Any flat surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:20
+#, no-wrap
+msgid "Digital information."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:29
+#, no-wrap
+msgid "ExchangePost
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/factory.txt:1
+#, no-wrap
+msgid " Bot Factory"
+msgstr ""
+
+#. type: Image filename
+#: object-help/factory.txt:2
+#, no-wrap
+msgid "factory"
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:4
+#, no-wrap
+msgid ""
+"This building is intended for the manufacturing of bots using titanium."
+msgstr ""
+
+#. type: Bullet: '1)'
+#: object-help/factory.txt:5
+#, no-wrap
+msgid "Place the titanium cube inside the factory."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: object-help/factory.txt:6
+#, no-wrap
+msgid "Step back out."
+msgstr ""
+
+#. type: Bullet: '3)'
+#: object-help/factory.txt:7
+#, no-wrap
+msgid "Select the factory."
+msgstr ""
+
+#. type: Bullet: '4)'
+#: object-help/factory.txt:8
+#, no-wrap
+msgid ""
+"Click on the button showing the diagram of the bot you want the factory to "
+"assemble (e.g. for a wheeled grabber)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:11
+#, no-wrap
+msgid ""
+"The finished bot does not include an onboard power "
+"cell. You'll need to supply it with one for it to be able to leave the "
+"factory."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:13
+#, no-wrap
+msgid ""
+"The list of feasible bots will depend upon the research your research center has completed at this time."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:16
+#, no-wrap
+msgid "Any flat surface of at least 7.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:22
+#, no-wrap
+msgid "Completed bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:31
+#, no-wrap
+msgid "BotFactory
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/flag.txt:1
+#, no-wrap
+msgid "Colored Flag"
+msgstr ""
+
+#. type: Image filename
+#: object-help/flag.txt:2
+#, no-wrap
+msgid "flag"
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:4
+#, no-wrap
+msgid ""
+"The colored flags are helpful to mark strategic locations or positions that "
+"you will need to find again. Flags appear on the "
+"mini-map in the shape of a cross of the same color as the flag."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:6
+#, no-wrap
+msgid ""
+"Use the buttons and to plant and remove flags, "
+"the colors of which you can choose with the buttons above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:8
+#, no-wrap
+msgid ""
+"When your mini-map is out of order, the fact that flags follow the direction "
+"of the wind can help you to find your way and not to walk around in circles."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:10
+#, no-wrap
+msgid ""
+"When programming, you can use flags to give a bot a reference to a certain "
+"position: the instruction radar
allows bots "
+"to know the exact position of a flag of a given color."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:20
+#, no-wrap
+msgid ""
+"BlueFlag
\n"
+"RedFlag
\n"
+"GreenFlag
\n"
+"YellowFlag
\n"
+"VioletFlag
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/goal.txt:1
+#, no-wrap
+msgid "Finishing Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:3
+#, no-wrap
+msgid "The finishing pad is an objective to be reached in some exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:6
+#, no-wrap
+msgid "GoalArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/human.txt:1
+#, no-wrap
+msgid " Astronaut"
+msgstr ""
+
+#. type: Image filename
+#: object-help/human.txt:2
+#, no-wrap
+msgid "human"
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:4
+#, no-wrap
+msgid "The astronaut is you within the game."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:6
+#, no-wrap
+msgid "If you die, the mission immediately fails."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:8
+#, no-wrap
+msgid ""
+"You can construct buildings with the help of the neutron gun holstered to "
+"your survival kit. The survival kit allows you, in most missions, to fly, "
+"thanks to the reactor placed underneath, or to swim with no time limit. You "
+"can carry most objects but the weight will slow down your movements "
+"considerably. Flying, swimming and walking underwater are also made "
+"impossible if you are carrying an object. The use of a grabber or a subber is advised for "
+"tasks such as these."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:10
+#, no-wrap
+msgid ""
+"You cannot carry uranium ore because of the risks "
+"attached to radioactivity. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:12
+#, no-wrap
+msgid ""
+"A special button allows you to ensure that the ground around "
+"you is flat. This is important since building is only possible on a flat "
+"surface. A flat surface is designated green while a sloping one is red."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:14
+#, no-wrap
+msgid ""
+"A button allows you to mark a location with flags of various colors. This can help you not to get lost, "
+"to find important positions again, or to indicate a position to a bot. 5 "
+"flags of 5 different colors are at your disposal. You can remove a flag by "
+"using the next button and store it for further use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:17
+#, no-wrap
+msgid "Me
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/huston.txt:1
+#, no-wrap
+msgid " Mission Control"
+msgstr ""
+
+#. type: Image filename
+#: object-help/huston.txt:2
+#, no-wrap
+msgid "huston"
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:4
+#, no-wrap
+msgid ""
+"Earth control center for all your space missions. Though "
+"still named after the well-known mission control of the old days, "
+"\"Houston\" is actually located in the middle of the Nevada Desert, the new "
+"center for space exploration activities."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:6
+#, no-wrap
+msgid ""
+"The Mission Control Center watches over you day and night, and a whole team "
+"of scientists and engineers are working hard trying to find a solution to "
+"all the problems that you encounter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:9
+#, no-wrap
+msgid "Houston
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/key.txt:1
+#, no-wrap
+msgid "Keys A, B, C and D"
+msgstr ""
+
+#. type: Image filename
+#: object-help/key.txt:2
+#, no-wrap
+msgid "key"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:4
+#, no-wrap
+msgid ""
+"The keys give you access to the vault. You'll need 4 of them."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:5
+#, no-wrap
+msgid "Key A, blue and triangle-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:6
+#, no-wrap
+msgid "Key B, red and pentagon-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:7
+#, no-wrap
+msgid "Key C, green and shaped like a 6-pointed star"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:8
+#, no-wrap
+msgid "Key D, yellow and circular"
+msgstr ""
+
+#. type: \t; header
+#: object-help/key.txt:13
+#, no-wrap
+msgid "Objects Category"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:15
+#, no-wrap
+msgid ""
+"KeyA
, KeyB
, KeyC
and "
+"KeyD
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/labo.txt:1
+#, no-wrap
+msgid " Autolab"
+msgstr ""
+
+#. type: Image filename
+#: object-help/labo.txt:2
+#, no-wrap
+msgid "labo"
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:4
+#, no-wrap
+msgid ""
+"The lab is intended for the analysis of organic "
+"matter. It will help you become familiar with the "
+"insects' very own technology and perhaps even use it to your "
+"advantage. Place a chunk of organic matter on the "
+"platform, select the lab, and click the button corresponding to the desired "
+"research program."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:10
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:13 object-help/research.txt:16
+#, no-wrap
+msgid "New and improved technologies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:19
+#, no-wrap
+msgid "20 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:22
+#, no-wrap
+msgid "AutoLab
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/lrv.txt:1
+#, no-wrap
+msgid "Apollo Lunar Roving Vehicle"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:6
+#, no-wrap
+msgid "< no archive picture available >
"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:9
+#, no-wrap
+msgid ""
+"The Lunar Jeep (LRV) was brought to the moon on July 30th 1971 by the "
+"astronauts David Scott and Jim Irwin from Apollo mission 15. Its batteries "
+"are still partly charged, which allows you to remote control it. But this "
+"old-fashioned technology will be of no use to you."
+msgstr ""
+
+#. type: \b; header
+#: object-help/mine.txt:1
+#, no-wrap
+msgid "Mine"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mine.txt:2
+#, no-wrap
+msgid "mine"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:4
+#, no-wrap
+msgid ""
+"Mines were a defensive weapons system used by the first expedition. Because "
+"of the dangers this system causes for the mission itself, they are no longer "
+"used in your expedition. In some exercises mines are used to learn how to "
+"avoid obstacles. There is no way to remove them or to create new ones."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:6
+#, no-wrap
+msgid ""
+"With a practice bot, don't get any closer than 2 meters "
+"to the position given by the instruction radar."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:12
+#, no-wrap
+msgid "Mine
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/mother.txt:1
+#, no-wrap
+msgid "Alien Queen"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mother.txt:2
+#, no-wrap
+msgid "mother"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:4
+#, no-wrap
+msgid ""
+"This huge insect is the mother of them all. It lays eggs "
+"and from these eggs will hatch all the various kinds of insects you're likely to encounter. All of them are extremely "
+"hazardous to yourself and your mission. The queen's protective shell is "
+"particularly resistant to attack."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "It gives birth to the following insects :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "ants"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:7
+#, no-wrap
+msgid "spiders"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:8
+#, no-wrap
+msgid "wasps"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:9
+#, no-wrap
+msgid "worms"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:13
+#, no-wrap
+msgid "AlienQueen
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nest.txt:1
+#, no-wrap
+msgid "Nest"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:3
+#, no-wrap
+msgid ""
+"The alien nest is an odd structure out of which organic "
+"matter erupts on a regular basis. Wasps visit nests "
+"regularly to collect ammunition that they will use to bombard your bots, "
+"buildings and yourself."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:6
+#, no-wrap
+msgid "AlienNest
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nuclear.txt:1
+#, no-wrap
+msgid " Nuclear Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/nuclear.txt:2
+#, no-wrap
+msgid "nuclear"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:4
+#, no-wrap
+msgid ""
+"The nuclear plant is a nuclear power cell factory. It "
+"transforms a chunk of uranium ore into a nuclear power cell fully charged and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:10
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:13
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:19
+#, no-wrap
+msgid "30 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:22
+#, no-wrap
+msgid "NuclearPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/power.txt:1
+#, no-wrap
+msgid "Regular Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/power.txt:2
+#, no-wrap
+msgid "power"
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:4
+#, no-wrap
+msgid "A power cell supplies the bots and a few buildings with energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:6
+#, no-wrap
+msgid ""
+"An entirely red power cell is empty. The green section indicates the "
+"remaining capacity. A power cell can be recharged using a power station. A power plant is "
+"needed to produce a new and fully charged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:8
+#, no-wrap
+msgid ""
+"The capacity of a regular power cell is 100 times smaller than that of a nuclear power cell produced by a nuclear "
+"plant using uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:14
+#, no-wrap
+msgid "PowerCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/radar.txt:1
+#, no-wrap
+msgid " Radar"
+msgstr ""
+
+#. type: Image filename
+#: object-help/radar.txt:2
+#, no-wrap
+msgid "radar"
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:4
+#, no-wrap
+msgid ""
+"The radar indicates the direction of the nearest enemy. Moreover, the information given by the radar allows "
+"the mini-map at the bottom right corner of your screen to show the position "
+"of all bots, buildings and enemies as small squares and triangles of "
+"different colors."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Radar stations also act as relays for communication with the Earth from "
+"distant planets."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:15
+#, no-wrap
+msgid "Information for the mini-map."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:21
+#, no-wrap
+msgid "Constant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:24
+#, no-wrap
+msgid "RadarStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/repair.txt:1
+#, no-wrap
+msgid " Repair Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/repair.txt:2
+#, no-wrap
+msgid "repair"
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:4
+#, no-wrap
+msgid ""
+"The repair center regenerates the shield on damaged bots. A bot's shield "
+"will absorb a certain amount of enemy hits. If there is "
+"no shield left, this means that the bot itself, when hit next, will be "
+"destroyed."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:10
+#, no-wrap
+msgid "Damaged bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:13
+#, no-wrap
+msgid "Repaired bot with regenerated shield."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:19
+#, no-wrap
+msgid "A few seconds depending on the repair job to be done."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:22
+#, no-wrap
+msgid "RepairCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/research.txt:1
+#, no-wrap
+msgid " Research Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/research.txt:2
+#, no-wrap
+msgid "research"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:4
+#, no-wrap
+msgid ""
+"The research center is an enormous computer. Its most useful feature is its "
+"ability to come up with new technologies as well as improvements on existing "
+"ones regarding buildings and bots in particular."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:7
+#, no-wrap
+msgid ""
+"The 65'536 processors it contains use up a large amount of energy.\n"
+"Each research program necessitates a brand new and fully charged power cell"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:10
+#, no-wrap
+msgid "Any flat surface of at least 5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:13
+#, no-wrap
+msgid "Request for research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:19 object-help/tower.txt:14
+#, no-wrap
+msgid "Regular or nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:22
+#, no-wrap
+msgid "Between 9 seconds and 1 minute depending on the research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:25
+#, no-wrap
+msgid "ResearchCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/safe.txt:1
+#, no-wrap
+msgid " Vault"
+msgstr ""
+
+#. type: Image filename
+#: object-help/safe.txt:2
+#, no-wrap
+msgid "safe"
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:4
+#, no-wrap
+msgid ""
+"This dome-shaped building was conceived by the first expedition. Its purpose "
+"was to offer protection to a new type of advanced bot. To protect it from "
+"insect attacks, the vault was locked by 4 keys. Only after "
+"you find the 4 keys and place each one of them on their corresponding slots "
+"will you be given access to the bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:7
+#, no-wrap
+msgid "Vault
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/spider.txt:1
+#, no-wrap
+msgid "Spider"
+msgstr ""
+
+#. type: Image filename
+#: object-help/spider.txt:2
+#, no-wrap
+msgid "spider"
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:4
+#, no-wrap
+msgid ""
+"Spiders work like suicide commandoes: whenever a spider gets within a close "
+"enough range of its target, it inflates its abdomen and bursts into a "
+"multitude of tiny burning fragments. These fragments will set fire to "
+"everything they get in contact with. Luckily the spider won't survive."
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:7
+#, no-wrap
+msgid "AlienSpider
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/start.txt:1
+#, no-wrap
+msgid "Starting Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:3
+#, no-wrap
+msgid "The starting pad is a platform used in some exercises. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:6
+#, no-wrap
+msgid "StartArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/station.txt:1
+#, no-wrap
+msgid " Power Station"
+msgstr ""
+
+#. type: Image filename
+#: object-help/station.txt:2
+#, no-wrap
+msgid "station"
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:4
+#, no-wrap
+msgid ""
+"The power station extracts energy from the underground and recharges regular power cells through induction. To recharge a power "
+"cell loaded at the back of a bot, just move the bot to the center of the "
+"platform and wait a few seconds. A power cell carried at "
+"arm's length can also be recharged. Nuclear power cells "
+"are non-rechargeable."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:6
+#, no-wrap
+msgid ""
+"A power plant needs some energy in the subsoil. If the satellite report says "
+"that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable to the "
+"construction of a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:8
+#, no-wrap
+msgid ""
+"The large power cell at the top of the station remaining red after the "
+"construction is completed can only mean that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface at least 6 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:14
+#, no-wrap
+msgid "Empty power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:17
+#, no-wrap
+msgid "Recharged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:23
+#, no-wrap
+msgid "A few seconds, depending on the capacity to be recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:26
+#, no-wrap
+msgid "PowerStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/stonspot.txt:1
+#, no-wrap
+msgid "Underground Titanium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/stonspot.txt:2
+#, no-wrap
+msgid "stonspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:4
+#, no-wrap
+msgid ""
+"A red cross reveals the presence of a stratum of titanium "
+"ore in the subsoil. It will be possible to extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a red cross each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of uranium ore as indicated by a yellow circle and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:12
+#, no-wrap
+msgid "TitaniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titanore.txt:1
+#, no-wrap
+msgid "Titanium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titanore.txt:2
+#, no-wrap
+msgid "titanore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of "
+"buildings, bots and regular power "
+"cells. The titanium you see in its usable, cube "
+"shaped form has been converted from raw chunks of "
+"titanium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:6
+#, no-wrap
+msgid ""
+"Titanium ore can be found either directly on the surface or in the "
+"subsoil. In the latter case, it needs to be first located and identified by "
+"a sniffer, then extracted using a derrick. If a sniffer identifies a titanium ore deposit, "
+"it lays down a red cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:12
+#, no-wrap
+msgid "TitaniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titan.txt:1
+#, no-wrap
+msgid "Titanium"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titan.txt:2
+#, no-wrap
+msgid "titan"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of buildings, bots and regular power cells. There "
+"is usually some left on the spaceship when you embark on "
+"a new mission."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:6
+#, no-wrap
+msgid ""
+"If more is needed, you'll have to convert chunks of titanium ore into usable titanium cubes."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:12
+#, no-wrap
+msgid "Titanium
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tnt.txt:1
+#, no-wrap
+msgid " Explosive (TNT)"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tnt.txt:2
+#, no-wrap
+msgid "tnt"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:4
+#, no-wrap
+msgid ""
+"A TNT charge is extremely sensitive. You should approach it with caution so "
+"as not to hit it or give it any kind of shock. The risk is minimized once "
+"the explosive is within a grabber's grasp."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:10
+#, no-wrap
+msgid "TNT
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tower.txt:1
+#, no-wrap
+msgid " Defense Tower"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tower.txt:2
+#, no-wrap
+msgid "tower"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:4
+#, no-wrap
+msgid ""
+"The tower constitutes the best defense against enemy "
+"attacks, whether they originate on the ground or from the skies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:6
+#, no-wrap
+msgid ""
+"The tower requires either a regular or a nuclear power cell. A regular power cell provides a "
+"capacity for 8 shots. A nuclear power cell is of course preferable. The "
+"tower starts blinking when it runs out of power."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:8
+#, no-wrap
+msgid ""
+"The range is 40 meters. To visualize it, select the tower then hit the "
+"DefenseTower
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranore.txt:1
+#, no-wrap
+msgid "Uranium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranore.txt:2
+#, no-wrap
+msgid "uranore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:4
+#, no-wrap
+msgid ""
+"Uranium ore is essential to the production of nuclear power "
+"cells."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:6
+#, no-wrap
+msgid ""
+"It is to be found on the surface or in the subsoil. In the latter case, it "
+"needs to be first located and identified by a sniffer, "
+"then extracted using a derrick. If a sniffer "
+"identifies a deposit of uranium ore, it lays down a yellow circle."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:8
+#, no-wrap
+msgid ""
+"A nuclear plant will then take care of converting the "
+"chunk into a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:11
+#, no-wrap
+msgid ""
+"All grabbers. Due to its radioactivity, the astronaut can not transport it."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:14
+#, no-wrap
+msgid "UraniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranspot.txt:1
+#, no-wrap
+msgid " Underground Uranium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranspot.txt:2
+#, no-wrap
+msgid "uranspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:4
+#, no-wrap
+msgid ""
+"A yellow circle reveals the presence of a stratum of uranium ore in the subsoil. It will be possible to "
+"extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a yellow circle each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of titanium ore as indicated by a red cross and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:13
+#, no-wrap
+msgid "UraniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wasp.txt:1
+#, no-wrap
+msgid "Wasp"
+msgstr ""
+
+#. type: Image filename
+#: object-help/wasp.txt:2
+#, no-wrap
+msgid "wasp"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:4
+#, no-wrap
+msgid ""
+"The wasp is a formidable enemy, very hard to shoot down since its flying is "
+"particularly swift. Wasps carry balls of organic matter "
+"that they will hurl at your bots and buildings and at yourself from above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:6
+#, no-wrap
+msgid "The defense tower is the easiest way to get rid of them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:9
+#, no-wrap
+msgid "AlienWasp
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/waypoint.txt:1
+#, no-wrap
+msgid "Checkpoint"
+msgstr ""
+
+#. type: Image filename
+#: object-help/waypoint.txt:2
+#, no-wrap
+msgid "waypoint"
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:4
+#, no-wrap
+msgid ""
+"In the exercises, blue crosses indicate positions that have to be "
+"crossed. They disappear as soon as a practice bot "
+"crosses them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:10
+#, no-wrap
+msgid "WayPoint
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/worm.txt:1
+#, no-wrap
+msgid "Worm"
+msgstr ""
+
+#. type: Image filename
+#: object-help/worm.txt:2
+#, no-wrap
+msgid "worm"
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:4
+#, no-wrap
+msgid ""
+"Worms transmit viruses to programmed bots. The virus alters the programming "
+"to such an extent that the bot either functions in a very erratic way or "
+"stops functioning altogether."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:6
+#, no-wrap
+msgid ""
+"Worms live in the subsoil but sometimes emerge and crawl on the "
+"surface. When they are underground they are undetectable and indestructible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:9
+#, no-wrap
+msgid "AlienWorm
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wreck.txt:1
+#, no-wrap
+msgid "Derelict bot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:3
+#, no-wrap
+msgid ""
+"A derelict bot is what's left of a bot after it has been disabled by a spider or by friendly fire."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:5
+#, no-wrap
+msgid ""
+"A recycler can convert a derelict bot back into a "
+"reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:8
+#, no-wrap
+msgid "Wreck
"
+msgstr ""
diff --git a/help/object/po/fr.po b/help/object/po/fr.po
new file mode 100644
index 00000000..8094b7ba
--- /dev/null
+++ b/help/object/po/fr.po
@@ -0,0 +1,1990 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR AlienAnt
"
+msgstr ""
+
+#. type: \t; header
+#: object-help/ant.txt:10 object-help/atomic.txt:14 object-help/barrier.txt:7 object-help/base.txt:10 object-help/bbox.txt:13 object-help/bullet.txt:11 object-help/captor.txt:24 object-help/convert.txt:23 object-help/derrick.txt:28 object-help/egg.txt:7 object-help/energy.txt:27 object-help/enerspot.txt:16 object-help/exchange.txt:30 object-help/factory.txt:32 object-help/flag.txt:21 object-help/goal.txt:7 object-help/human.txt:18 object-help/huston.txt:10 object-help/key.txt:16 object-help/labo.txt:23 object-help/mine.txt:13 object-help/mother.txt:14 object-help/nest.txt:7 object-help/nuclear.txt:23 object-help/power.txt:15 object-help/radar.txt:25 object-help/repair.txt:23 object-help/research.txt:26 object-help/safe.txt:8 object-help/spider.txt:8 object-help/start.txt:7 object-help/station.txt:27 object-help/stonspot.txt:13 object-help/titanore.txt:13 object-help/titan.txt:13 object-help/tnt.txt:11 object-help/tower.txt:21 object-help/uranore.txt:15 object-help/uranspot.txt:14 object-help/wasp.txt:10 object-help/waypoint.txt:11 object-help/worm.txt:10 object-help/wreck.txt:9
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: object-help/ant.txt:11 object-help/atomic.txt:15 object-help/barrier.txt:8 object-help/base.txt:11 object-help/bbox.txt:14 object-help/bullet.txt:12 object-help/captor.txt:25 object-help/convert.txt:24 object-help/derrick.txt:29 object-help/egg.txt:8 object-help/energy.txt:28 object-help/enerspot.txt:17 object-help/exchange.txt:31 object-help/factory.txt:33 object-help/flag.txt:22 object-help/goal.txt:8 object-help/human.txt:19 object-help/huston.txt:11 object-help/key.txt:17 object-help/labo.txt:24 object-help/mine.txt:14 object-help/mother.txt:15 object-help/nest.txt:8 object-help/nuclear.txt:24 object-help/power.txt:16 object-help/radar.txt:26 object-help/repair.txt:24 object-help/research.txt:27 object-help/safe.txt:9 object-help/spider.txt:9 object-help/start.txt:8 object-help/station.txt:28 object-help/stonspot.txt:14 object-help/titanore.txt:14 object-help/titan.txt:14 object-help/tnt.txt:12 object-help/tower.txt:22 object-help/uranore.txt:16 object-help/uranspot.txt:15 object-help/wasp.txt:11 object-help/waypoint.txt:12 object-help/worm.txt:11 object-help/wreck.txt:10
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: object-help/atomic.txt:1
+#, no-wrap
+msgid "Nuclear Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/atomic.txt:2
+#, no-wrap
+msgid "atomic"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:5
+#, no-wrap
+msgid ""
+"A nuclear power cell supplies the bots and some buildings with energy.\n"
+"Its capacity is 100 times that of a regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:7
+#, no-wrap
+msgid ""
+"Nuclear power cells cannot be recharged or recycled. A nuclear plant and some uranium ore "
+"is needed to produce a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: \t; header
+#: object-help/atomic.txt:8 object-help/bbox.txt:7 object-help/bullet.txt:5 object-help/enerspot.txt:10 object-help/flag.txt:11 object-help/key.txt:10 object-help/mine.txt:7 object-help/power.txt:9 object-help/stonspot.txt:7 object-help/titanore.txt:7 object-help/titan.txt:7 object-help/tnt.txt:5 object-help/uranore.txt:9 object-help/uranspot.txt:8 object-help/waypoint.txt:5
+#, no-wrap
+msgid "Transport"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:10 object-help/bbox.txt:9 object-help/bullet.txt:7 object-help/key.txt:12 object-help/power.txt:11 object-help/titanore.txt:9 object-help/titan.txt:9 object-help/tnt.txt:7
+#, no-wrap
+msgid "All grabbers and the astronaut."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:13
+#, no-wrap
+msgid "NuclearCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/barrier.txt:1
+#, no-wrap
+msgid "Barrier"
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:3
+#, no-wrap
+msgid "The barrier is nothing more than an obstacle used in the exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:6
+#, no-wrap
+msgid "Barrier
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/base.txt:1
+#, no-wrap
+msgid " Spaceship"
+msgstr ""
+
+#. type: Image filename
+#: object-help/base.txt:2
+#, no-wrap
+msgid "base"
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:4
+#, no-wrap
+msgid ""
+"Your means of transportation from one planet to the "
+"next, the only way to travel safely across the cosmos and accomplish your "
+"missions."
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:6
+#, no-wrap
+msgid ""
+"In addition to yourself, the spaceship can carry bots and raw "
+"materials. Whenever a mission is completed, you must select the spaceship, "
+"then click on the SpaceShip
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bbox.txt:1
+#, no-wrap
+msgid "Black Box"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bbox.txt:2
+#, no-wrap
+msgid "bbox"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:4
+#, no-wrap
+msgid ""
+"A black box is actually orange so as to be easier to identify and "
+"locate. Each spaceship is equipped with a black box that "
+"records and stores information about the flight."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:6
+#, no-wrap
+msgid ""
+"A black box can also be used to leave important information. On every planet "
+"the first expedition has left a black box containing the coordinates of the "
+"planet it was heading towards next."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:12
+#, no-wrap
+msgid "BlackBox
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bullet.txt:1
+#, no-wrap
+msgid "Organic Matter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bullet.txt:2
+#, no-wrap
+msgid "bullet"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:4
+#, no-wrap
+msgid ""
+"The organic matter is the insects' secretion. Wasps often "
+"use balls of organic matter to bombard you. You should perhaps try to get "
+"hold of some since it could allow you, given the necessary analysis, to discover new and strange technologies that will "
+"improve the efficiency of your bots."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:10
+#, no-wrap
+msgid "OrgaMatter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/captor.txt:1
+#, no-wrap
+msgid " Power Captor"
+msgstr ""
+
+#. type: Image filename
+#: object-help/captor.txt:2
+#, no-wrap
+msgid "captor"
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:5
+#, no-wrap
+msgid ""
+"The power captor acts as both a lightning conductor and a power converter.\n"
+"It offers protection within a radius of 50 meters against the perilous "
+"lightning bolts of magnetic storms. Additionally, when the captor is hit by "
+"lightning, all bots and power cells placed underneath, "
+"with the exception of the nuclear power cells, are "
+"recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:7
+#, no-wrap
+msgid ""
+"To visualize the zone shielded by a power captor, select it then hit the "
+"PowerCaptor
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/convert.txt:1
+#, no-wrap
+msgid " Converter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/convert.txt:2
+#, no-wrap
+msgid "convert"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:4
+#, no-wrap
+msgid ""
+"This building was designed to convert chunks of titanium "
+"ore into usable titanium cubes. All you need to do is place a chunk at the center of the "
+"platform and step back. The converter takes care of the rest."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:7 object-help/labo.txt:7 object-help/repair.txt:7
+#, no-wrap
+msgid "Any flat surface of at least 6 meters wide."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:8 object-help/derrick.txt:13 object-help/energy.txt:12 object-help/exchange.txt:15 object-help/factory.txt:17 object-help/labo.txt:8 object-help/nuclear.txt:8 object-help/radar.txt:10 object-help/repair.txt:8 object-help/research.txt:11 object-help/station.txt:12
+#, no-wrap
+msgid "Input"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:10
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:11 object-help/derrick.txt:16 object-help/energy.txt:15 object-help/exchange.txt:18 object-help/factory.txt:20 object-help/labo.txt:11 object-help/nuclear.txt:11 object-help/radar.txt:13 object-help/repair.txt:11 object-help/research.txt:14 object-help/station.txt:15
+#, no-wrap
+msgid "Output"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:13 object-help/energy.txt:14 object-help/factory.txt:19
+#, no-wrap
+msgid "Titanium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:16 object-help/derrick.txt:21 object-help/exchange.txt:17 object-help/exchange.txt:23 object-help/factory.txt:25 object-help/labo.txt:16 object-help/nuclear.txt:16 object-help/radar.txt:12 object-help/radar.txt:18 object-help/repair.txt:16
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:19 object-help/factory.txt:28
+#, no-wrap
+msgid "15 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:22
+#, no-wrap
+msgid "Converter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/derrick.txt:1
+#, no-wrap
+msgid " Derrick"
+msgstr ""
+
+#. type: Image filename
+#: object-help/derrick.txt:2
+#, no-wrap
+msgid "derrick"
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:4
+#, no-wrap
+msgid "The derrick is intended for the extraction of raw materials."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:6
+#, no-wrap
+msgid ""
+"In order to determine the best site on which to erect a derrick, a sniffer should be used to prospect the subsoil. The marks "
+"it lays down provide information about the specifics of what the derrick "
+"will be able to extract:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:7
+#, no-wrap
+msgid "a red cross -> titanium ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:8
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:12
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:15
+#, no-wrap
+msgid "Titanium or uranium ore in the subsoil."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:18
+#, no-wrap
+msgid "Chunks of titanium or uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:24
+#, no-wrap
+msgid "10 seconds for titanium and 30 for uranium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:27
+#, no-wrap
+msgid "Derrick
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/egg.txt:1
+#, no-wrap
+msgid "Alien Egg"
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:3
+#, no-wrap
+msgid ""
+"The alien eggs are laid by the Alien Queen. After a "
+"short time, they will hatch and an ant, a wasp, a spider or a worm will come out."
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:6
+#, no-wrap
+msgid "AlienEgg
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/energy.txt:1
+#, no-wrap
+msgid " Power Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/energy.txt:2
+#, no-wrap
+msgid "energy"
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:4
+#, no-wrap
+msgid ""
+"The power plant is a power cell factory. It transforms a "
+"titanium cube into a regular power cell fully charged "
+"and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:6
+#, no-wrap
+msgid ""
+"A power plant requires some energy in the subsoil. If the satellite report "
+"says that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable for the "
+"construction of a power plant or a power station."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:8
+#, no-wrap
+msgid ""
+"If the large power cell at the base of the plant remains red after the "
+"construction is completed, this means that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 4 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:17
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:20 object-help/station.txt:20
+#, no-wrap
+msgid "Subsoil energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:23
+#, no-wrap
+msgid "12 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:26
+#, no-wrap
+msgid "PowerPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/enerspot.txt:1
+#, no-wrap
+msgid "Underground Energy Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/enerspot.txt:2
+#, no-wrap
+msgid "enerspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:4
+#, no-wrap
+msgid ""
+"Whenever a sniffer uncovers a source of energy in the "
+"subsoil, it lays down a green cross. The following buildings can be erected "
+"nearby :"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:5
+#, no-wrap
+msgid "Power station"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:6
+#, no-wrap
+msgid "Power plant"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:9
+#, no-wrap
+msgid ""
+"In order to prospect the subsoil you need a sniffer bot, "
+"which can also discover titanium ore deposits "
+"(indicated by a red cross) or uranium ore deposits (indicated by a yellow circle)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:12 object-help/flag.txt:13 object-help/mine.txt:9 object-help/stonspot.txt:9 object-help/uranspot.txt:10 object-help/waypoint.txt:7
+#, no-wrap
+msgid "Impossible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:15
+#, no-wrap
+msgid "EnergySite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/exchange.txt:1
+#, no-wrap
+msgid " Information Exchange Post"
+msgstr ""
+
+#. type: Image filename
+#: object-help/exchange.txt:2
+#, no-wrap
+msgid "info"
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:8
+#, no-wrap
+msgid ""
+"This building stores digital information. A post can contain up to 10 pieces "
+"of information, each one referenced by a name.\n"
+"For example, a post can contain 3 informations¦:send
.\n"
+"To read information from a post, you must execute the command receive
."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:14 object-help/radar.txt:9
+#, no-wrap
+msgid "Any flat surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:20
+#, no-wrap
+msgid "Digital information."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:29
+#, no-wrap
+msgid "ExchangePost
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/factory.txt:1
+#, no-wrap
+msgid " Bot Factory"
+msgstr ""
+
+#. type: Image filename
+#: object-help/factory.txt:2
+#, no-wrap
+msgid "factory"
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:4
+#, no-wrap
+msgid ""
+"This building is intended for the manufacturing of bots using titanium."
+msgstr ""
+
+#. type: Bullet: '1)'
+#: object-help/factory.txt:5
+#, no-wrap
+msgid "Place the titanium cube inside the factory."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: object-help/factory.txt:6
+#, no-wrap
+msgid "Step back out."
+msgstr ""
+
+#. type: Bullet: '3)'
+#: object-help/factory.txt:7
+#, no-wrap
+msgid "Select the factory."
+msgstr ""
+
+#. type: Bullet: '4)'
+#: object-help/factory.txt:8
+#, no-wrap
+msgid ""
+"Click on the button showing the diagram of the bot you want the factory to "
+"assemble (e.g. for a wheeled grabber)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:11
+#, no-wrap
+msgid ""
+"The finished bot does not include an onboard power "
+"cell. You'll need to supply it with one for it to be able to leave the "
+"factory."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:13
+#, no-wrap
+msgid ""
+"The list of feasible bots will depend upon the research your research center has completed at this time."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:16
+#, no-wrap
+msgid "Any flat surface of at least 7.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:22
+#, no-wrap
+msgid "Completed bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:31
+#, no-wrap
+msgid "BotFactory
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/flag.txt:1
+#, no-wrap
+msgid "Colored Flag"
+msgstr ""
+
+#. type: Image filename
+#: object-help/flag.txt:2
+#, no-wrap
+msgid "flag"
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:4
+#, no-wrap
+msgid ""
+"The colored flags are helpful to mark strategic locations or positions that "
+"you will need to find again. Flags appear on the "
+"mini-map in the shape of a cross of the same color as the flag."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:6
+#, no-wrap
+msgid ""
+"Use the buttons and to plant and remove flags, "
+"the colors of which you can choose with the buttons above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:8
+#, no-wrap
+msgid ""
+"When your mini-map is out of order, the fact that flags follow the direction "
+"of the wind can help you to find your way and not to walk around in circles."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:10
+#, no-wrap
+msgid ""
+"When programming, you can use flags to give a bot a reference to a certain "
+"position: the instruction radar
allows bots "
+"to know the exact position of a flag of a given color."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:20
+#, no-wrap
+msgid ""
+"BlueFlag
\n"
+"RedFlag
\n"
+"GreenFlag
\n"
+"YellowFlag
\n"
+"VioletFlag
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/goal.txt:1
+#, no-wrap
+msgid "Finishing Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:3
+#, no-wrap
+msgid "The finishing pad is an objective to be reached in some exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:6
+#, no-wrap
+msgid "GoalArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/human.txt:1
+#, no-wrap
+msgid " Astronaut"
+msgstr ""
+
+#. type: Image filename
+#: object-help/human.txt:2
+#, no-wrap
+msgid "human"
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:4
+#, no-wrap
+msgid "The astronaut is you within the game."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:6
+#, no-wrap
+msgid "If you die, the mission immediately fails."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:8
+#, no-wrap
+msgid ""
+"You can construct buildings with the help of the neutron gun holstered to "
+"your survival kit. The survival kit allows you, in most missions, to fly, "
+"thanks to the reactor placed underneath, or to swim with no time limit. You "
+"can carry most objects but the weight will slow down your movements "
+"considerably. Flying, swimming and walking underwater are also made "
+"impossible if you are carrying an object. The use of a grabber or a subber is advised for "
+"tasks such as these."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:10
+#, no-wrap
+msgid ""
+"You cannot carry uranium ore because of the risks "
+"attached to radioactivity. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:12
+#, no-wrap
+msgid ""
+"A special button allows you to ensure that the ground around "
+"you is flat. This is important since building is only possible on a flat "
+"surface. A flat surface is designated green while a sloping one is red."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:14
+#, no-wrap
+msgid ""
+"A button allows you to mark a location with flags of various colors. This can help you not to get lost, "
+"to find important positions again, or to indicate a position to a bot. 5 "
+"flags of 5 different colors are at your disposal. You can remove a flag by "
+"using the next button and store it for further use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:17
+#, no-wrap
+msgid "Me
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/huston.txt:1
+#, no-wrap
+msgid " Mission Control"
+msgstr ""
+
+#. type: Image filename
+#: object-help/huston.txt:2
+#, no-wrap
+msgid "huston"
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:4
+#, no-wrap
+msgid ""
+"Earth control center for all your space missions. Though "
+"still named after the well-known mission control of the old days, "
+"\"Houston\" is actually located in the middle of the Nevada Desert, the new "
+"center for space exploration activities."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:6
+#, no-wrap
+msgid ""
+"The Mission Control Center watches over you day and night, and a whole team "
+"of scientists and engineers are working hard trying to find a solution to "
+"all the problems that you encounter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:9
+#, no-wrap
+msgid "Houston
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/key.txt:1
+#, no-wrap
+msgid "Keys A, B, C and D"
+msgstr ""
+
+#. type: Image filename
+#: object-help/key.txt:2
+#, no-wrap
+msgid "key"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:4
+#, no-wrap
+msgid ""
+"The keys give you access to the vault. You'll need 4 of them."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:5
+#, no-wrap
+msgid "Key A, blue and triangle-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:6
+#, no-wrap
+msgid "Key B, red and pentagon-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:7
+#, no-wrap
+msgid "Key C, green and shaped like a 6-pointed star"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:8
+#, no-wrap
+msgid "Key D, yellow and circular"
+msgstr ""
+
+#. type: \t; header
+#: object-help/key.txt:13
+#, no-wrap
+msgid "Objects Category"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:15
+#, no-wrap
+msgid ""
+"KeyA
, KeyB
, KeyC
and "
+"KeyD
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/labo.txt:1
+#, no-wrap
+msgid " Autolab"
+msgstr ""
+
+#. type: Image filename
+#: object-help/labo.txt:2
+#, no-wrap
+msgid "labo"
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:4
+#, no-wrap
+msgid ""
+"The lab is intended for the analysis of organic "
+"matter. It will help you become familiar with the "
+"insects' very own technology and perhaps even use it to your "
+"advantage. Place a chunk of organic matter on the "
+"platform, select the lab, and click the button corresponding to the desired "
+"research program."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:10
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:13 object-help/research.txt:16
+#, no-wrap
+msgid "New and improved technologies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:19
+#, no-wrap
+msgid "20 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:22
+#, no-wrap
+msgid "AutoLab
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/lrv.txt:1
+#, no-wrap
+msgid "Apollo Lunar Roving Vehicle"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:6
+#, no-wrap
+msgid "< no archive picture available >
"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:9
+#, no-wrap
+msgid ""
+"The Lunar Jeep (LRV) was brought to the moon on July 30th 1971 by the "
+"astronauts David Scott and Jim Irwin from Apollo mission 15. Its batteries "
+"are still partly charged, which allows you to remote control it. But this "
+"old-fashioned technology will be of no use to you."
+msgstr ""
+
+#. type: \b; header
+#: object-help/mine.txt:1
+#, no-wrap
+msgid "Mine"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mine.txt:2
+#, no-wrap
+msgid "mine"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:4
+#, no-wrap
+msgid ""
+"Mines were a defensive weapons system used by the first expedition. Because "
+"of the dangers this system causes for the mission itself, they are no longer "
+"used in your expedition. In some exercises mines are used to learn how to "
+"avoid obstacles. There is no way to remove them or to create new ones."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:6
+#, no-wrap
+msgid ""
+"With a practice bot, don't get any closer than 2 meters "
+"to the position given by the instruction radar."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:12
+#, no-wrap
+msgid "Mine
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/mother.txt:1
+#, no-wrap
+msgid "Alien Queen"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mother.txt:2
+#, no-wrap
+msgid "mother"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:4
+#, no-wrap
+msgid ""
+"This huge insect is the mother of them all. It lays eggs "
+"and from these eggs will hatch all the various kinds of insects you're likely to encounter. All of them are extremely "
+"hazardous to yourself and your mission. The queen's protective shell is "
+"particularly resistant to attack."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "It gives birth to the following insects :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "ants"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:7
+#, no-wrap
+msgid "spiders"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:8
+#, no-wrap
+msgid "wasps"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:9
+#, no-wrap
+msgid "worms"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:13
+#, no-wrap
+msgid "AlienQueen
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nest.txt:1
+#, no-wrap
+msgid "Nest"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:3
+#, no-wrap
+msgid ""
+"The alien nest is an odd structure out of which organic "
+"matter erupts on a regular basis. Wasps visit nests "
+"regularly to collect ammunition that they will use to bombard your bots, "
+"buildings and yourself."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:6
+#, no-wrap
+msgid "AlienNest
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nuclear.txt:1
+#, no-wrap
+msgid " Nuclear Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/nuclear.txt:2
+#, no-wrap
+msgid "nuclear"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:4
+#, no-wrap
+msgid ""
+"The nuclear plant is a nuclear power cell factory. It "
+"transforms a chunk of uranium ore into a nuclear power cell fully charged and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:10
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:13
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:19
+#, no-wrap
+msgid "30 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:22
+#, no-wrap
+msgid "NuclearPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/power.txt:1
+#, no-wrap
+msgid "Regular Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/power.txt:2
+#, no-wrap
+msgid "power"
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:4
+#, no-wrap
+msgid "A power cell supplies the bots and a few buildings with energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:6
+#, no-wrap
+msgid ""
+"An entirely red power cell is empty. The green section indicates the "
+"remaining capacity. A power cell can be recharged using a power station. A power plant is "
+"needed to produce a new and fully charged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:8
+#, no-wrap
+msgid ""
+"The capacity of a regular power cell is 100 times smaller than that of a nuclear power cell produced by a nuclear "
+"plant using uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:14
+#, no-wrap
+msgid "PowerCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/radar.txt:1
+#, no-wrap
+msgid " Radar"
+msgstr ""
+
+#. type: Image filename
+#: object-help/radar.txt:2
+#, no-wrap
+msgid "radar"
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:4
+#, no-wrap
+msgid ""
+"The radar indicates the direction of the nearest enemy. Moreover, the information given by the radar allows "
+"the mini-map at the bottom right corner of your screen to show the position "
+"of all bots, buildings and enemies as small squares and triangles of "
+"different colors."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Radar stations also act as relays for communication with the Earth from "
+"distant planets."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:15
+#, no-wrap
+msgid "Information for the mini-map."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:21
+#, no-wrap
+msgid "Constant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:24
+#, no-wrap
+msgid "RadarStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/repair.txt:1
+#, no-wrap
+msgid " Repair Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/repair.txt:2
+#, no-wrap
+msgid "repair"
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:4
+#, no-wrap
+msgid ""
+"The repair center regenerates the shield on damaged bots. A bot's shield "
+"will absorb a certain amount of enemy hits. If there is "
+"no shield left, this means that the bot itself, when hit next, will be "
+"destroyed."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:10
+#, no-wrap
+msgid "Damaged bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:13
+#, no-wrap
+msgid "Repaired bot with regenerated shield."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:19
+#, no-wrap
+msgid "A few seconds depending on the repair job to be done."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:22
+#, no-wrap
+msgid "RepairCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/research.txt:1
+#, no-wrap
+msgid " Research Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/research.txt:2
+#, no-wrap
+msgid "research"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:4
+#, no-wrap
+msgid ""
+"The research center is an enormous computer. Its most useful feature is its "
+"ability to come up with new technologies as well as improvements on existing "
+"ones regarding buildings and bots in particular."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:7
+#, no-wrap
+msgid ""
+"The 65'536 processors it contains use up a large amount of energy.\n"
+"Each research program necessitates a brand new and fully charged power cell"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:10
+#, no-wrap
+msgid "Any flat surface of at least 5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:13
+#, no-wrap
+msgid "Request for research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:19 object-help/tower.txt:14
+#, no-wrap
+msgid "Regular or nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:22
+#, no-wrap
+msgid "Between 9 seconds and 1 minute depending on the research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:25
+#, no-wrap
+msgid "ResearchCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/safe.txt:1
+#, no-wrap
+msgid " Vault"
+msgstr ""
+
+#. type: Image filename
+#: object-help/safe.txt:2
+#, no-wrap
+msgid "safe"
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:4
+#, no-wrap
+msgid ""
+"This dome-shaped building was conceived by the first expedition. Its purpose "
+"was to offer protection to a new type of advanced bot. To protect it from "
+"insect attacks, the vault was locked by 4 keys. Only after "
+"you find the 4 keys and place each one of them on their corresponding slots "
+"will you be given access to the bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:7
+#, no-wrap
+msgid "Vault
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/spider.txt:1
+#, no-wrap
+msgid "Spider"
+msgstr ""
+
+#. type: Image filename
+#: object-help/spider.txt:2
+#, no-wrap
+msgid "spider"
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:4
+#, no-wrap
+msgid ""
+"Spiders work like suicide commandoes: whenever a spider gets within a close "
+"enough range of its target, it inflates its abdomen and bursts into a "
+"multitude of tiny burning fragments. These fragments will set fire to "
+"everything they get in contact with. Luckily the spider won't survive."
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:7
+#, no-wrap
+msgid "AlienSpider
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/start.txt:1
+#, no-wrap
+msgid "Starting Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:3
+#, no-wrap
+msgid "The starting pad is a platform used in some exercises. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:6
+#, no-wrap
+msgid "StartArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/station.txt:1
+#, no-wrap
+msgid " Power Station"
+msgstr ""
+
+#. type: Image filename
+#: object-help/station.txt:2
+#, no-wrap
+msgid "station"
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:4
+#, no-wrap
+msgid ""
+"The power station extracts energy from the underground and recharges regular power cells through induction. To recharge a power "
+"cell loaded at the back of a bot, just move the bot to the center of the "
+"platform and wait a few seconds. A power cell carried at "
+"arm's length can also be recharged. Nuclear power cells "
+"are non-rechargeable."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:6
+#, no-wrap
+msgid ""
+"A power plant needs some energy in the subsoil. If the satellite report says "
+"that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable to the "
+"construction of a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:8
+#, no-wrap
+msgid ""
+"The large power cell at the top of the station remaining red after the "
+"construction is completed can only mean that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface at least 6 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:14
+#, no-wrap
+msgid "Empty power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:17
+#, no-wrap
+msgid "Recharged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:23
+#, no-wrap
+msgid "A few seconds, depending on the capacity to be recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:26
+#, no-wrap
+msgid "PowerStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/stonspot.txt:1
+#, no-wrap
+msgid "Underground Titanium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/stonspot.txt:2
+#, no-wrap
+msgid "stonspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:4
+#, no-wrap
+msgid ""
+"A red cross reveals the presence of a stratum of titanium "
+"ore in the subsoil. It will be possible to extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a red cross each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of uranium ore as indicated by a yellow circle and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:12
+#, no-wrap
+msgid "TitaniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titanore.txt:1
+#, no-wrap
+msgid "Titanium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titanore.txt:2
+#, no-wrap
+msgid "titanore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of "
+"buildings, bots and regular power "
+"cells. The titanium you see in its usable, cube "
+"shaped form has been converted from raw chunks of "
+"titanium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:6
+#, no-wrap
+msgid ""
+"Titanium ore can be found either directly on the surface or in the "
+"subsoil. In the latter case, it needs to be first located and identified by "
+"a sniffer, then extracted using a derrick. If a sniffer identifies a titanium ore deposit, "
+"it lays down a red cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:12
+#, no-wrap
+msgid "TitaniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titan.txt:1
+#, no-wrap
+msgid "Titanium"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titan.txt:2
+#, no-wrap
+msgid "titan"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of buildings, bots and regular power cells. There "
+"is usually some left on the spaceship when you embark on "
+"a new mission."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:6
+#, no-wrap
+msgid ""
+"If more is needed, you'll have to convert chunks of titanium ore into usable titanium cubes."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:12
+#, no-wrap
+msgid "Titanium
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tnt.txt:1
+#, no-wrap
+msgid " Explosive (TNT)"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tnt.txt:2
+#, no-wrap
+msgid "tnt"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:4
+#, no-wrap
+msgid ""
+"A TNT charge is extremely sensitive. You should approach it with caution so "
+"as not to hit it or give it any kind of shock. The risk is minimized once "
+"the explosive is within a grabber's grasp."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:10
+#, no-wrap
+msgid "TNT
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tower.txt:1
+#, no-wrap
+msgid " Defense Tower"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tower.txt:2
+#, no-wrap
+msgid "tower"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:4
+#, no-wrap
+msgid ""
+"The tower constitutes the best defense against enemy "
+"attacks, whether they originate on the ground or from the skies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:6
+#, no-wrap
+msgid ""
+"The tower requires either a regular or a nuclear power cell. A regular power cell provides a "
+"capacity for 8 shots. A nuclear power cell is of course preferable. The "
+"tower starts blinking when it runs out of power."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:8
+#, no-wrap
+msgid ""
+"The range is 40 meters. To visualize it, select the tower then hit the "
+"DefenseTower
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranore.txt:1
+#, no-wrap
+msgid "Uranium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranore.txt:2
+#, no-wrap
+msgid "uranore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:4
+#, no-wrap
+msgid ""
+"Uranium ore is essential to the production of nuclear power "
+"cells."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:6
+#, no-wrap
+msgid ""
+"It is to be found on the surface or in the subsoil. In the latter case, it "
+"needs to be first located and identified by a sniffer, "
+"then extracted using a derrick. If a sniffer "
+"identifies a deposit of uranium ore, it lays down a yellow circle."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:8
+#, no-wrap
+msgid ""
+"A nuclear plant will then take care of converting the "
+"chunk into a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:11
+#, no-wrap
+msgid ""
+"All grabbers. Due to its radioactivity, the astronaut can not transport it."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:14
+#, no-wrap
+msgid "UraniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranspot.txt:1
+#, no-wrap
+msgid " Underground Uranium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranspot.txt:2
+#, no-wrap
+msgid "uranspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:4
+#, no-wrap
+msgid ""
+"A yellow circle reveals the presence of a stratum of uranium ore in the subsoil. It will be possible to "
+"extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a yellow circle each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of titanium ore as indicated by a red cross and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:13
+#, no-wrap
+msgid "UraniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wasp.txt:1
+#, no-wrap
+msgid "Wasp"
+msgstr ""
+
+#. type: Image filename
+#: object-help/wasp.txt:2
+#, no-wrap
+msgid "wasp"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:4
+#, no-wrap
+msgid ""
+"The wasp is a formidable enemy, very hard to shoot down since its flying is "
+"particularly swift. Wasps carry balls of organic matter "
+"that they will hurl at your bots and buildings and at yourself from above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:6
+#, no-wrap
+msgid "The defense tower is the easiest way to get rid of them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:9
+#, no-wrap
+msgid "AlienWasp
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/waypoint.txt:1
+#, no-wrap
+msgid "Checkpoint"
+msgstr ""
+
+#. type: Image filename
+#: object-help/waypoint.txt:2
+#, no-wrap
+msgid "waypoint"
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:4
+#, no-wrap
+msgid ""
+"In the exercises, blue crosses indicate positions that have to be "
+"crossed. They disappear as soon as a practice bot "
+"crosses them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:10
+#, no-wrap
+msgid "WayPoint
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/worm.txt:1
+#, no-wrap
+msgid "Worm"
+msgstr ""
+
+#. type: Image filename
+#: object-help/worm.txt:2
+#, no-wrap
+msgid "worm"
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:4
+#, no-wrap
+msgid ""
+"Worms transmit viruses to programmed bots. The virus alters the programming "
+"to such an extent that the bot either functions in a very erratic way or "
+"stops functioning altogether."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:6
+#, no-wrap
+msgid ""
+"Worms live in the subsoil but sometimes emerge and crawl on the "
+"surface. When they are underground they are undetectable and indestructible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:9
+#, no-wrap
+msgid "AlienWorm
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wreck.txt:1
+#, no-wrap
+msgid "Derelict bot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:3
+#, no-wrap
+msgid ""
+"A derelict bot is what's left of a bot after it has been disabled by a spider or by friendly fire."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:5
+#, no-wrap
+msgid ""
+"A recycler can convert a derelict bot back into a "
+"reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:8
+#, no-wrap
+msgid "Wreck
"
+msgstr ""
diff --git a/help/object/po/object.pot b/help/object/po/object.pot
new file mode 100644
index 00000000..0f407bbe
--- /dev/null
+++ b/help/object/po/object.pot
@@ -0,0 +1,1990 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR AlienAnt
"
+msgstr ""
+
+#. type: \t; header
+#: object-help/ant.txt:10 object-help/atomic.txt:14 object-help/barrier.txt:7 object-help/base.txt:10 object-help/bbox.txt:13 object-help/bullet.txt:11 object-help/captor.txt:24 object-help/convert.txt:23 object-help/derrick.txt:28 object-help/egg.txt:7 object-help/energy.txt:27 object-help/enerspot.txt:16 object-help/exchange.txt:30 object-help/factory.txt:32 object-help/flag.txt:21 object-help/goal.txt:7 object-help/human.txt:18 object-help/huston.txt:10 object-help/key.txt:16 object-help/labo.txt:23 object-help/mine.txt:13 object-help/mother.txt:14 object-help/nest.txt:7 object-help/nuclear.txt:23 object-help/power.txt:15 object-help/radar.txt:25 object-help/repair.txt:23 object-help/research.txt:26 object-help/safe.txt:8 object-help/spider.txt:8 object-help/start.txt:7 object-help/station.txt:27 object-help/stonspot.txt:13 object-help/titanore.txt:13 object-help/titan.txt:13 object-help/tnt.txt:11 object-help/tower.txt:21 object-help/uranore.txt:15 object-help/uranspot.txt:14 object-help/wasp.txt:10 object-help/waypoint.txt:11 object-help/worm.txt:10 object-help/wreck.txt:9
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: object-help/ant.txt:11 object-help/atomic.txt:15 object-help/barrier.txt:8 object-help/base.txt:11 object-help/bbox.txt:14 object-help/bullet.txt:12 object-help/captor.txt:25 object-help/convert.txt:24 object-help/derrick.txt:29 object-help/egg.txt:8 object-help/energy.txt:28 object-help/enerspot.txt:17 object-help/exchange.txt:31 object-help/factory.txt:33 object-help/flag.txt:22 object-help/goal.txt:8 object-help/human.txt:19 object-help/huston.txt:11 object-help/key.txt:17 object-help/labo.txt:24 object-help/mine.txt:14 object-help/mother.txt:15 object-help/nest.txt:8 object-help/nuclear.txt:24 object-help/power.txt:16 object-help/radar.txt:26 object-help/repair.txt:24 object-help/research.txt:27 object-help/safe.txt:9 object-help/spider.txt:9 object-help/start.txt:8 object-help/station.txt:28 object-help/stonspot.txt:14 object-help/titanore.txt:14 object-help/titan.txt:14 object-help/tnt.txt:12 object-help/tower.txt:22 object-help/uranore.txt:16 object-help/uranspot.txt:15 object-help/wasp.txt:11 object-help/waypoint.txt:12 object-help/worm.txt:11 object-help/wreck.txt:10
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: object-help/atomic.txt:1
+#, no-wrap
+msgid "Nuclear Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/atomic.txt:2
+#, no-wrap
+msgid "atomic"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:5
+#, no-wrap
+msgid ""
+"A nuclear power cell supplies the bots and some buildings with energy.\n"
+"Its capacity is 100 times that of a regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:7
+#, no-wrap
+msgid ""
+"Nuclear power cells cannot be recharged or recycled. A nuclear plant and some uranium ore "
+"is needed to produce a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: \t; header
+#: object-help/atomic.txt:8 object-help/bbox.txt:7 object-help/bullet.txt:5 object-help/enerspot.txt:10 object-help/flag.txt:11 object-help/key.txt:10 object-help/mine.txt:7 object-help/power.txt:9 object-help/stonspot.txt:7 object-help/titanore.txt:7 object-help/titan.txt:7 object-help/tnt.txt:5 object-help/uranore.txt:9 object-help/uranspot.txt:8 object-help/waypoint.txt:5
+#, no-wrap
+msgid "Transport"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:10 object-help/bbox.txt:9 object-help/bullet.txt:7 object-help/key.txt:12 object-help/power.txt:11 object-help/titanore.txt:9 object-help/titan.txt:9 object-help/tnt.txt:7
+#, no-wrap
+msgid "All grabbers and the astronaut."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:13
+#, no-wrap
+msgid "NuclearCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/barrier.txt:1
+#, no-wrap
+msgid "Barrier"
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:3
+#, no-wrap
+msgid "The barrier is nothing more than an obstacle used in the exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:6
+#, no-wrap
+msgid "Barrier
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/base.txt:1
+#, no-wrap
+msgid " Spaceship"
+msgstr ""
+
+#. type: Image filename
+#: object-help/base.txt:2
+#, no-wrap
+msgid "base"
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:4
+#, no-wrap
+msgid ""
+"Your means of transportation from one planet to the "
+"next, the only way to travel safely across the cosmos and accomplish your "
+"missions."
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:6
+#, no-wrap
+msgid ""
+"In addition to yourself, the spaceship can carry bots and raw "
+"materials. Whenever a mission is completed, you must select the spaceship, "
+"then click on the SpaceShip
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bbox.txt:1
+#, no-wrap
+msgid "Black Box"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bbox.txt:2
+#, no-wrap
+msgid "bbox"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:4
+#, no-wrap
+msgid ""
+"A black box is actually orange so as to be easier to identify and "
+"locate. Each spaceship is equipped with a black box that "
+"records and stores information about the flight."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:6
+#, no-wrap
+msgid ""
+"A black box can also be used to leave important information. On every planet "
+"the first expedition has left a black box containing the coordinates of the "
+"planet it was heading towards next."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:12
+#, no-wrap
+msgid "BlackBox
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bullet.txt:1
+#, no-wrap
+msgid "Organic Matter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bullet.txt:2
+#, no-wrap
+msgid "bullet"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:4
+#, no-wrap
+msgid ""
+"The organic matter is the insects' secretion. Wasps often "
+"use balls of organic matter to bombard you. You should perhaps try to get "
+"hold of some since it could allow you, given the necessary analysis, to discover new and strange technologies that will "
+"improve the efficiency of your bots."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:10
+#, no-wrap
+msgid "OrgaMatter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/captor.txt:1
+#, no-wrap
+msgid " Power Captor"
+msgstr ""
+
+#. type: Image filename
+#: object-help/captor.txt:2
+#, no-wrap
+msgid "captor"
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:5
+#, no-wrap
+msgid ""
+"The power captor acts as both a lightning conductor and a power converter.\n"
+"It offers protection within a radius of 50 meters against the perilous "
+"lightning bolts of magnetic storms. Additionally, when the captor is hit by "
+"lightning, all bots and power cells placed underneath, "
+"with the exception of the nuclear power cells, are "
+"recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:7
+#, no-wrap
+msgid ""
+"To visualize the zone shielded by a power captor, select it then hit the "
+"PowerCaptor
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/convert.txt:1
+#, no-wrap
+msgid " Converter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/convert.txt:2
+#, no-wrap
+msgid "convert"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:4
+#, no-wrap
+msgid ""
+"This building was designed to convert chunks of titanium "
+"ore into usable titanium cubes. All you need to do is place a chunk at the center of the "
+"platform and step back. The converter takes care of the rest."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:7 object-help/labo.txt:7 object-help/repair.txt:7
+#, no-wrap
+msgid "Any flat surface of at least 6 meters wide."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:8 object-help/derrick.txt:13 object-help/energy.txt:12 object-help/exchange.txt:15 object-help/factory.txt:17 object-help/labo.txt:8 object-help/nuclear.txt:8 object-help/radar.txt:10 object-help/repair.txt:8 object-help/research.txt:11 object-help/station.txt:12
+#, no-wrap
+msgid "Input"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:10
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:11 object-help/derrick.txt:16 object-help/energy.txt:15 object-help/exchange.txt:18 object-help/factory.txt:20 object-help/labo.txt:11 object-help/nuclear.txt:11 object-help/radar.txt:13 object-help/repair.txt:11 object-help/research.txt:14 object-help/station.txt:15
+#, no-wrap
+msgid "Output"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:13 object-help/energy.txt:14 object-help/factory.txt:19
+#, no-wrap
+msgid "Titanium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:16 object-help/derrick.txt:21 object-help/exchange.txt:17 object-help/exchange.txt:23 object-help/factory.txt:25 object-help/labo.txt:16 object-help/nuclear.txt:16 object-help/radar.txt:12 object-help/radar.txt:18 object-help/repair.txt:16
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:19 object-help/factory.txt:28
+#, no-wrap
+msgid "15 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:22
+#, no-wrap
+msgid "Converter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/derrick.txt:1
+#, no-wrap
+msgid " Derrick"
+msgstr ""
+
+#. type: Image filename
+#: object-help/derrick.txt:2
+#, no-wrap
+msgid "derrick"
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:4
+#, no-wrap
+msgid "The derrick is intended for the extraction of raw materials."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:6
+#, no-wrap
+msgid ""
+"In order to determine the best site on which to erect a derrick, a sniffer should be used to prospect the subsoil. The marks "
+"it lays down provide information about the specifics of what the derrick "
+"will be able to extract:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:7
+#, no-wrap
+msgid "a red cross -> titanium ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:8
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:12
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:15
+#, no-wrap
+msgid "Titanium or uranium ore in the subsoil."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:18
+#, no-wrap
+msgid "Chunks of titanium or uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:24
+#, no-wrap
+msgid "10 seconds for titanium and 30 for uranium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:27
+#, no-wrap
+msgid "Derrick
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/egg.txt:1
+#, no-wrap
+msgid "Alien Egg"
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:3
+#, no-wrap
+msgid ""
+"The alien eggs are laid by the Alien Queen. After a "
+"short time, they will hatch and an ant, a wasp, a spider or a worm will come out."
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:6
+#, no-wrap
+msgid "AlienEgg
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/energy.txt:1
+#, no-wrap
+msgid " Power Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/energy.txt:2
+#, no-wrap
+msgid "energy"
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:4
+#, no-wrap
+msgid ""
+"The power plant is a power cell factory. It transforms a "
+"titanium cube into a regular power cell fully charged "
+"and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:6
+#, no-wrap
+msgid ""
+"A power plant requires some energy in the subsoil. If the satellite report "
+"says that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable for the "
+"construction of a power plant or a power station."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:8
+#, no-wrap
+msgid ""
+"If the large power cell at the base of the plant remains red after the "
+"construction is completed, this means that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 4 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:17
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:20 object-help/station.txt:20
+#, no-wrap
+msgid "Subsoil energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:23
+#, no-wrap
+msgid "12 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:26
+#, no-wrap
+msgid "PowerPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/enerspot.txt:1
+#, no-wrap
+msgid "Underground Energy Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/enerspot.txt:2
+#, no-wrap
+msgid "enerspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:4
+#, no-wrap
+msgid ""
+"Whenever a sniffer uncovers a source of energy in the "
+"subsoil, it lays down a green cross. The following buildings can be erected "
+"nearby :"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:5
+#, no-wrap
+msgid "Power station"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:6
+#, no-wrap
+msgid "Power plant"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:9
+#, no-wrap
+msgid ""
+"In order to prospect the subsoil you need a sniffer bot, "
+"which can also discover titanium ore deposits "
+"(indicated by a red cross) or uranium ore deposits (indicated by a yellow circle)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:12 object-help/flag.txt:13 object-help/mine.txt:9 object-help/stonspot.txt:9 object-help/uranspot.txt:10 object-help/waypoint.txt:7
+#, no-wrap
+msgid "Impossible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:15
+#, no-wrap
+msgid "EnergySite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/exchange.txt:1
+#, no-wrap
+msgid " Information Exchange Post"
+msgstr ""
+
+#. type: Image filename
+#: object-help/exchange.txt:2
+#, no-wrap
+msgid "info"
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:8
+#, no-wrap
+msgid ""
+"This building stores digital information. A post can contain up to 10 pieces "
+"of information, each one referenced by a name.\n"
+"For example, a post can contain 3 informations¦:send
.\n"
+"To read information from a post, you must execute the command receive
."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:14 object-help/radar.txt:9
+#, no-wrap
+msgid "Any flat surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:20
+#, no-wrap
+msgid "Digital information."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:29
+#, no-wrap
+msgid "ExchangePost
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/factory.txt:1
+#, no-wrap
+msgid " Bot Factory"
+msgstr ""
+
+#. type: Image filename
+#: object-help/factory.txt:2
+#, no-wrap
+msgid "factory"
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:4
+#, no-wrap
+msgid ""
+"This building is intended for the manufacturing of bots using titanium."
+msgstr ""
+
+#. type: Bullet: '1)'
+#: object-help/factory.txt:5
+#, no-wrap
+msgid "Place the titanium cube inside the factory."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: object-help/factory.txt:6
+#, no-wrap
+msgid "Step back out."
+msgstr ""
+
+#. type: Bullet: '3)'
+#: object-help/factory.txt:7
+#, no-wrap
+msgid "Select the factory."
+msgstr ""
+
+#. type: Bullet: '4)'
+#: object-help/factory.txt:8
+#, no-wrap
+msgid ""
+"Click on the button showing the diagram of the bot you want the factory to "
+"assemble (e.g. for a wheeled grabber)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:11
+#, no-wrap
+msgid ""
+"The finished bot does not include an onboard power "
+"cell. You'll need to supply it with one for it to be able to leave the "
+"factory."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:13
+#, no-wrap
+msgid ""
+"The list of feasible bots will depend upon the research your research center has completed at this time."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:16
+#, no-wrap
+msgid "Any flat surface of at least 7.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:22
+#, no-wrap
+msgid "Completed bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:31
+#, no-wrap
+msgid "BotFactory
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/flag.txt:1
+#, no-wrap
+msgid "Colored Flag"
+msgstr ""
+
+#. type: Image filename
+#: object-help/flag.txt:2
+#, no-wrap
+msgid "flag"
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:4
+#, no-wrap
+msgid ""
+"The colored flags are helpful to mark strategic locations or positions that "
+"you will need to find again. Flags appear on the "
+"mini-map in the shape of a cross of the same color as the flag."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:6
+#, no-wrap
+msgid ""
+"Use the buttons and to plant and remove flags, "
+"the colors of which you can choose with the buttons above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:8
+#, no-wrap
+msgid ""
+"When your mini-map is out of order, the fact that flags follow the direction "
+"of the wind can help you to find your way and not to walk around in circles."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:10
+#, no-wrap
+msgid ""
+"When programming, you can use flags to give a bot a reference to a certain "
+"position: the instruction radar
allows bots "
+"to know the exact position of a flag of a given color."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:20
+#, no-wrap
+msgid ""
+"BlueFlag
\n"
+"RedFlag
\n"
+"GreenFlag
\n"
+"YellowFlag
\n"
+"VioletFlag
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/goal.txt:1
+#, no-wrap
+msgid "Finishing Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:3
+#, no-wrap
+msgid "The finishing pad is an objective to be reached in some exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:6
+#, no-wrap
+msgid "GoalArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/human.txt:1
+#, no-wrap
+msgid " Astronaut"
+msgstr ""
+
+#. type: Image filename
+#: object-help/human.txt:2
+#, no-wrap
+msgid "human"
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:4
+#, no-wrap
+msgid "The astronaut is you within the game."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:6
+#, no-wrap
+msgid "If you die, the mission immediately fails."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:8
+#, no-wrap
+msgid ""
+"You can construct buildings with the help of the neutron gun holstered to "
+"your survival kit. The survival kit allows you, in most missions, to fly, "
+"thanks to the reactor placed underneath, or to swim with no time limit. You "
+"can carry most objects but the weight will slow down your movements "
+"considerably. Flying, swimming and walking underwater are also made "
+"impossible if you are carrying an object. The use of a grabber or a subber is advised for "
+"tasks such as these."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:10
+#, no-wrap
+msgid ""
+"You cannot carry uranium ore because of the risks "
+"attached to radioactivity. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:12
+#, no-wrap
+msgid ""
+"A special button allows you to ensure that the ground around "
+"you is flat. This is important since building is only possible on a flat "
+"surface. A flat surface is designated green while a sloping one is red."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:14
+#, no-wrap
+msgid ""
+"A button allows you to mark a location with flags of various colors. This can help you not to get lost, "
+"to find important positions again, or to indicate a position to a bot. 5 "
+"flags of 5 different colors are at your disposal. You can remove a flag by "
+"using the next button and store it for further use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:17
+#, no-wrap
+msgid "Me
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/huston.txt:1
+#, no-wrap
+msgid " Mission Control"
+msgstr ""
+
+#. type: Image filename
+#: object-help/huston.txt:2
+#, no-wrap
+msgid "huston"
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:4
+#, no-wrap
+msgid ""
+"Earth control center for all your space missions. Though "
+"still named after the well-known mission control of the old days, "
+"\"Houston\" is actually located in the middle of the Nevada Desert, the new "
+"center for space exploration activities."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:6
+#, no-wrap
+msgid ""
+"The Mission Control Center watches over you day and night, and a whole team "
+"of scientists and engineers are working hard trying to find a solution to "
+"all the problems that you encounter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:9
+#, no-wrap
+msgid "Houston
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/key.txt:1
+#, no-wrap
+msgid "Keys A, B, C and D"
+msgstr ""
+
+#. type: Image filename
+#: object-help/key.txt:2
+#, no-wrap
+msgid "key"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:4
+#, no-wrap
+msgid ""
+"The keys give you access to the vault. You'll need 4 of them."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:5
+#, no-wrap
+msgid "Key A, blue and triangle-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:6
+#, no-wrap
+msgid "Key B, red and pentagon-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:7
+#, no-wrap
+msgid "Key C, green and shaped like a 6-pointed star"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:8
+#, no-wrap
+msgid "Key D, yellow and circular"
+msgstr ""
+
+#. type: \t; header
+#: object-help/key.txt:13
+#, no-wrap
+msgid "Objects Category"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:15
+#, no-wrap
+msgid ""
+"KeyA
, KeyB
, KeyC
and "
+"KeyD
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/labo.txt:1
+#, no-wrap
+msgid " Autolab"
+msgstr ""
+
+#. type: Image filename
+#: object-help/labo.txt:2
+#, no-wrap
+msgid "labo"
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:4
+#, no-wrap
+msgid ""
+"The lab is intended for the analysis of organic "
+"matter. It will help you become familiar with the "
+"insects' very own technology and perhaps even use it to your "
+"advantage. Place a chunk of organic matter on the "
+"platform, select the lab, and click the button corresponding to the desired "
+"research program."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:10
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:13 object-help/research.txt:16
+#, no-wrap
+msgid "New and improved technologies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:19
+#, no-wrap
+msgid "20 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:22
+#, no-wrap
+msgid "AutoLab
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/lrv.txt:1
+#, no-wrap
+msgid "Apollo Lunar Roving Vehicle"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:6
+#, no-wrap
+msgid "< no archive picture available >
"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:9
+#, no-wrap
+msgid ""
+"The Lunar Jeep (LRV) was brought to the moon on July 30th 1971 by the "
+"astronauts David Scott and Jim Irwin from Apollo mission 15. Its batteries "
+"are still partly charged, which allows you to remote control it. But this "
+"old-fashioned technology will be of no use to you."
+msgstr ""
+
+#. type: \b; header
+#: object-help/mine.txt:1
+#, no-wrap
+msgid "Mine"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mine.txt:2
+#, no-wrap
+msgid "mine"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:4
+#, no-wrap
+msgid ""
+"Mines were a defensive weapons system used by the first expedition. Because "
+"of the dangers this system causes for the mission itself, they are no longer "
+"used in your expedition. In some exercises mines are used to learn how to "
+"avoid obstacles. There is no way to remove them or to create new ones."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:6
+#, no-wrap
+msgid ""
+"With a practice bot, don't get any closer than 2 meters "
+"to the position given by the instruction radar."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:12
+#, no-wrap
+msgid "Mine
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/mother.txt:1
+#, no-wrap
+msgid "Alien Queen"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mother.txt:2
+#, no-wrap
+msgid "mother"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:4
+#, no-wrap
+msgid ""
+"This huge insect is the mother of them all. It lays eggs "
+"and from these eggs will hatch all the various kinds of insects you're likely to encounter. All of them are extremely "
+"hazardous to yourself and your mission. The queen's protective shell is "
+"particularly resistant to attack."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "It gives birth to the following insects :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "ants"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:7
+#, no-wrap
+msgid "spiders"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:8
+#, no-wrap
+msgid "wasps"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:9
+#, no-wrap
+msgid "worms"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:13
+#, no-wrap
+msgid "AlienQueen
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nest.txt:1
+#, no-wrap
+msgid "Nest"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:3
+#, no-wrap
+msgid ""
+"The alien nest is an odd structure out of which organic "
+"matter erupts on a regular basis. Wasps visit nests "
+"regularly to collect ammunition that they will use to bombard your bots, "
+"buildings and yourself."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:6
+#, no-wrap
+msgid "AlienNest
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nuclear.txt:1
+#, no-wrap
+msgid " Nuclear Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/nuclear.txt:2
+#, no-wrap
+msgid "nuclear"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:4
+#, no-wrap
+msgid ""
+"The nuclear plant is a nuclear power cell factory. It "
+"transforms a chunk of uranium ore into a nuclear power cell fully charged and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:10
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:13
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:19
+#, no-wrap
+msgid "30 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:22
+#, no-wrap
+msgid "NuclearPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/power.txt:1
+#, no-wrap
+msgid "Regular Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/power.txt:2
+#, no-wrap
+msgid "power"
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:4
+#, no-wrap
+msgid "A power cell supplies the bots and a few buildings with energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:6
+#, no-wrap
+msgid ""
+"An entirely red power cell is empty. The green section indicates the "
+"remaining capacity. A power cell can be recharged using a power station. A power plant is "
+"needed to produce a new and fully charged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:8
+#, no-wrap
+msgid ""
+"The capacity of a regular power cell is 100 times smaller than that of a nuclear power cell produced by a nuclear "
+"plant using uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:14
+#, no-wrap
+msgid "PowerCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/radar.txt:1
+#, no-wrap
+msgid " Radar"
+msgstr ""
+
+#. type: Image filename
+#: object-help/radar.txt:2
+#, no-wrap
+msgid "radar"
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:4
+#, no-wrap
+msgid ""
+"The radar indicates the direction of the nearest enemy. Moreover, the information given by the radar allows "
+"the mini-map at the bottom right corner of your screen to show the position "
+"of all bots, buildings and enemies as small squares and triangles of "
+"different colors."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Radar stations also act as relays for communication with the Earth from "
+"distant planets."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:15
+#, no-wrap
+msgid "Information for the mini-map."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:21
+#, no-wrap
+msgid "Constant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:24
+#, no-wrap
+msgid "RadarStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/repair.txt:1
+#, no-wrap
+msgid " Repair Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/repair.txt:2
+#, no-wrap
+msgid "repair"
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:4
+#, no-wrap
+msgid ""
+"The repair center regenerates the shield on damaged bots. A bot's shield "
+"will absorb a certain amount of enemy hits. If there is "
+"no shield left, this means that the bot itself, when hit next, will be "
+"destroyed."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:10
+#, no-wrap
+msgid "Damaged bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:13
+#, no-wrap
+msgid "Repaired bot with regenerated shield."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:19
+#, no-wrap
+msgid "A few seconds depending on the repair job to be done."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:22
+#, no-wrap
+msgid "RepairCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/research.txt:1
+#, no-wrap
+msgid " Research Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/research.txt:2
+#, no-wrap
+msgid "research"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:4
+#, no-wrap
+msgid ""
+"The research center is an enormous computer. Its most useful feature is its "
+"ability to come up with new technologies as well as improvements on existing "
+"ones regarding buildings and bots in particular."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:7
+#, no-wrap
+msgid ""
+"The 65'536 processors it contains use up a large amount of energy.\n"
+"Each research program necessitates a brand new and fully charged power cell"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:10
+#, no-wrap
+msgid "Any flat surface of at least 5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:13
+#, no-wrap
+msgid "Request for research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:19 object-help/tower.txt:14
+#, no-wrap
+msgid "Regular or nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:22
+#, no-wrap
+msgid "Between 9 seconds and 1 minute depending on the research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:25
+#, no-wrap
+msgid "ResearchCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/safe.txt:1
+#, no-wrap
+msgid " Vault"
+msgstr ""
+
+#. type: Image filename
+#: object-help/safe.txt:2
+#, no-wrap
+msgid "safe"
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:4
+#, no-wrap
+msgid ""
+"This dome-shaped building was conceived by the first expedition. Its purpose "
+"was to offer protection to a new type of advanced bot. To protect it from "
+"insect attacks, the vault was locked by 4 keys. Only after "
+"you find the 4 keys and place each one of them on their corresponding slots "
+"will you be given access to the bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:7
+#, no-wrap
+msgid "Vault
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/spider.txt:1
+#, no-wrap
+msgid "Spider"
+msgstr ""
+
+#. type: Image filename
+#: object-help/spider.txt:2
+#, no-wrap
+msgid "spider"
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:4
+#, no-wrap
+msgid ""
+"Spiders work like suicide commandoes: whenever a spider gets within a close "
+"enough range of its target, it inflates its abdomen and bursts into a "
+"multitude of tiny burning fragments. These fragments will set fire to "
+"everything they get in contact with. Luckily the spider won't survive."
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:7
+#, no-wrap
+msgid "AlienSpider
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/start.txt:1
+#, no-wrap
+msgid "Starting Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:3
+#, no-wrap
+msgid "The starting pad is a platform used in some exercises. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:6
+#, no-wrap
+msgid "StartArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/station.txt:1
+#, no-wrap
+msgid " Power Station"
+msgstr ""
+
+#. type: Image filename
+#: object-help/station.txt:2
+#, no-wrap
+msgid "station"
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:4
+#, no-wrap
+msgid ""
+"The power station extracts energy from the underground and recharges regular power cells through induction. To recharge a power "
+"cell loaded at the back of a bot, just move the bot to the center of the "
+"platform and wait a few seconds. A power cell carried at "
+"arm's length can also be recharged. Nuclear power cells "
+"are non-rechargeable."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:6
+#, no-wrap
+msgid ""
+"A power plant needs some energy in the subsoil. If the satellite report says "
+"that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable to the "
+"construction of a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:8
+#, no-wrap
+msgid ""
+"The large power cell at the top of the station remaining red after the "
+"construction is completed can only mean that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface at least 6 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:14
+#, no-wrap
+msgid "Empty power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:17
+#, no-wrap
+msgid "Recharged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:23
+#, no-wrap
+msgid "A few seconds, depending on the capacity to be recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:26
+#, no-wrap
+msgid "PowerStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/stonspot.txt:1
+#, no-wrap
+msgid "Underground Titanium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/stonspot.txt:2
+#, no-wrap
+msgid "stonspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:4
+#, no-wrap
+msgid ""
+"A red cross reveals the presence of a stratum of titanium "
+"ore in the subsoil. It will be possible to extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a red cross each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of uranium ore as indicated by a yellow circle and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:12
+#, no-wrap
+msgid "TitaniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titanore.txt:1
+#, no-wrap
+msgid "Titanium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titanore.txt:2
+#, no-wrap
+msgid "titanore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of "
+"buildings, bots and regular power "
+"cells. The titanium you see in its usable, cube "
+"shaped form has been converted from raw chunks of "
+"titanium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:6
+#, no-wrap
+msgid ""
+"Titanium ore can be found either directly on the surface or in the "
+"subsoil. In the latter case, it needs to be first located and identified by "
+"a sniffer, then extracted using a derrick. If a sniffer identifies a titanium ore deposit, "
+"it lays down a red cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:12
+#, no-wrap
+msgid "TitaniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titan.txt:1
+#, no-wrap
+msgid "Titanium"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titan.txt:2
+#, no-wrap
+msgid "titan"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of buildings, bots and regular power cells. There "
+"is usually some left on the spaceship when you embark on "
+"a new mission."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:6
+#, no-wrap
+msgid ""
+"If more is needed, you'll have to convert chunks of titanium ore into usable titanium cubes."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:12
+#, no-wrap
+msgid "Titanium
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tnt.txt:1
+#, no-wrap
+msgid " Explosive (TNT)"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tnt.txt:2
+#, no-wrap
+msgid "tnt"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:4
+#, no-wrap
+msgid ""
+"A TNT charge is extremely sensitive. You should approach it with caution so "
+"as not to hit it or give it any kind of shock. The risk is minimized once "
+"the explosive is within a grabber's grasp."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:10
+#, no-wrap
+msgid "TNT
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tower.txt:1
+#, no-wrap
+msgid " Defense Tower"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tower.txt:2
+#, no-wrap
+msgid "tower"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:4
+#, no-wrap
+msgid ""
+"The tower constitutes the best defense against enemy "
+"attacks, whether they originate on the ground or from the skies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:6
+#, no-wrap
+msgid ""
+"The tower requires either a regular or a nuclear power cell. A regular power cell provides a "
+"capacity for 8 shots. A nuclear power cell is of course preferable. The "
+"tower starts blinking when it runs out of power."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:8
+#, no-wrap
+msgid ""
+"The range is 40 meters. To visualize it, select the tower then hit the "
+"DefenseTower
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranore.txt:1
+#, no-wrap
+msgid "Uranium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranore.txt:2
+#, no-wrap
+msgid "uranore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:4
+#, no-wrap
+msgid ""
+"Uranium ore is essential to the production of nuclear power "
+"cells."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:6
+#, no-wrap
+msgid ""
+"It is to be found on the surface or in the subsoil. In the latter case, it "
+"needs to be first located and identified by a sniffer, "
+"then extracted using a derrick. If a sniffer "
+"identifies a deposit of uranium ore, it lays down a yellow circle."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:8
+#, no-wrap
+msgid ""
+"A nuclear plant will then take care of converting the "
+"chunk into a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:11
+#, no-wrap
+msgid ""
+"All grabbers. Due to its radioactivity, the astronaut can not transport it."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:14
+#, no-wrap
+msgid "UraniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranspot.txt:1
+#, no-wrap
+msgid " Underground Uranium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranspot.txt:2
+#, no-wrap
+msgid "uranspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:4
+#, no-wrap
+msgid ""
+"A yellow circle reveals the presence of a stratum of uranium ore in the subsoil. It will be possible to "
+"extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a yellow circle each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of titanium ore as indicated by a red cross and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:13
+#, no-wrap
+msgid "UraniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wasp.txt:1
+#, no-wrap
+msgid "Wasp"
+msgstr ""
+
+#. type: Image filename
+#: object-help/wasp.txt:2
+#, no-wrap
+msgid "wasp"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:4
+#, no-wrap
+msgid ""
+"The wasp is a formidable enemy, very hard to shoot down since its flying is "
+"particularly swift. Wasps carry balls of organic matter "
+"that they will hurl at your bots and buildings and at yourself from above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:6
+#, no-wrap
+msgid "The defense tower is the easiest way to get rid of them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:9
+#, no-wrap
+msgid "AlienWasp
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/waypoint.txt:1
+#, no-wrap
+msgid "Checkpoint"
+msgstr ""
+
+#. type: Image filename
+#: object-help/waypoint.txt:2
+#, no-wrap
+msgid "waypoint"
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:4
+#, no-wrap
+msgid ""
+"In the exercises, blue crosses indicate positions that have to be "
+"crossed. They disappear as soon as a practice bot "
+"crosses them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:10
+#, no-wrap
+msgid "WayPoint
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/worm.txt:1
+#, no-wrap
+msgid "Worm"
+msgstr ""
+
+#. type: Image filename
+#: object-help/worm.txt:2
+#, no-wrap
+msgid "worm"
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:4
+#, no-wrap
+msgid ""
+"Worms transmit viruses to programmed bots. The virus alters the programming "
+"to such an extent that the bot either functions in a very erratic way or "
+"stops functioning altogether."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:6
+#, no-wrap
+msgid ""
+"Worms live in the subsoil but sometimes emerge and crawl on the "
+"surface. When they are underground they are undetectable and indestructible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:9
+#, no-wrap
+msgid "AlienWorm
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wreck.txt:1
+#, no-wrap
+msgid "Derelict bot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:3
+#, no-wrap
+msgid ""
+"A derelict bot is what's left of a bot after it has been disabled by a spider or by friendly fire."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:5
+#, no-wrap
+msgid ""
+"A recycler can convert a derelict bot back into a "
+"reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:8
+#, no-wrap
+msgid "Wreck
"
+msgstr ""
diff --git a/help/object/po/pl.po b/help/object/po/pl.po
new file mode 100644
index 00000000..d83e8e99
--- /dev/null
+++ b/help/object/po/pl.po
@@ -0,0 +1,1990 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR AlienAnt
"
+msgstr ""
+
+#. type: \t; header
+#: object-help/ant.txt:10 object-help/atomic.txt:14 object-help/barrier.txt:7 object-help/base.txt:10 object-help/bbox.txt:13 object-help/bullet.txt:11 object-help/captor.txt:24 object-help/convert.txt:23 object-help/derrick.txt:28 object-help/egg.txt:7 object-help/energy.txt:27 object-help/enerspot.txt:16 object-help/exchange.txt:30 object-help/factory.txt:32 object-help/flag.txt:21 object-help/goal.txt:7 object-help/human.txt:18 object-help/huston.txt:10 object-help/key.txt:16 object-help/labo.txt:23 object-help/mine.txt:13 object-help/mother.txt:14 object-help/nest.txt:7 object-help/nuclear.txt:23 object-help/power.txt:15 object-help/radar.txt:25 object-help/repair.txt:23 object-help/research.txt:26 object-help/safe.txt:8 object-help/spider.txt:8 object-help/start.txt:7 object-help/station.txt:27 object-help/stonspot.txt:13 object-help/titanore.txt:13 object-help/titan.txt:13 object-help/tnt.txt:11 object-help/tower.txt:21 object-help/uranore.txt:15 object-help/uranspot.txt:14 object-help/wasp.txt:10 object-help/waypoint.txt:11 object-help/worm.txt:10 object-help/wreck.txt:9
+#, no-wrap
+msgid "See also"
+msgstr ""
+
+#. type: Plain text
+#: object-help/ant.txt:11 object-help/atomic.txt:15 object-help/barrier.txt:8 object-help/base.txt:11 object-help/bbox.txt:14 object-help/bullet.txt:12 object-help/captor.txt:25 object-help/convert.txt:24 object-help/derrick.txt:29 object-help/egg.txt:8 object-help/energy.txt:28 object-help/enerspot.txt:17 object-help/exchange.txt:31 object-help/factory.txt:33 object-help/flag.txt:22 object-help/goal.txt:8 object-help/human.txt:19 object-help/huston.txt:11 object-help/key.txt:17 object-help/labo.txt:24 object-help/mine.txt:14 object-help/mother.txt:15 object-help/nest.txt:8 object-help/nuclear.txt:24 object-help/power.txt:16 object-help/radar.txt:26 object-help/repair.txt:24 object-help/research.txt:27 object-help/safe.txt:9 object-help/spider.txt:9 object-help/start.txt:8 object-help/station.txt:28 object-help/stonspot.txt:14 object-help/titanore.txt:14 object-help/titan.txt:14 object-help/tnt.txt:12 object-help/tower.txt:22 object-help/uranore.txt:16 object-help/uranspot.txt:15 object-help/wasp.txt:11 object-help/waypoint.txt:12 object-help/worm.txt:11 object-help/wreck.txt:10
+#, no-wrap
+msgid ""
+"CBOT Language, Variables and Categories."
+msgstr ""
+
+#. type: \b; header
+#: object-help/atomic.txt:1
+#, no-wrap
+msgid "Nuclear Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/atomic.txt:2
+#, no-wrap
+msgid "atomic"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:5
+#, no-wrap
+msgid ""
+"A nuclear power cell supplies the bots and some buildings with energy.\n"
+"Its capacity is 100 times that of a regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:7
+#, no-wrap
+msgid ""
+"Nuclear power cells cannot be recharged or recycled. A nuclear plant and some uranium ore "
+"is needed to produce a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: \t; header
+#: object-help/atomic.txt:8 object-help/bbox.txt:7 object-help/bullet.txt:5 object-help/enerspot.txt:10 object-help/flag.txt:11 object-help/key.txt:10 object-help/mine.txt:7 object-help/power.txt:9 object-help/stonspot.txt:7 object-help/titanore.txt:7 object-help/titan.txt:7 object-help/tnt.txt:5 object-help/uranore.txt:9 object-help/uranspot.txt:8 object-help/waypoint.txt:5
+#, no-wrap
+msgid "Transport"
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:10 object-help/bbox.txt:9 object-help/bullet.txt:7 object-help/key.txt:12 object-help/power.txt:11 object-help/titanore.txt:9 object-help/titan.txt:9 object-help/tnt.txt:7
+#, no-wrap
+msgid "All grabbers and the astronaut."
+msgstr ""
+
+#. type: Plain text
+#: object-help/atomic.txt:13
+#, no-wrap
+msgid "NuclearCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/barrier.txt:1
+#, no-wrap
+msgid "Barrier"
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:3
+#, no-wrap
+msgid "The barrier is nothing more than an obstacle used in the exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/barrier.txt:6
+#, no-wrap
+msgid "Barrier
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/base.txt:1
+#, no-wrap
+msgid " Spaceship"
+msgstr ""
+
+#. type: Image filename
+#: object-help/base.txt:2
+#, no-wrap
+msgid "base"
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:4
+#, no-wrap
+msgid ""
+"Your means of transportation from one planet to the "
+"next, the only way to travel safely across the cosmos and accomplish your "
+"missions."
+msgstr ""
+
+#. type: Plain text
+#: object-help/base.txt:6
+#, no-wrap
+msgid ""
+"In addition to yourself, the spaceship can carry bots and raw "
+"materials. Whenever a mission is completed, you must select the spaceship, "
+"then click on the SpaceShip
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bbox.txt:1
+#, no-wrap
+msgid "Black Box"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bbox.txt:2
+#, no-wrap
+msgid "bbox"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:4
+#, no-wrap
+msgid ""
+"A black box is actually orange so as to be easier to identify and "
+"locate. Each spaceship is equipped with a black box that "
+"records and stores information about the flight."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:6
+#, no-wrap
+msgid ""
+"A black box can also be used to leave important information. On every planet "
+"the first expedition has left a black box containing the coordinates of the "
+"planet it was heading towards next."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bbox.txt:12
+#, no-wrap
+msgid "BlackBox
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/bullet.txt:1
+#, no-wrap
+msgid "Organic Matter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/bullet.txt:2
+#, no-wrap
+msgid "bullet"
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:4
+#, no-wrap
+msgid ""
+"The organic matter is the insects' secretion. Wasps often "
+"use balls of organic matter to bombard you. You should perhaps try to get "
+"hold of some since it could allow you, given the necessary analysis, to discover new and strange technologies that will "
+"improve the efficiency of your bots."
+msgstr ""
+
+#. type: Plain text
+#: object-help/bullet.txt:10
+#, no-wrap
+msgid "OrgaMatter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/captor.txt:1
+#, no-wrap
+msgid " Power Captor"
+msgstr ""
+
+#. type: Image filename
+#: object-help/captor.txt:2
+#, no-wrap
+msgid "captor"
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:5
+#, no-wrap
+msgid ""
+"The power captor acts as both a lightning conductor and a power converter.\n"
+"It offers protection within a radius of 50 meters against the perilous "
+"lightning bolts of magnetic storms. Additionally, when the captor is hit by "
+"lightning, all bots and power cells placed underneath, "
+"with the exception of the nuclear power cells, are "
+"recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/captor.txt:7
+#, no-wrap
+msgid ""
+"To visualize the zone shielded by a power captor, select it then hit the "
+"PowerCaptor
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/convert.txt:1
+#, no-wrap
+msgid " Converter"
+msgstr ""
+
+#. type: Image filename
+#: object-help/convert.txt:2
+#, no-wrap
+msgid "convert"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:4
+#, no-wrap
+msgid ""
+"This building was designed to convert chunks of titanium "
+"ore into usable titanium cubes. All you need to do is place a chunk at the center of the "
+"platform and step back. The converter takes care of the rest."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:7 object-help/labo.txt:7 object-help/repair.txt:7
+#, no-wrap
+msgid "Any flat surface of at least 6 meters wide."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:8 object-help/derrick.txt:13 object-help/energy.txt:12 object-help/exchange.txt:15 object-help/factory.txt:17 object-help/labo.txt:8 object-help/nuclear.txt:8 object-help/radar.txt:10 object-help/repair.txt:8 object-help/research.txt:11 object-help/station.txt:12
+#, no-wrap
+msgid "Input"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:10
+#, no-wrap
+msgid "Titanium ore."
+msgstr ""
+
+#. type: \t; header
+#: object-help/convert.txt:11 object-help/derrick.txt:16 object-help/energy.txt:15 object-help/exchange.txt:18 object-help/factory.txt:20 object-help/labo.txt:11 object-help/nuclear.txt:11 object-help/radar.txt:13 object-help/repair.txt:11 object-help/research.txt:14 object-help/station.txt:15
+#, no-wrap
+msgid "Output"
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:13 object-help/energy.txt:14 object-help/factory.txt:19
+#, no-wrap
+msgid "Titanium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:16 object-help/derrick.txt:21 object-help/exchange.txt:17 object-help/exchange.txt:23 object-help/factory.txt:25 object-help/labo.txt:16 object-help/nuclear.txt:16 object-help/radar.txt:12 object-help/radar.txt:18 object-help/repair.txt:16
+#, no-wrap
+msgid "None."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:19 object-help/factory.txt:28
+#, no-wrap
+msgid "15 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/convert.txt:22
+#, no-wrap
+msgid "Converter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/derrick.txt:1
+#, no-wrap
+msgid " Derrick"
+msgstr ""
+
+#. type: Image filename
+#: object-help/derrick.txt:2
+#, no-wrap
+msgid "derrick"
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:4
+#, no-wrap
+msgid "The derrick is intended for the extraction of raw materials."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:6
+#, no-wrap
+msgid ""
+"In order to determine the best site on which to erect a derrick, a sniffer should be used to prospect the subsoil. The marks "
+"it lays down provide information about the specifics of what the derrick "
+"will be able to extract:"
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:7
+#, no-wrap
+msgid "a red cross -> titanium ore."
+msgstr ""
+
+#. type: Bullet: '-'
+#: object-help/derrick.txt:8
+#, no-wrap
+msgid ""
+"a yellow circle -> uranium "
+"ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:12
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:15
+#, no-wrap
+msgid "Titanium or uranium ore in the subsoil."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:18
+#, no-wrap
+msgid "Chunks of titanium or uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:24
+#, no-wrap
+msgid "10 seconds for titanium and 30 for uranium."
+msgstr ""
+
+#. type: Plain text
+#: object-help/derrick.txt:27
+#, no-wrap
+msgid "Derrick
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/egg.txt:1
+#, no-wrap
+msgid "Alien Egg"
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:3
+#, no-wrap
+msgid ""
+"The alien eggs are laid by the Alien Queen. After a "
+"short time, they will hatch and an ant, a wasp, a spider or a worm will come out."
+msgstr ""
+
+#. type: Plain text
+#: object-help/egg.txt:6
+#, no-wrap
+msgid "AlienEgg
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/energy.txt:1
+#, no-wrap
+msgid " Power Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/energy.txt:2
+#, no-wrap
+msgid "energy"
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:4
+#, no-wrap
+msgid ""
+"The power plant is a power cell factory. It transforms a "
+"titanium cube into a regular power cell fully charged "
+"and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:6
+#, no-wrap
+msgid ""
+"A power plant requires some energy in the subsoil. If the satellite report "
+"says that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable for the "
+"construction of a power plant or a power station."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:8
+#, no-wrap
+msgid ""
+"If the large power cell at the base of the plant remains red after the "
+"construction is completed, this means that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface of at least 4 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:17
+#, no-wrap
+msgid "Regular power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:20 object-help/station.txt:20
+#, no-wrap
+msgid "Subsoil energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:23
+#, no-wrap
+msgid "12 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/energy.txt:26
+#, no-wrap
+msgid "PowerPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/enerspot.txt:1
+#, no-wrap
+msgid "Underground Energy Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/enerspot.txt:2
+#, no-wrap
+msgid "enerspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:4
+#, no-wrap
+msgid ""
+"Whenever a sniffer uncovers a source of energy in the "
+"subsoil, it lays down a green cross. The following buildings can be erected "
+"nearby :"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:5
+#, no-wrap
+msgid "Power station"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/enerspot.txt:6
+#, no-wrap
+msgid "Power plant"
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:9
+#, no-wrap
+msgid ""
+"In order to prospect the subsoil you need a sniffer bot, "
+"which can also discover titanium ore deposits "
+"(indicated by a red cross) or uranium ore deposits (indicated by a yellow circle)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:12 object-help/flag.txt:13 object-help/mine.txt:9 object-help/stonspot.txt:9 object-help/uranspot.txt:10 object-help/waypoint.txt:7
+#, no-wrap
+msgid "Impossible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/enerspot.txt:15
+#, no-wrap
+msgid "EnergySite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/exchange.txt:1
+#, no-wrap
+msgid " Information Exchange Post"
+msgstr ""
+
+#. type: Image filename
+#: object-help/exchange.txt:2
+#, no-wrap
+msgid "info"
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:8
+#, no-wrap
+msgid ""
+"This building stores digital information. A post can contain up to 10 pieces "
+"of information, each one referenced by a name.\n"
+"For example, a post can contain 3 informations¦:send
.\n"
+"To read information from a post, you must execute the command receive
."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:14 object-help/radar.txt:9
+#, no-wrap
+msgid "Any flat surface of at least 2.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:20
+#, no-wrap
+msgid "Digital information."
+msgstr ""
+
+#. type: Plain text
+#: object-help/exchange.txt:29
+#, no-wrap
+msgid "ExchangePost
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/factory.txt:1
+#, no-wrap
+msgid " Bot Factory"
+msgstr ""
+
+#. type: Image filename
+#: object-help/factory.txt:2
+#, no-wrap
+msgid "factory"
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:4
+#, no-wrap
+msgid ""
+"This building is intended for the manufacturing of bots using titanium."
+msgstr ""
+
+#. type: Bullet: '1)'
+#: object-help/factory.txt:5
+#, no-wrap
+msgid "Place the titanium cube inside the factory."
+msgstr ""
+
+#. type: Bullet: '2)'
+#: object-help/factory.txt:6
+#, no-wrap
+msgid "Step back out."
+msgstr ""
+
+#. type: Bullet: '3)'
+#: object-help/factory.txt:7
+#, no-wrap
+msgid "Select the factory."
+msgstr ""
+
+#. type: Bullet: '4)'
+#: object-help/factory.txt:8
+#, no-wrap
+msgid ""
+"Click on the button showing the diagram of the bot you want the factory to "
+"assemble (e.g. for a wheeled grabber)."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:11
+#, no-wrap
+msgid ""
+"The finished bot does not include an onboard power "
+"cell. You'll need to supply it with one for it to be able to leave the "
+"factory."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:13
+#, no-wrap
+msgid ""
+"The list of feasible bots will depend upon the research your research center has completed at this time."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:16
+#, no-wrap
+msgid "Any flat surface of at least 7.5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:22
+#, no-wrap
+msgid "Completed bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/factory.txt:31
+#, no-wrap
+msgid "BotFactory
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/flag.txt:1
+#, no-wrap
+msgid "Colored Flag"
+msgstr ""
+
+#. type: Image filename
+#: object-help/flag.txt:2
+#, no-wrap
+msgid "flag"
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:4
+#, no-wrap
+msgid ""
+"The colored flags are helpful to mark strategic locations or positions that "
+"you will need to find again. Flags appear on the "
+"mini-map in the shape of a cross of the same color as the flag."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:6
+#, no-wrap
+msgid ""
+"Use the buttons and to plant and remove flags, "
+"the colors of which you can choose with the buttons above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:8
+#, no-wrap
+msgid ""
+"When your mini-map is out of order, the fact that flags follow the direction "
+"of the wind can help you to find your way and not to walk around in circles."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:10
+#, no-wrap
+msgid ""
+"When programming, you can use flags to give a bot a reference to a certain "
+"position: the instruction radar
allows bots "
+"to know the exact position of a flag of a given color."
+msgstr ""
+
+#. type: Plain text
+#: object-help/flag.txt:20
+#, no-wrap
+msgid ""
+"BlueFlag
\n"
+"RedFlag
\n"
+"GreenFlag
\n"
+"YellowFlag
\n"
+"VioletFlag
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/goal.txt:1
+#, no-wrap
+msgid "Finishing Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:3
+#, no-wrap
+msgid "The finishing pad is an objective to be reached in some exercises."
+msgstr ""
+
+#. type: Plain text
+#: object-help/goal.txt:6
+#, no-wrap
+msgid "GoalArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/human.txt:1
+#, no-wrap
+msgid " Astronaut"
+msgstr ""
+
+#. type: Image filename
+#: object-help/human.txt:2
+#, no-wrap
+msgid "human"
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:4
+#, no-wrap
+msgid "The astronaut is you within the game."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:6
+#, no-wrap
+msgid "If you die, the mission immediately fails."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:8
+#, no-wrap
+msgid ""
+"You can construct buildings with the help of the neutron gun holstered to "
+"your survival kit. The survival kit allows you, in most missions, to fly, "
+"thanks to the reactor placed underneath, or to swim with no time limit. You "
+"can carry most objects but the weight will slow down your movements "
+"considerably. Flying, swimming and walking underwater are also made "
+"impossible if you are carrying an object. The use of a grabber or a subber is advised for "
+"tasks such as these."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:10
+#, no-wrap
+msgid ""
+"You cannot carry uranium ore because of the risks "
+"attached to radioactivity. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:12
+#, no-wrap
+msgid ""
+"A special button allows you to ensure that the ground around "
+"you is flat. This is important since building is only possible on a flat "
+"surface. A flat surface is designated green while a sloping one is red."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:14
+#, no-wrap
+msgid ""
+"A button allows you to mark a location with flags of various colors. This can help you not to get lost, "
+"to find important positions again, or to indicate a position to a bot. 5 "
+"flags of 5 different colors are at your disposal. You can remove a flag by "
+"using the next button and store it for further use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/human.txt:17
+#, no-wrap
+msgid "Me
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/huston.txt:1
+#, no-wrap
+msgid " Mission Control"
+msgstr ""
+
+#. type: Image filename
+#: object-help/huston.txt:2
+#, no-wrap
+msgid "huston"
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:4
+#, no-wrap
+msgid ""
+"Earth control center for all your space missions. Though "
+"still named after the well-known mission control of the old days, "
+"\"Houston\" is actually located in the middle of the Nevada Desert, the new "
+"center for space exploration activities."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:6
+#, no-wrap
+msgid ""
+"The Mission Control Center watches over you day and night, and a whole team "
+"of scientists and engineers are working hard trying to find a solution to "
+"all the problems that you encounter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/huston.txt:9
+#, no-wrap
+msgid "Houston
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/key.txt:1
+#, no-wrap
+msgid "Keys A, B, C and D"
+msgstr ""
+
+#. type: Image filename
+#: object-help/key.txt:2
+#, no-wrap
+msgid "key"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:4
+#, no-wrap
+msgid ""
+"The keys give you access to the vault. You'll need 4 of them."
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:5
+#, no-wrap
+msgid "Key A, blue and triangle-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:6
+#, no-wrap
+msgid "Key B, red and pentagon-shaped"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:7
+#, no-wrap
+msgid "Key C, green and shaped like a 6-pointed star"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/key.txt:8
+#, no-wrap
+msgid "Key D, yellow and circular"
+msgstr ""
+
+#. type: \t; header
+#: object-help/key.txt:13
+#, no-wrap
+msgid "Objects Category"
+msgstr ""
+
+#. type: Plain text
+#: object-help/key.txt:15
+#, no-wrap
+msgid ""
+"KeyA
, KeyB
, KeyC
and "
+"KeyD
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/labo.txt:1
+#, no-wrap
+msgid " Autolab"
+msgstr ""
+
+#. type: Image filename
+#: object-help/labo.txt:2
+#, no-wrap
+msgid "labo"
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:4
+#, no-wrap
+msgid ""
+"The lab is intended for the analysis of organic "
+"matter. It will help you become familiar with the "
+"insects' very own technology and perhaps even use it to your "
+"advantage. Place a chunk of organic matter on the "
+"platform, select the lab, and click the button corresponding to the desired "
+"research program."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:10
+#, no-wrap
+msgid "Organic matter."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:13 object-help/research.txt:16
+#, no-wrap
+msgid "New and improved technologies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:19
+#, no-wrap
+msgid "20 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/labo.txt:22
+#, no-wrap
+msgid "AutoLab
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/lrv.txt:1
+#, no-wrap
+msgid "Apollo Lunar Roving Vehicle"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:6
+#, no-wrap
+msgid "< no archive picture available >
"
+msgstr ""
+
+#. type: Plain text
+#: object-help/lrv.txt:9
+#, no-wrap
+msgid ""
+"The Lunar Jeep (LRV) was brought to the moon on July 30th 1971 by the "
+"astronauts David Scott and Jim Irwin from Apollo mission 15. Its batteries "
+"are still partly charged, which allows you to remote control it. But this "
+"old-fashioned technology will be of no use to you."
+msgstr ""
+
+#. type: \b; header
+#: object-help/mine.txt:1
+#, no-wrap
+msgid "Mine"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mine.txt:2
+#, no-wrap
+msgid "mine"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:4
+#, no-wrap
+msgid ""
+"Mines were a defensive weapons system used by the first expedition. Because "
+"of the dangers this system causes for the mission itself, they are no longer "
+"used in your expedition. In some exercises mines are used to learn how to "
+"avoid obstacles. There is no way to remove them or to create new ones."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:6
+#, no-wrap
+msgid ""
+"With a practice bot, don't get any closer than 2 meters "
+"to the position given by the instruction radar."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mine.txt:12
+#, no-wrap
+msgid "Mine
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/mother.txt:1
+#, no-wrap
+msgid "Alien Queen"
+msgstr ""
+
+#. type: Image filename
+#: object-help/mother.txt:2
+#, no-wrap
+msgid "mother"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:4
+#, no-wrap
+msgid ""
+"This huge insect is the mother of them all. It lays eggs "
+"and from these eggs will hatch all the various kinds of insects you're likely to encounter. All of them are extremely "
+"hazardous to yourself and your mission. The queen's protective shell is "
+"particularly resistant to attack."
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "It gives birth to the following insects :\n"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:6
+#, no-wrap
+msgid "ants"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:7
+#, no-wrap
+msgid "spiders"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:8
+#, no-wrap
+msgid "wasps"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: object-help/mother.txt:9
+#, no-wrap
+msgid "worms"
+msgstr ""
+
+#. type: Plain text
+#: object-help/mother.txt:13
+#, no-wrap
+msgid "AlienQueen
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nest.txt:1
+#, no-wrap
+msgid "Nest"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:3
+#, no-wrap
+msgid ""
+"The alien nest is an odd structure out of which organic "
+"matter erupts on a regular basis. Wasps visit nests "
+"regularly to collect ammunition that they will use to bombard your bots, "
+"buildings and yourself."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nest.txt:6
+#, no-wrap
+msgid "AlienNest
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/nuclear.txt:1
+#, no-wrap
+msgid " Nuclear Plant"
+msgstr ""
+
+#. type: Image filename
+#: object-help/nuclear.txt:2
+#, no-wrap
+msgid "nuclear"
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:4
+#, no-wrap
+msgid ""
+"The nuclear plant is a nuclear power cell factory. It "
+"transforms a chunk of uranium ore into a nuclear power cell fully charged and ready for use."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:10
+#, no-wrap
+msgid "Uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:13
+#, no-wrap
+msgid "Nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:19
+#, no-wrap
+msgid "30 seconds."
+msgstr ""
+
+#. type: Plain text
+#: object-help/nuclear.txt:22
+#, no-wrap
+msgid "NuclearPlant
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/power.txt:1
+#, no-wrap
+msgid "Regular Power Cell"
+msgstr ""
+
+#. type: Image filename
+#: object-help/power.txt:2
+#, no-wrap
+msgid "power"
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:4
+#, no-wrap
+msgid "A power cell supplies the bots and a few buildings with energy."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:6
+#, no-wrap
+msgid ""
+"An entirely red power cell is empty. The green section indicates the "
+"remaining capacity. A power cell can be recharged using a power station. A power plant is "
+"needed to produce a new and fully charged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:8
+#, no-wrap
+msgid ""
+"The capacity of a regular power cell is 100 times smaller than that of a nuclear power cell produced by a nuclear "
+"plant using uranium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/power.txt:14
+#, no-wrap
+msgid "PowerCell
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/radar.txt:1
+#, no-wrap
+msgid " Radar"
+msgstr ""
+
+#. type: Image filename
+#: object-help/radar.txt:2
+#, no-wrap
+msgid "radar"
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:4
+#, no-wrap
+msgid ""
+"The radar indicates the direction of the nearest enemy. Moreover, the information given by the radar allows "
+"the mini-map at the bottom right corner of your screen to show the position "
+"of all bots, buildings and enemies as small squares and triangles of "
+"different colors."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:6
+#, no-wrap
+msgid ""
+"Radar stations also act as relays for communication with the Earth from "
+"distant planets."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:15
+#, no-wrap
+msgid "Information for the mini-map."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:21
+#, no-wrap
+msgid "Constant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/radar.txt:24
+#, no-wrap
+msgid "RadarStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/repair.txt:1
+#, no-wrap
+msgid " Repair Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/repair.txt:2
+#, no-wrap
+msgid "repair"
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:4
+#, no-wrap
+msgid ""
+"The repair center regenerates the shield on damaged bots. A bot's shield "
+"will absorb a certain amount of enemy hits. If there is "
+"no shield left, this means that the bot itself, when hit next, will be "
+"destroyed."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:10
+#, no-wrap
+msgid "Damaged bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:13
+#, no-wrap
+msgid "Repaired bot with regenerated shield."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:19
+#, no-wrap
+msgid "A few seconds depending on the repair job to be done."
+msgstr ""
+
+#. type: Plain text
+#: object-help/repair.txt:22
+#, no-wrap
+msgid "RepairCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/research.txt:1
+#, no-wrap
+msgid " Research Center"
+msgstr ""
+
+#. type: Image filename
+#: object-help/research.txt:2
+#, no-wrap
+msgid "research"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:4
+#, no-wrap
+msgid ""
+"The research center is an enormous computer. Its most useful feature is its "
+"ability to come up with new technologies as well as improvements on existing "
+"ones regarding buildings and bots in particular."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:7
+#, no-wrap
+msgid ""
+"The 65'536 processors it contains use up a large amount of energy.\n"
+"Each research program necessitates a brand new and fully charged power cell"
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:10
+#, no-wrap
+msgid "Any flat surface of at least 5 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:13
+#, no-wrap
+msgid "Request for research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:19 object-help/tower.txt:14
+#, no-wrap
+msgid "Regular or nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:22
+#, no-wrap
+msgid "Between 9 seconds and 1 minute depending on the research."
+msgstr ""
+
+#. type: Plain text
+#: object-help/research.txt:25
+#, no-wrap
+msgid "ResearchCenter
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/safe.txt:1
+#, no-wrap
+msgid " Vault"
+msgstr ""
+
+#. type: Image filename
+#: object-help/safe.txt:2
+#, no-wrap
+msgid "safe"
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:4
+#, no-wrap
+msgid ""
+"This dome-shaped building was conceived by the first expedition. Its purpose "
+"was to offer protection to a new type of advanced bot. To protect it from "
+"insect attacks, the vault was locked by 4 keys. Only after "
+"you find the 4 keys and place each one of them on their corresponding slots "
+"will you be given access to the bot."
+msgstr ""
+
+#. type: Plain text
+#: object-help/safe.txt:7
+#, no-wrap
+msgid "Vault
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/spider.txt:1
+#, no-wrap
+msgid "Spider"
+msgstr ""
+
+#. type: Image filename
+#: object-help/spider.txt:2
+#, no-wrap
+msgid "spider"
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:4
+#, no-wrap
+msgid ""
+"Spiders work like suicide commandoes: whenever a spider gets within a close "
+"enough range of its target, it inflates its abdomen and bursts into a "
+"multitude of tiny burning fragments. These fragments will set fire to "
+"everything they get in contact with. Luckily the spider won't survive."
+msgstr ""
+
+#. type: Plain text
+#: object-help/spider.txt:7
+#, no-wrap
+msgid "AlienSpider
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/start.txt:1
+#, no-wrap
+msgid "Starting Pad"
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:3
+#, no-wrap
+msgid "The starting pad is a platform used in some exercises. "
+msgstr ""
+
+#. type: Plain text
+#: object-help/start.txt:6
+#, no-wrap
+msgid "StartArea
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/station.txt:1
+#, no-wrap
+msgid " Power Station"
+msgstr ""
+
+#. type: Image filename
+#: object-help/station.txt:2
+#, no-wrap
+msgid "station"
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:4
+#, no-wrap
+msgid ""
+"The power station extracts energy from the underground and recharges regular power cells through induction. To recharge a power "
+"cell loaded at the back of a bot, just move the bot to the center of the "
+"platform and wait a few seconds. A power cell carried at "
+"arm's length can also be recharged. Nuclear power cells "
+"are non-rechargeable."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:6
+#, no-wrap
+msgid ""
+"A power plant needs some energy in the subsoil. If the satellite report says "
+"that energy is available only at some places, you will need a sniffer bot to prospect the subsoil. The marks it lays down "
+"provide information about the specifics of its findings: a green cross means that there is an energy deposit at "
+"this location beneath the surface, which is indispensable to the "
+"construction of a power station or a power plant."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:8
+#, no-wrap
+msgid ""
+"The large power cell at the top of the station remaining red after the "
+"construction is completed can only mean that the site is not geologically "
+"adequate."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:11
+#, no-wrap
+msgid "Any flat and geologically adequate surface at least 6 meters wide."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:14
+#, no-wrap
+msgid "Empty power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:17
+#, no-wrap
+msgid "Recharged power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:23
+#, no-wrap
+msgid "A few seconds, depending on the capacity to be recharged."
+msgstr ""
+
+#. type: Plain text
+#: object-help/station.txt:26
+#, no-wrap
+msgid "PowerStation
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/stonspot.txt:1
+#, no-wrap
+msgid "Underground Titanium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/stonspot.txt:2
+#, no-wrap
+msgid "stonspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:4
+#, no-wrap
+msgid ""
+"A red cross reveals the presence of a stratum of titanium "
+"ore in the subsoil. It will be possible to extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a red cross each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of uranium ore as indicated by a yellow circle and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/stonspot.txt:12
+#, no-wrap
+msgid "TitaniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titanore.txt:1
+#, no-wrap
+msgid "Titanium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titanore.txt:2
+#, no-wrap
+msgid "titanore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of "
+"buildings, bots and regular power "
+"cells. The titanium you see in its usable, cube "
+"shaped form has been converted from raw chunks of "
+"titanium ore."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:6
+#, no-wrap
+msgid ""
+"Titanium ore can be found either directly on the surface or in the "
+"subsoil. In the latter case, it needs to be first located and identified by "
+"a sniffer, then extracted using a derrick. If a sniffer identifies a titanium ore deposit, "
+"it lays down a red cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titanore.txt:12
+#, no-wrap
+msgid "TitaniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/titan.txt:1
+#, no-wrap
+msgid "Titanium"
+msgstr ""
+
+#. type: Image filename
+#: object-help/titan.txt:2
+#, no-wrap
+msgid "titan"
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:4
+#, no-wrap
+msgid ""
+"Titanium is indispensable for the construction of buildings, bots and regular power cells. There "
+"is usually some left on the spaceship when you embark on "
+"a new mission."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:6
+#, no-wrap
+msgid ""
+"If more is needed, you'll have to convert chunks of titanium ore into usable titanium cubes."
+msgstr ""
+
+#. type: Plain text
+#: object-help/titan.txt:12
+#, no-wrap
+msgid "Titanium
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tnt.txt:1
+#, no-wrap
+msgid " Explosive (TNT)"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tnt.txt:2
+#, no-wrap
+msgid "tnt"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:4
+#, no-wrap
+msgid ""
+"A TNT charge is extremely sensitive. You should approach it with caution so "
+"as not to hit it or give it any kind of shock. The risk is minimized once "
+"the explosive is within a grabber's grasp."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tnt.txt:10
+#, no-wrap
+msgid "TNT
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/tower.txt:1
+#, no-wrap
+msgid " Defense Tower"
+msgstr ""
+
+#. type: Image filename
+#: object-help/tower.txt:2
+#, no-wrap
+msgid "tower"
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:4
+#, no-wrap
+msgid ""
+"The tower constitutes the best defense against enemy "
+"attacks, whether they originate on the ground or from the skies."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:6
+#, no-wrap
+msgid ""
+"The tower requires either a regular or a nuclear power cell. A regular power cell provides a "
+"capacity for 8 shots. A nuclear power cell is of course preferable. The "
+"tower starts blinking when it runs out of power."
+msgstr ""
+
+#. type: Plain text
+#: object-help/tower.txt:8
+#, no-wrap
+msgid ""
+"The range is 40 meters. To visualize it, select the tower then hit the "
+"DefenseTower
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranore.txt:1
+#, no-wrap
+msgid "Uranium Ore"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranore.txt:2
+#, no-wrap
+msgid "uranore"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:4
+#, no-wrap
+msgid ""
+"Uranium ore is essential to the production of nuclear power "
+"cells."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:6
+#, no-wrap
+msgid ""
+"It is to be found on the surface or in the subsoil. In the latter case, it "
+"needs to be first located and identified by a sniffer, "
+"then extracted using a derrick. If a sniffer "
+"identifies a deposit of uranium ore, it lays down a yellow circle."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:8
+#, no-wrap
+msgid ""
+"A nuclear plant will then take care of converting the "
+"chunk into a new and fully charged nuclear power cell."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:11
+#, no-wrap
+msgid ""
+"All grabbers. Due to its radioactivity, the astronaut can not transport it."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranore.txt:14
+#, no-wrap
+msgid "UraniumOre
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/uranspot.txt:1
+#, no-wrap
+msgid " Underground Uranium Deposit"
+msgstr ""
+
+#. type: Image filename
+#: object-help/uranspot.txt:2
+#, no-wrap
+msgid "uranspot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:4
+#, no-wrap
+msgid ""
+"A yellow circle reveals the presence of a stratum of uranium ore in the subsoil. It will be possible to "
+"extract it using a derrick."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:6
+#, no-wrap
+msgid ""
+"A sniffer will lay down a yellow circle each time it "
+"uncovers a deposit. Sniffer bots can also detect the "
+"presence of titanium ore as indicated by a red cross and of energy as indicated by a green cross."
+msgstr ""
+
+#. type: Plain text
+#: object-help/uranspot.txt:13
+#, no-wrap
+msgid "UraniumSite
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wasp.txt:1
+#, no-wrap
+msgid "Wasp"
+msgstr ""
+
+#. type: Image filename
+#: object-help/wasp.txt:2
+#, no-wrap
+msgid "wasp"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:4
+#, no-wrap
+msgid ""
+"The wasp is a formidable enemy, very hard to shoot down since its flying is "
+"particularly swift. Wasps carry balls of organic matter "
+"that they will hurl at your bots and buildings and at yourself from above."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:6
+#, no-wrap
+msgid "The defense tower is the easiest way to get rid of them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wasp.txt:9
+#, no-wrap
+msgid "AlienWasp
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/waypoint.txt:1
+#, no-wrap
+msgid "Checkpoint"
+msgstr ""
+
+#. type: Image filename
+#: object-help/waypoint.txt:2
+#, no-wrap
+msgid "waypoint"
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:4
+#, no-wrap
+msgid ""
+"In the exercises, blue crosses indicate positions that have to be "
+"crossed. They disappear as soon as a practice bot "
+"crosses them."
+msgstr ""
+
+#. type: Plain text
+#: object-help/waypoint.txt:10
+#, no-wrap
+msgid "WayPoint
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/worm.txt:1
+#, no-wrap
+msgid "Worm"
+msgstr ""
+
+#. type: Image filename
+#: object-help/worm.txt:2
+#, no-wrap
+msgid "worm"
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:4
+#, no-wrap
+msgid ""
+"Worms transmit viruses to programmed bots. The virus alters the programming "
+"to such an extent that the bot either functions in a very erratic way or "
+"stops functioning altogether."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:6
+#, no-wrap
+msgid ""
+"Worms live in the subsoil but sometimes emerge and crawl on the "
+"surface. When they are underground they are undetectable and indestructible."
+msgstr ""
+
+#. type: Plain text
+#: object-help/worm.txt:9
+#, no-wrap
+msgid "AlienWorm
"
+msgstr ""
+
+#. type: \b; header
+#: object-help/wreck.txt:1
+#, no-wrap
+msgid "Derelict bot"
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:3
+#, no-wrap
+msgid ""
+"A derelict bot is what's left of a bot after it has been disabled by a spider or by friendly fire."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:5
+#, no-wrap
+msgid ""
+"A recycler can convert a derelict bot back into a "
+"reusable titanium cube."
+msgstr ""
+
+#. type: Plain text
+#: object-help/wreck.txt:8
+#, no-wrap
+msgid "Wreck
"
+msgstr ""
diff --git a/levels-i18n/CMakeLists.txt b/levels-i18n/CMakeLists.txt
new file mode 100644
index 00000000..8acef611
--- /dev/null
+++ b/levels-i18n/CMakeLists.txt
@@ -0,0 +1,114 @@
+cmake_minimum_required(VERSION 2.8)
+
+# Meta-infrastructure to allow po-based translation of Colobot help files and scene-description (level) files.
+
+# set(LEVELS_I18N_PATH ${CMAKE_CURRENT_SOURCE_DIR})
+
+# set(LEVEL_CODENAME "scene100")
+# set(SCENEFILE "scene100/scene.txt")
+# set(SCENEDEST "scene101.txt") # If unset , use the same name as SCENEFILE
+# set(PODIR "scene100/po/")
+# set(HELPDIR "scene100/help/")
+# set(HELPDEST "")
+
+project(colobot-level-${LEVEL_CODENAME} NONE)
+
+if(NOT DEFINED COLOBOT_INSTALL_DATA_DIR)
+ set(COLOBOT_INSTALL_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/games/colobot CACHE PATH "Colobot shared data directory")
+endif()
+set(LEVEL_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/levels/)
+set(HELP_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/help/)
+
+# Translate translatable material
+find_program(PO4A po4a)
+
+### STEP 3 # Inject translations in levels
+set(_levels_i18n_target "levels_i18n")
+
+file(GLOB levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/${SCENEFILE}")
+foreach(levelfile ${levelfiles})
+ if(DEFINED SCENEDEST)
+ get_filename_component(_scenedest ${SCENEDEST} NAME)
+ else()
+ get_filename_component(_scenedest ${levelfile} NAME)
+ endif()
+ get_filename_component(_levelfile ${levelfile} NAME_WE)
+ if(PO4A AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PODIR}")
+ add_custom_command(OUTPUT ${_levels_i18n_target}/${_scenedest}
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}
+ COMMAND ${LEVELS_I18N_PATH}/scripts/03_inject_translations.sh ${levelfile} ${CMAKE_CURRENT_BINARY_DIR}/${LEVEL_CODENAME}/${_levelfile} ${PODIR} > ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}/${_scenedest}
+ DEPENDS po4a-${LEVEL_CODENAME}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMENT "${LEVEL_CODENAME}: Inject translation in ${_scenedest}"
+ )
+ else()
+ add_custom_command(OUTPUT ${_levels_i18n_target}/${_scenedest}
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}
+ COMMAND cp ${levelfile} ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}/${_scenedest}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMENT "${LEVEL_CODENAME}: Move untranslatable ${_scenedest}"
+ )
+ endif()
+ add_custom_target(level_i18n-${LEVEL_CODENAME}_${_levelfile} ALL DEPENDS ${_levels_i18n_target}/${_scenedest})
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}/${_scenedest}
+ DESTINATION ${LEVEL_INSTALL_DATA_DIR})
+endforeach()
+
+file(GLOB helpfiles "${CMAKE_CURRENT_SOURCE_DIR}/${HELPDIR}/E/*.txt")
+list(SORT helpfiles)
+
+if(PO4A AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PODIR}")
+ foreach(helpfile ${helpfiles})
+ get_filename_component(_helpfile_we ${helpfile} NAME_WE)
+ get_filename_component(_helpfile ${helpfile} NAME)
+
+ ### STEP 4 # Put translated help files in the correct place
+ set(_help_i18n_target "help_i18n_${LEVEL_CODENAME}_${_helpfile_we}")
+ add_custom_command(OUTPUT moved-all-${LEVEL_CODENAME}-${_helpfile}
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_help_i18n_target}
+ COMMAND ${LEVELS_I18N_PATH}/scripts/04_move_helpfiles_to_paths.sh ${LEVEL_CODENAME} ${LEVEL_CODENAME}-help/${_helpfile} ${_help_i18n_target} '${HELPDIR}' '${HELPDEST}' ${CMAKE_CURRENT_SOURCE_DIR} > moved-all-${LEVEL_CODENAME}-${_helpfile}
+ DEPENDS po4a-${LEVEL_CODENAME}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "${LEVEL_CODENAME}: Move ${_helpfile} translations around"
+ )
+ add_custom_target(help_i18n-${LEVEL_CODENAME}_${_helpfile_we} ALL DEPENDS moved-all-${LEVEL_CODENAME}-${_helpfile})
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_help_i18n_target}/
+ DESTINATION ${HELP_INSTALL_DATA_DIR})
+
+ endforeach()
+elseif(DEFINED HELPDIR AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${HELPDIR}")
+ set(_help_i18n_target "help_i18n_${LEVEL_CODENAME}")
+ add_custom_command(OUTPUT moved-all-${LEVEL_CODENAME}
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_help_i18n_target}
+ COMMAND ${LEVELS_I18N_PATH}/scripts/05_move_untranslated_helpfiles_to_paths.sh '${_help_i18n_target}' '${HELPDEST}' '${CMAKE_CURRENT_SOURCE_DIR}/${HELPDIR}' > moved-all-${LEVEL_CODENAME}-${_helpfile}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "${LEVEL_CODENAME}: Move untranslatable help files"
+ )
+ add_custom_target(help_i18n-${LEVEL_CODENAME} ALL DEPENDS moved-all-${LEVEL_CODENAME})
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_help_i18n_target}/
+ DESTINATION ${HELP_INSTALL_DATA_DIR})
+
+endif()
+
+
+#### STEP 1 # Create po4a.cfg file out of the list of files
+add_custom_command(OUTPUT po4a-${LEVEL_CODENAME}.cfg
+ COMMAND ${LEVELS_I18N_PATH}/scripts/01_create_po4a_file.sh ${CMAKE_CURRENT_SOURCE_DIR} ${PODIR} ${LEVEL_CODENAME} '${SCENEFILE}' '${HELPDIR}/E' > ${CMAKE_CURRENT_BINARY_DIR}/po4a-${LEVEL_CODENAME}.cfg
+ COMMENT "${LEVEL_CODENAME}: Create po4a configuration file"
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+if(PO4A AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PODIR})
+ #### STEP 2 # Run po4a
+ add_custom_command(OUTPUT po4a-ran-${LEVEL_CODENAME}
+ COMMAND ${LEVELS_I18N_PATH}/scripts/02_run_po4a.sh ${LEVELS_I18N_PATH} ${CMAKE_CURRENT_BINARY_DIR}/po4a-${LEVEL_CODENAME}.cfg
+ COMMAND touch po4a-ran-${LEVEL_CODENAME}
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/po4a-${LEVEL_CODENAME}.cfg
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "${LEVEL_CODENAME}: Run po4a to generate the translated files out of the .po files")
+ add_custom_target(po4a-${LEVEL_CODENAME} DEPENDS po4a-ran-${LEVEL_CODENAME})
+else()
+ message(STATUS "${LEVEL_CODENAME}: No translation needed or possible")
+ file(GLOB levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/levels/*.txt")
+ install(FILES ${levelfiles} DESTINATION ${LEVEL_INSTALL_DATA_DIR}/)
+endif()
diff --git a/levels-i18n/scripts/01_create_po4a_file.sh b/levels-i18n/scripts/01_create_po4a_file.sh
new file mode 100755
index 00000000..ad90a089
--- /dev/null
+++ b/levels-i18n/scripts/01_create_po4a_file.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+set -e
+
+# MUST be run from ${CMAKE_CURRENT_BINARY_DIR}
+
+srcdir=$1 # absolute
+PODIR=$2 # relative
+LEVEL_CODENAME=$3 # relative
+SCENEFILE=$4 # relative
+HELPDIR=$5 # relative
+
+if [ ! -d $LEVEL_CODENAME-po -o -h $LEVEL_CODENAME-po ]; then
+ rm -f $LEVEL_CODENAME-po
+ ln -sf $srcdir/$PODIR $LEVEL_CODENAME-po
+fi
+echo "[po_directory] $LEVEL_CODENAME-po"
+
+# Create a pseudo file for the translation of the language code
+echo "[type:text] ${LEVEL_CODENAME}.languagecode \$lang:${LEVEL_CODENAME}.\$lang.languagecode"
+echo "E" > ${LEVEL_CODENAME}.languagecode
+
+# Create symlink for relative paths in po4a
+mkdir -p $LEVEL_CODENAME
+
+if [ -n "$SCENEFILE" ]; then
+ # Levels are precompiled, they are already in the current dir
+ for scene in $(cd $srcdir/; ls $SCENEFILE); do
+ scene_=$(basename $scene .txt)
+ $(cd $LEVEL_CODENAME;
+ if [ ! -f $scene_.txt -o -h $scene_.txt ]; then
+ rm -f $scene_.txt;
+ ln -sf $srcdir/$scene $scene_.txt;
+ fi
+ )
+ echo "[type:colobotlevel] $LEVEL_CODENAME/$scene_.txt \$lang:$LEVEL_CODENAME/$scene_.\$lang.txt"
+ done
+fi
+
+# Create symlink for relative paths in po4a
+mkdir -p $LEVEL_CODENAME-help
+
+if [ -d $srcdir/$HELPDIR ]; then
+ for helpfile in $(cd $srcdir/$HELPDIR; ls *.txt); do
+ helpfile_=$(basename $helpfile .txt)
+ $(cd $LEVEL_CODENAME-help;
+ if [ ! -f $helpfile_.txt -o -h $helpfile_.txt ]; then
+ rm -f $helpfile_.txt;
+ ln -sf $srcdir/$HELPDIR/$helpfile $helpfile_.txt;
+ fi
+ )
+ echo "[type:colobothelp] $LEVEL_CODENAME-help/$helpfile_.txt \$lang:$LEVEL_CODENAME-help/$helpfile_.\$lang.txt"
+ done
+fi
diff --git a/levels-i18n/scripts/02_run_po4a.sh b/levels-i18n/scripts/02_run_po4a.sh
new file mode 100755
index 00000000..96030d1c
--- /dev/null
+++ b/levels-i18n/scripts/02_run_po4a.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+LEVELS_I18N_PATH=$1
+PO4A_FILE=$2
+
+export PERLLIB=${LEVELS_I18N_PATH}/scripts/perllib
+
+po4a -k100 -v -f $PO4A_FILE
diff --git a/levels-i18n/scripts/03_inject_translations.sh b/levels-i18n/scripts/03_inject_translations.sh
new file mode 100755
index 00000000..de41b501
--- /dev/null
+++ b/levels-i18n/scripts/03_inject_translations.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+set -e
+
+levelfile=$1
+translations_prefix=$2
+PODIR=$3
+
+rootfilename=$(basename $translations_prefix)
+
+# Autodetect translated languages
+script_path=$(dirname $0)
+linguas=$(cd $PODIR/; ls *.po | sed -e 's/\.po$//g')
+
+# Make sure we take english (first, but it's not really important)
+for lang in en $linguas; do
+ dotlang=".$lang"
+ if [ "$lang" = "en" ]; then
+ dotlang="";
+ fi
+ i18nfile=$translations_prefix$dotlang.txt
+ if [ -f $i18nfile ]; then
+ sed -n '/^Title/p;/^Resume/p;/^ScriptName/p' $i18nfile
+ fi
+done
+echo "// End of level headers translations"
+echo ""
+sed -e '/^Title/d;/^Resume/d;/^ScriptName/d' $levelfile
diff --git a/levels-i18n/scripts/04_move_helpfiles_to_paths.sh b/levels-i18n/scripts/04_move_helpfiles_to_paths.sh
new file mode 100755
index 00000000..45b7c372
--- /dev/null
+++ b/levels-i18n/scripts/04_move_helpfiles_to_paths.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+codename=$1
+orig_file=$2
+dest_dir=$3
+HELPDIR=$4
+HELPDEST=$5
+CMAKE_CURRENT_SOURCE_DIR=$6
+
+orig_l10n_file=$(basename $orig_file .txt)
+orig_l10n_dir=$(dirname $orig_file)
+
+# Get all language codes
+for lcodef in $(ls ${codename}.*.languagecode); do
+ # Get the one-letter language code
+ LCODE=$(cat $lcodef)
+ lang=$(echo $lcodef | sed -e 's/.*\.\(.*\)\.languagecode/\1/')
+ # Foreach, rename the source files
+ mkdir -p $dest_dir/$LCODE/$HELPDEST
+
+ orig_trans=$CMAKE_CURRENT_SOURCE_DIR/$HELPDIR/$LCODE/$orig_l10n_file.txt
+
+ # Copy the translated file to the correct pathi
+ if [ -e $orig_l10n_dir/$orig_l10n_file.$lang.txt ]; then
+ cp -Lf $orig_l10n_dir/$orig_l10n_file.$lang.txt $dest_dir/$LCODE/$HELPDEST/$orig_l10n_file.txt
+ # Mark the source file that the translation is supposed to replace # Replace false by true to make it happen
+ if [ -e $orig_trans ] && false; then
+ sed -e '/Obsoleted translation/d;/This translated file/d' $orig_trans >$orig_trans.temp
+ echo "\\\\b; Obsoleted translation\nThis translated file has been replaced by it's PO-based counterpart and should be removed.\n" > $orig_trans
+ cat $orig_trans.temp >> $orig_trans
+ rm $orig_trans.temp
+ fi
+ elif [ -e $orig_trans ]; then
+ cp -Lf $orig_trans $dest_dir/$LCODE/$HELPDEST/$orig_l10n_file.txt
+ fi
+done
+
+mkdir -p $dest_dir/E/$HELPDEST
+# Copy the english file to the correct path too
+cp -Lf $orig_file $dest_dir/E/$HELPDEST/$orig_l10n_file.txt
diff --git a/levels-i18n/scripts/05_move_untranslated_helpfiles_to_paths.sh b/levels-i18n/scripts/05_move_untranslated_helpfiles_to_paths.sh
new file mode 100755
index 00000000..150fe8da
--- /dev/null
+++ b/levels-i18n/scripts/05_move_untranslated_helpfiles_to_paths.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+HELP_I18N_TARGET=$1
+HELPDEST=$2
+HELPDIR_FULL=$3
+
+for langdir in $(ls ${HELPDIR_FULL}); do
+ if [ "$langdir" != "po" ]; then
+ mkdir -p ${HELP_I18N_TARGET}/$langdir/${HELPDEST}
+ cp ${HELPDIR_FULL}/$langdir/* ${HELP_I18N_TARGET}/$langdir/${HELPDEST}/
+ fi
+done
diff --git a/levels-i18n/scripts/perllib/Locale/Po4a/Colobothelp.pm b/levels-i18n/scripts/perllib/Locale/Po4a/Colobothelp.pm
new file mode 100644
index 00000000..c2a683c6
--- /dev/null
+++ b/levels-i18n/scripts/perllib/Locale/Po4a/Colobothelp.pm
@@ -0,0 +1,194 @@
+# Locale::Po4a::Colobothelp -- Convert Colobot help files
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the terms of GPLv3.
+#
+
+use Locale::Po4a::TransTractor qw(process new);
+use Locale::Po4a::Common;
+use Locale::Po4a::Text;
+
+package Locale::Po4a::Colobothelp;
+
+use 5.006;
+use strict;
+use warnings;
+
+require Exporter;
+
+use vars qw(@ISA @EXPORT $AUTOLOAD);
+@ISA = qw(Locale::Po4a::TransTractor);
+@EXPORT = qw();
+
+my @comments = ();
+
+sub initialize {}
+
+sub parse {
+ my $self = shift;
+ my ($line,$ref);
+ my $paragraph="";
+ my $wrapped_mode = 1;
+ my $s_mode = 0;
+ my $expect_header = 1;
+ my $end_of_paragraph = 0;
+ ($line,$ref)=$self->shiftline();
+ while (defined($line)) {
+ chomp($line);
+ $self->{ref}="$ref";
+ ($paragraph,$wrapped_mode,$s_mode,$expect_header,$end_of_paragraph) = parse_colobothelp($self,$line,$ref,$paragraph,$wrapped_mode,$s_mode,$expect_header,$end_of_paragraph);
+ if ($end_of_paragraph) {
+ do_paragraph($self,offlink($paragraph),$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+ $end_of_paragraph = 0;
+ }
+ ($line,$ref)=$self->shiftline();
+ }
+ if (length $paragraph) {
+ $paragraph =~ s/\n$//;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $self->pushline("\n");
+ }
+}
+
+sub parse_colobothelp {
+ my ($self,$line,$ref,$paragraph,$wrapped_mode,$s_mode,$expect_header,$end_of_paragraph) = @_;
+
+ if (($s_mode == 1) and ($line !~ /^\\s;/)) {
+ # Process the end of \s; blocks
+ $s_mode = 0;
+ # substr removes the last superfluous \n
+ my $s_block = onlink($self->translate(substr(offlink($paragraph),0,-1),$ref,"\\s; block (usually verbatim code)"));
+ $s_block =~ s/(\n|^)/$1\\s;/g;
+ $self->pushline($s_block."\n");
+ $paragraph="";
+ $wrapped_mode = 0;
+ }
+
+ if ( $line =~ /^\s*$/
+ or $line =~ m/^\\[nctr];$/) {
+ # Break paragraphs on lines containing only spaces or any of \n; \c; \t; \r; (alone)
+
+ # Drop the latest EOL to avoid having it in the translation
+ my $dropped_eol = ($paragraph =~ s/\n$//);
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $self->pushline("\n") if $dropped_eol; # Therefore only add it back if it was removed
+ $paragraph="";
+ $wrapped_mode = 0;
+ $self->pushline($line."\n");
+ } elsif ($line =~ s/^(\\s;)//) {
+ # Lines starting with \s; are special (yellow-background, usually code-block)
+ # Break paragraph before them
+ if($s_mode == 0) {
+ $s_mode = 1;
+ my $dropped_eol = ($paragraph =~ s/\n$//);
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $self->pushline("\n") if $dropped_eol; # Therefore only add it back if it was removed
+ $paragraph="";
+ $wrapped_mode = 0;
+ }
+ $paragraph .= $line."\n";
+ } elsif ($line =~ s/^(\\[bt];)//) {
+ # Break paragraphs on \b; or \t; headers
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+
+ $self->pushline($1.onlink($self->translate(offlink($line),$ref,"$1 header")."\n"));
+ } elsif ($line =~ /^\\image (.*) (\d*) (\d*);$/) {
+ # Discard lines with \image name lx ly; tags
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+
+ $self->pushline("\\image ".$self->translate($1,$ref,'Image filename')." $2 $3;\n");
+ } elsif ( $line =~ /^=+$/
+ or $line =~ /^_+$/
+ or $line =~ /^-+$/) {
+ $wrapped_mode = 0;
+ $paragraph .= $line."\n";
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+ } elsif ($line =~ s/^(\s*)([0-9]\)|[o-])(\s*)//) {
+ # Break paragraphs on lines starting with either number + parenthesis or any of o- + space
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+
+ $self->pushline("$1$2$3".onlink($self->translate(offlink($line),$ref,"Bullet: '$2'")."\n"));
+ } else {
+ # All paragraphs are non-wrap paragraphs by default
+ $wrapped_mode = 0;
+ undef $self->{bullet};
+ undef $self->{indent};
+ $paragraph .= $line."\n";
+ }
+ return ($paragraph,$wrapped_mode,$s_mode,$expect_header,$end_of_paragraph);
+}
+
+sub offlink {
+ my ($paragraph) = @_;
+ # Replace \button $id; as pseudo xHTML tags
+ $paragraph =~ s#\\(button|key) ([^;]*?);#<$1 $2/>#g;
+ # Put \const;Code\norm; sequences into pseudo-HTML tags
+ $paragraph =~ s#\\c;([^\\;]*?)\\n;#$1
#g;
+ # Replace remnants of \s; \c; \b; or \n; as pseudo xHTML tags
+ $paragraph =~ s#\\([scbn]);#<$1/>#g;
+ return ($paragraph);
+}
+
+sub onlink {
+ my ($paragraph) = @_;
+ # Invert the replace remnants of \s; \c; \b; or \n; as pseudo xHTML tagsyy
+ $paragraph =~ s#<([scbn])/>#\\$1;#g;
+ # Inverse the put of \c;Code\n; sequences into pseudo-HTML tags
+ $paragraph =~ s#([^\\;]*?)
#\\c;$1\\n;#g;
+ # Invert the replace remnants of \const; \type; \token or \norm; as pseudo xHTML tags
+ $paragraph =~ s#<(const|type|token|norm|key)/>#\\$1;#g;
+ # Inverse of the cleanup of pseudo-html targets separated by \\ to have a single character |
+ $paragraph =~ s###g;
+ # Inverse of the transform of CBot links \l;text\u target; into pseudo-HTML text
+ $paragraph =~ s#(.*?)#\\l;$2\\u $1;#g;
+ # Invert the put \const;Code\norm; sequences into pseudo-HTML tags
+ $paragraph =~ s#([^\\;]*?) #\\$1;$2\\norm;#g;
+ # Invert the replace of \button $id; as pseudo xHTML tags
+ $paragraph =~ s#<(button|key) ([^;]*?)/>#\\$1 $2;#g;
+ return ($paragraph);
+}
+
+sub do_paragraph {
+ my ($self, $paragraph, $wrap) = (shift, shift, shift);
+ my $type = shift || $self->{type} || "Plain text";
+ return if ($paragraph eq "");
+
+ my $end = "";
+ if ($wrap) {
+ $paragraph =~ s/^(.*?)(\n*)$/$1/s;
+ $end = $2 || "";
+ }
+ my $t = onlink($self->translate(offlink($paragraph),
+ $self->{ref},
+ $type,
+ "wrap" => $wrap));
+ if (defined $self->{bullet}) {
+ my $bullet = $self->{bullet};
+ my $indent1 = $self->{indent};
+ my $indent2 = $indent1.(' ' x length($bullet));
+ $t =~ s/^/$indent1$bullet/s;
+ $t =~ s/\n(.)/\n$indent2$1/sg;
+ }
+ $self->pushline( $t.$end );
+}
+
+1;
+__END__
diff --git a/levels-i18n/scripts/perllib/Locale/Po4a/Colobotlevel.pm b/levels-i18n/scripts/perllib/Locale/Po4a/Colobotlevel.pm
new file mode 100644
index 00000000..8d3c78e9
--- /dev/null
+++ b/levels-i18n/scripts/perllib/Locale/Po4a/Colobotlevel.pm
@@ -0,0 +1,93 @@
+# Locale::Po4a::ColobotLevels -- Convert Colobot levels
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the terms of GPLv3.
+#
+
+use Locale::Po4a::TransTractor qw(process new);
+use Locale::Po4a::Common;
+
+package Locale::Po4a::Colobotlevel;
+
+use 5.006;
+use strict;
+use warnings;
+
+require Exporter;
+
+use vars qw(@ISA @EXPORT $AUTOLOAD);
+@ISA = qw(Locale::Po4a::TransTractor);
+@EXPORT = qw();
+
+my $debug=0;
+
+sub initialize {}
+
+
+sub parse {
+ my $self=shift;
+ my ($line,$ref);
+ my $parE;
+
+ LINE:
+ ($line,$ref)=$self->shiftline();
+
+ while (defined($line)) {
+ chomp($line);
+
+ if ($line =~ /^(Title|Resume|ScriptName)/) {
+ # Text before the first dot
+ $line =~ m/(^[^"\r\n]*)\./;
+ my $type = $1;
+
+ # One char just after the .
+ $line =~ m/\.(.)/;
+ my $E = $1;
+ if( not $parE ) {
+ # Take this one-char only once
+ $parE = $self->translate($E, '', 'One-char language identifier');
+ }
+
+ # The text between .E and first quote
+ $line =~ m/\.$E([^\r\n"]*?)(text|resume)="([^\r\n"]*?)"([^\r\n"]*)((text|resume)="([^\r\n"]*?)"([^\r\n"]*))?$/;
+ my $spacing_1 = $1;
+ my $subtype_1 = $2;
+ my $quoted_1 = $3;
+ my $spacing_2 = $4;
+ my $secondpart = $5;
+ my $subtype_2 = $6;
+ my $quoted_2 = $7;
+ my $spacing_3 = $8;
+ $ref =~ m#^(.*)/(.*)\.txt.*$#;
+ my $code;
+ if( $2 eq 'scene' ) {
+ $code = $1;
+ } else {
+ $code = $2;
+ }
+ my $par_1 = $self->translate($code.":".$quoted_1, $ref, $type."-".$subtype_1);
+ $par_1 =~ s/^\D*\d*://;
+ if( $secondpart ) {
+ my $par_2 = $self->translate($code.":".$quoted_2, $ref, $type."-".$subtype_2);
+ $par_2 =~ s/^\D*\d*://;
+
+ # This is awkward, but works
+ $spacing_2 = $spacing_2.$subtype_2.'="'.$par_2.'"'.$spacing_3;
+ }
+ $par_1 =~ s/\n/\\n/g;
+ $spacing_2 =~ s/\n/\\n/g;
+
+ # Now push the result
+ $self->pushline($type.'.'.$parE.$spacing_1.$subtype_1.'="'.$par_1.'"'.$spacing_2."\n");
+ }
+ else
+ {
+ $self->pushline("$line\n");
+ }
+ # Reinit the loop
+ ($line,$ref)=$self->shiftline();
+ }
+}
+
+1;
+__END__
diff --git a/levels/CMakeLists.txt b/levels/CMakeLists.txt
index c3d95f94..46fcda22 100644
--- a/levels/CMakeLists.txt
+++ b/levels/CMakeLists.txt
@@ -1,21 +1,31 @@
cmake_minimum_required(VERSION 2.8)
-# Translate translatable material
-find_program(PO4A po4a)
+set(LEVELS_I18N_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../levels-i18n/)
-if(PO4A)
- set(_levels_i18n_target "levels_i18n")
- add_custom_command(OUTPUT ${_levels_i18n_target}
- COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}
- COMMAND ./gen_levels_xml.sh ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMENT "Inject level translations"
- )
- add_custom_target(translate_levels ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target})
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}/ DESTINATION ${COLOBOT_INSTALL_DATA_DIR}/levels)
-else()
- message(WARNING "po4a not found, levels will not get translated")
- file(GLOB levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.txt")
- list(REMOVE_ITEM levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")
- install(FILES ${levelfiles} DESTINATION ${COLOBOT_INSTALL_DATA_DIR}/levels/)
-endif()
+# Handle level headers' translations
+file(GLOB levelheaders_po ${CMAKE_CURRENT_SOURCE_DIR}/*-po/)
+foreach(levelheader_po ${levelheaders_po})
+ string(REPLACE "-po" "" levelheader ${levelheader_po})
+ get_filename_component(LEVEL_CODENAME ${levelheader} NAME)
+ set(SCENEFILE "${LEVEL_CODENAME}*.txt")
+ set(SCENEDEST)
+ set(PODIR "${LEVEL_CODENAME}-po/")
+ set(HELPDIR)
+ set(HELPDEST "")
+ message(STATUS "Manage translations for level headers '${LEVEL_CODENAME}*'")
+ include(${LEVELS_I18N_PATH}/CMakeLists.txt)
+endforeach(levelheader_po)
+
+# Handle all levels' translations
+file(GLOB levelcategories_paths ${CMAKE_CURRENT_SOURCE_DIR}/*/scene.txt)
+foreach(levelcategory_path ${levelcategories_paths})
+ string(REPLACE "//scene.txt" "" levelcategory ${levelcategory_path})
+ get_filename_component(LEVEL_CODENAME ${levelcategory} NAME_WE)
+ set(SCENEFILE "${LEVEL_CODENAME}/scene.txt")
+ set(SCENEDEST "${LEVEL_CODENAME}.txt")
+ set(PODIR "${LEVEL_CODENAME}/po/")
+ set(HELPDIR "${LEVEL_CODENAME}/help/")
+ set(HELPDEST "")
+ MESSAGE(STATUS "Managing translations for level '${LEVEL_CODENAME}'")
+ include(${LEVELS_I18N_PATH}/CMakeLists.txt)
+endforeach(levelcategory_path)
diff --git a/levels/defi-po/de.po b/levels/defi-po/de.po
new file mode 100644
index 00000000..85e394f9
--- /dev/null
+++ b/levels/defi-po/de.po
@@ -0,0 +1,59 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2013-10-24 09:01+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: One-char language identifier
+#: defi.languagecode:1
+#, no-wrap
+msgid "E"
+msgstr "D"
+
+#. type: Title-resume
+#: defi/defi100.txt:1 defi/defi100.txt:1
+#, no-wrap
+msgid "defi100:Fundamentals"
+msgstr ""
+
+#. type: Title-text
+#: defi/defi200.txt:1
+#, no-wrap
+msgid "defi200:Motors"
+msgstr ""
+
+#. type: Title-resume
+#: defi/defi200.txt:1
+#, no-wrap
+msgid "defi200:Motor"
+msgstr ""
+
+#. type: Title-text
+#: defi/defi300.txt:1
+#, no-wrap
+msgid "defi300:Mover"
+msgstr ""
+
+#. type: Title-resume
+#: defi/defi300.txt:1
+#, no-wrap
+msgid "defi300:Move"
+msgstr ""
+
+#. type: Title-resume
+#: defi/defi400.txt:1 defi/defi400.txt:1
+#, no-wrap
+msgid "defi400:Functions"
+msgstr ""
diff --git a/levels/defi-po/defi.pot b/levels/defi-po/defi.pot
index 35312206..9ac05ddf 100644
--- a/levels/defi-po/defi.pot
+++ b/levels/defi-po/defi.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-12-30 22:19+0100\n"
+"POT-Creation-Date: 2013-10-25 12:51+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -16,380 +16,44 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#. type: Content of:
-#: defi100.xml:2 defi100.xml:3
+#. type: One-char language identifier
+#: defi.languagecode:1
+#, no-wrap
+msgid "E"
+msgstr ""
+
+#. type: Title-resume
+#: defi/defi100.txt:1 defi/defi100.txt:1
#, no-wrap
msgid "defi100:Fundamentals"
msgstr ""
-#. type: Content of:
-#: defi100.xml:4 defi100.xml:5 defi100.xml:6 defi100.xml:7
-#, no-wrap
-msgid "defi100:"
-msgstr ""
-
-#. type: Content of:
-#: defi101.xml:2
-#, no-wrap
-msgid "defi101:Follow a path"
-msgstr ""
-
-#. type: Content of:
-#: defi101.xml:3 defi101.xml:5 defi101.xml:7
-#, no-wrap
-msgid "defi101:"
-msgstr ""
-
-#. type: Content of:
-#: defi101.xml:4
-#, no-wrap
-msgid "defi101:Move the bot along a given path."
-msgstr ""
-
-#. type: Content of:
-#: defi101.xml:6
-#, no-wrap
-msgid "defi101:Move"
-msgstr ""
-
-#. type: Content of:
-#: defi102.xml:2
-#, no-wrap
-msgid "defi102:Massacre"
-msgstr ""
-
-#. type: Content of:
-#: defi102.xml:3 defi102.xml:5 defi102.xml:7
-#, no-wrap
-msgid "defi102:"
-msgstr ""
-
-#. type: Content of:
-#: defi102.xml:4
-#, no-wrap
-msgid "defi102:Use a loop in order to destroy four targets."
-msgstr ""
-
-#. type: Content of:
-#: defi102.xml:6
-#, no-wrap
-msgid "defi102:Go"
-msgstr ""
-
-#. type: Content of:
-#: defi103.xml:2
-#, no-wrap
-msgid "defi103:Exchange posts 3"
-msgstr ""
-
-#. type: Content of:
-#: defi103.xml:3 defi103.xml:5 defi103.xml:7
-#, no-wrap
-msgid "defi103:"
-msgstr ""
-
-#. type: Content of:
-#: defi103.xml:4
-#, no-wrap
-msgid ""
-"defi103:Collect lots of valuable information from information exchange "
-"posts."
-msgstr ""
-
-#. type: Content of:
-#: defi103.xml:6
-#, no-wrap
-msgid "defi103:Info"
-msgstr ""
-
-#. type: Content of:
-#: defi104.xml:2
-#, no-wrap
-msgid "defi104:Labyrinth 3"
-msgstr ""
-
-#. type: Content of:
-#: defi104.xml:3 defi104.xml:5 defi104.xml:7
-#, no-wrap
-msgid "defi104:"
-msgstr ""
-
-#. type: Content of:
-#: defi104.xml:4
-#, no-wrap
-msgid "defi104:Teach your bot how to find its way out of the labyrinth."
-msgstr ""
-
-#. type: Content of:
-#: defi104.xml:6
-#, no-wrap
-msgid "defi104:Labyrinth"
-msgstr ""
-
-#. type: Content of:
-#: defi200.xml:2
+#. type: Title-text
+#: defi/defi200.txt:1
#, no-wrap
msgid "defi200:Motors"
msgstr ""
-#. type: Content of:
-#: defi200.xml:3
+#. type: Title-resume
+#: defi/defi200.txt:1
#, no-wrap
msgid "defi200:Motor"
msgstr ""
-#. type: Content of:
-#: defi200.xml:4 defi200.xml:5 defi200.xml:6 defi200.xml:7
-#, no-wrap
-msgid "defi200:"
-msgstr ""
-
-#. type: Content of:
-#: defi201.xml:2
-#, no-wrap
-msgid "defi201:Crazy bot 2"
-msgstr ""
-
-#. type: Content of:
-#: defi201.xml:3 defi201.xml:5 defi201.xml:7
-#, no-wrap
-msgid "defi201:"
-msgstr ""
-
-#. type: Content of:
-#: defi201.xml:4
-#, no-wrap
-msgid ""
-"defi201:Use the radar to put some order into a big mess left behind by a "
-"crazy bot."
-msgstr ""
-
-#. type: Content of:
-#: defi201.xml:6
-#, no-wrap
-msgid "defi201:Radar"
-msgstr ""
-
-#. type: Content of:
-#: defi202.xml:2
-#, no-wrap
-msgid "defi202:Shadow 2"
-msgstr ""
-
-#. type: Content of:
-#: defi202.xml:3 defi202.xml:5 defi202.xml:7
-#, no-wrap
-msgid "defi202:"
-msgstr ""
-
-#. type: Content of:
-#: defi202.xml:4
-#, no-wrap
-msgid "defi202:Follow a bot, as if you were its shadow."
-msgstr ""
-
-#. type: Content of:
-#: defi202.xml:6
-#, no-wrap
-msgid "defi202:Follow"
-msgstr ""
-
-#. type: Content of:
-#: defi203.xml:2
-#, no-wrap
-msgid "defi203:Help"
-msgstr ""
-
-#. type: Content of:
-#: defi203.xml:3 defi203.xml:5 defi203.xml:7
-#, no-wrap
-msgid "defi203:"
-msgstr ""
-
-#. type: Content of:
-#: defi203.xml:4
-#, no-wrap
-msgid "defi203:Defend yourself agains all alien attacks."
-msgstr ""
-
-#. type: Content of:
-#: defi203.xml:6
-#, no-wrap
-msgid "defi203:Defense"
-msgstr ""
-
-#. type: Content of:
-#: defi204.xml:2
-#, no-wrap
-msgid "defi204:Radar and traps 1"
-msgstr ""
-
-#. type: Content of:
-#: defi204.xml:3 defi204.xml:5 defi204.xml:7
-#, no-wrap
-msgid "defi204:"
-msgstr ""
-
-#. type: Content of:
-#: defi204.xml:4
-#, no-wrap
-msgid ""
-"defi204:Use your radar to look for various items, but watch out for the "
-"mines."
-msgstr ""
-
-#. type: Content of:
-#: defi204.xml:6
-#, no-wrap
-msgid "defi204:Traps"
-msgstr ""
-
-#. type: Content of:
-#: defi205.xml:2
-#, no-wrap
-msgid "defi205:Radar and traps 2"
-msgstr ""
-
-#. type: Content of:
-#: defi205.xml:3 defi205.xml:5 defi205.xml:7
-#, no-wrap
-msgid "defi205:"
-msgstr ""
-
-#. type: Content of:
-#: defi205.xml:4
-#, no-wrap
-msgid "defi205:Try to figure out how to survive in a hostile environment."
-msgstr ""
-
-#. type: Content of:
-#: defi205.xml:6
-#, no-wrap
-msgid "defi205:Traps"
-msgstr ""
-
-#. type: Content of:
-#: defi300.xml:2
+#. type: Title-text
+#: defi/defi300.txt:1
#, no-wrap
msgid "defi300:Mover"
msgstr ""
-#. type: Content of:
-#: defi300.xml:3
+#. type: Title-resume
+#: defi/defi300.txt:1
#, no-wrap
msgid "defi300:Move"
msgstr ""
-#. type: Content of:
-#: defi300.xml:4 defi300.xml:5 defi300.xml:6 defi300.xml:7
-#, no-wrap
-msgid "defi300:"
-msgstr ""
-
-#. type: Content of:
-#: defi301.xml:2
-#, no-wrap
-msgid "defi301:Mover 1"
-msgstr ""
-
-#. type: Content of:
-#: defi301.xml:3 defi301.xml:5 defi301.xml:7
-#, no-wrap
-msgid "defi301:"
-msgstr ""
-
-#. type: Content of:
-#: defi301.xml:4
-#, no-wrap
-msgid "defi301:Retrieve some titanium ore in order to convert it to titanium cubes."
-msgstr ""
-
-#. type: Content of:
-#: defi301.xml:6
-#, no-wrap
-msgid "defi301:Mover"
-msgstr ""
-
-#. type: Content of:
-#: defi302.xml:2
-#, no-wrap
-msgid "defi302:Mover 2"
-msgstr ""
-
-#. type: Content of:
-#: defi302.xml:3 defi302.xml:5 defi302.xml:7
-#, no-wrap
-msgid "defi302:"
-msgstr ""
-
-#. type: Content of:
-#: defi302.xml:4
-#, no-wrap
-msgid "defi302:Try to figure out how to move the titanium cube across obstacles."
-msgstr ""
-
-#. type: Content of:
-#: defi302.xml:6
-#, no-wrap
-msgid "defi302:Mover"
-msgstr ""
-
-#. type: Content of:
-#: defi400.xml:2 defi400.xml:3
+#. type: Title-resume
+#: defi/defi400.txt:1 defi/defi400.txt:1
#, no-wrap
msgid "defi400:Functions"
msgstr ""
-
-#. type: Content of:
-#: defi400.xml:4 defi400.xml:5 defi400.xml:6 defi400.xml:7
-#, no-wrap
-msgid "defi400:"
-msgstr ""
-
-#. type: Content of:
-#: defi401.xml:2
-#, no-wrap
-msgid "defi401:Function"
-msgstr ""
-
-#. type: Content of:
-#: defi401.xml:3 defi401.xml:5 defi401.xml:7
-#, no-wrap
-msgid "defi401:"
-msgstr ""
-
-#. type: Content of:
-#: defi401.xml:4
-#, no-wrap
-msgid "defi401:Create a function to move a bot."
-msgstr ""
-
-#. type: Content of:
-#: defi401.xml:6
-#, no-wrap
-msgid "defi401:Move"
-msgstr ""
-
-#. type: Content of:
-#: defi402.xml:2
-#, no-wrap
-msgid "defi402:Spiral 2"
-msgstr ""
-
-#. type: Content of:
-#: defi402.xml:3 defi402.xml:5 defi402.xml:7
-#, no-wrap
-msgid "defi402:"
-msgstr ""
-
-#. type: Content of:
-#: defi402.xml:4
-#, no-wrap
-msgid "defi402:Create a procedure in order to teach your bot to perform a spiral."
-msgstr ""
-
-#. type: Content of:
-#: defi402.xml:6
-#, no-wrap
-msgid "defi402:Move"
-msgstr ""
diff --git a/levels/defi-po/fr.po b/levels/defi-po/fr.po
index 5ef59b6d..77cdf960 100644
--- a/levels/defi-po/fr.po
+++ b/levels/defi-po/fr.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-12-30 22:19+0100\n"
+"POT-Creation-Date: 2013-10-24 08:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -16,436 +16,274 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#. type: One-char language identifier
+#: defi.languagecode:1
+#, no-wrap
+msgid "E"
+msgstr "F"
+
#
-#. type: Content of:
-#: defi100.xml:2 defi100.xml:3
+#. type: Title-resume
+#: defi/defi100.txt:1
#, no-wrap
msgid "defi100:Fundamentals"
msgstr "defi100:Base"
#
-#. type: Content of:
-#: defi100.xml:4 defi100.xml:5 defi100.xml:6 defi100.xml:7
-#, no-wrap
-msgid "defi100:"
-msgstr "defi100:"
-
-#
-#. type: Content of:
-#: defi101.xml:2
-#, no-wrap
-msgid "defi101:Follow a path"
-msgstr "defi101:Suivre un chemin"
-
-#
-#. type: Content of:
-#: defi101.xml:3 defi101.xml:5 defi101.xml:7
-#, no-wrap
-msgid "defi101:"
-msgstr "defi101:"
-
-#
-#. type: Content of:
-#: defi101.xml:4
-#, no-wrap
-msgid "defi101:Move the bot along a given path."
-msgstr "defi101:Déplacer un robot le long d'une trajectoire donnée."
-
-#
-#. type: Content of:
-#: defi101.xml:6
-#, no-wrap
-msgid "defi101:Move"
-msgstr "defi101:Déplace"
-
-#
-#. type: Content of:
-#: defi102.xml:2
-#, no-wrap
-msgid "defi102:Massacre"
-msgstr "defi102:Massacre"
-
-#
-#. type: Content of:
-#: defi102.xml:3 defi102.xml:5 defi102.xml:7
-#, no-wrap
-msgid "defi102:"
-msgstr "defi102:"
-
-#
-#. type: Content of:
-#: defi102.xml:4
-#, no-wrap
-msgid "defi102:Use a loop in order to destroy four targets."
-msgstr "defi102:Détruire quatre cibles à l'aide d'une boucle."
-
-#
-#. type: Content of:
-#: defi102.xml:6
-#, no-wrap
-msgid "defi102:Go"
-msgstr "defi102:Go"
-
-#
-#. type: Content of:
-#: defi103.xml:2
-#, no-wrap
-msgid "defi103:Exchange posts 3"
-msgstr "defi103:Bornes"
-
-#
-#. type: Content of:
-#: defi103.xml:3 defi103.xml:5 defi103.xml:7
-#, no-wrap
-msgid "defi103:"
-msgstr "defi103:"
-
-#
-#. type: Content of:
-#: defi103.xml:4
-#, no-wrap
-msgid "defi103:Collect lots of valuable information from information exchange posts."
-msgstr "defi103:Récolter des informations de direction et de distance."
-
-#
-#. type: Content of:
-#: defi103.xml:6
-#, no-wrap
-msgid "defi103:Info"
-msgstr "defi103:Suivre"
-
-#
-#. type: Content of:
-#: defi104.xml:2
-#, no-wrap
-msgid "defi104:Labyrinth 3"
-msgstr "defi104:Labyrinthe"
-
-#
-#. type: Content of:
-#: defi104.xml:3 defi104.xml:5 defi104.xml:7
-#, no-wrap
-msgid "defi104:"
-msgstr "defi104:"
-
-#
-#. type: Content of:
-#: defi104.xml:4
-#, no-wrap
-msgid "defi104:Teach your bot how to find its way out of the labyrinth."
-msgstr "defi104:Programmez un robot pour qu'il avance sans se cogner dans un labyrinthe."
-
-#
-#. type: Content of:
-#: defi104.xml:6
-#, no-wrap
-msgid "defi104:Labyrinth"
-msgstr "defi104:Labyrinthe"
-
-#
-#. type: Content of:
-#: defi200.xml:2
+#. type: Title-text
+#: defi/defi200.txt:1
#, no-wrap
msgid "defi200:Motors"
msgstr "defi200:Moteurs"
#
-#. type: Content of:
-#: defi200.xml:3
+#. type: Title-resume
+#: defi/defi200.txt:1
#, no-wrap
msgid "defi200:Motor"
msgstr "defi200:Moteur"
#
-#. type: Content of:
-#: defi200.xml:4 defi200.xml:5 defi200.xml:6 defi200.xml:7
-#, no-wrap
-msgid "defi200:"
-msgstr "defi200:"
-
-#
-#. type: Content of:
-#: defi201.xml:2
-#, no-wrap
-msgid "defi201:Crazy bot 2"
-msgstr "defi201:Le petit poucet"
-
-#
-#. type: Content of:
-#: defi201.xml:3 defi201.xml:5 defi201.xml:7
-#, no-wrap
-msgid "defi201:"
-msgstr "defi201:"
-
-#
-#. type: Content of:
-#: defi201.xml:4
-#, no-wrap
-msgid "defi201:Use the radar to put some order into a big mess left behind by a crazy bot."
-msgstr "defi201:Utilisez le radar pour trouver toutes les marques déposées par le petit poucet."
-
-#
-#. type: Content of:
-#: defi201.xml:6
-#, no-wrap
-msgid "defi201:Radar"
-msgstr "defi201:Ramasse"
-
-#
-#. type: Content of:
-#: defi202.xml:2
-#, no-wrap
-msgid "defi202:Shadow 2"
-msgstr "defi202:Copieur ..."
-
-#
-#. type: Content of:
-#: defi202.xml:3 defi202.xml:5 defi202.xml:7
-#, no-wrap
-msgid "defi202:"
-msgstr "defi202:"
-
-#
-#. type: Content of: