From 073a3fd3ee031cacdc174edd6af76cae63d69516 Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Wed, 24 Oct 2018 08:30:05 +0200 Subject: =?UTF-8?q?Move=20manpage=20to=20section=206=C2=A0(games)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- planetblupi.1.ronn | 211 ----------------------------------------------------- planetblupi.6.ronn | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 212 insertions(+), 212 deletions(-) delete mode 100644 planetblupi.1.ronn create mode 100644 planetblupi.6.ronn diff --git a/CMakeLists.txt b/CMakeLists.txt index a545878..192e9bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,7 +280,7 @@ endforeach (file) ######### add_manpage_target () -manpage(${PROJECT_NAME} 1) +manpage(${PROJECT_NAME} 6) ############## # Installation diff --git a/planetblupi.1.ronn b/planetblupi.1.ronn deleted file mode 100644 index 88f90ed..0000000 --- a/planetblupi.1.ronn +++ /dev/null @@ -1,211 +0,0 @@ - -planetblupi(1) -- a delirious spell-binding game -================================================ - -## SYNOPSIS - -`planetblupi` [...] - -## DESCRIPTION - -**Planet Blupi** is a strategy and adventure game. It subtly blends action with -thought-provoking challenges. Behind the quiet and gentle facade, you'll enjoy -a fascinating diversion full of surprises. Planet Blupi is ideal for ages -12 to 99.. - -This version contains over 30 missions and a built in editor, which enables you -to construct your own missions. - -## CONFIGURATION - -**Planet Blupi** supports at least GNU/Linux 2.6.32, macOS 10.9 and Microsoft -Windows Vista. If your OS is not listed, maybe it's possible to build yourself -the game. Most Unix and Unix-like OS should be supported. - -For the video output, a 3D accelerated video card is highly recommended. It's -still possible to use pure software rendering in all other cases. - -For the sound card, any cards supported by ALSA, PulseAudio, macOS or -DirectSound should work fine. - -## SCREEN - -The game **Planet Blupi** runs in full screen by using your desktop resolution. -If you are encounting errors, you can start the game by default in windowed -mode. Proceed as follows: - -1. Quit the game **Planet Blupi**. -2. Open the file `share/planetblupi/data/config.json` with a text editor. -3. Replace `fullscreen: true` by `fullscreen: false`. -4. Save and restart the game. - -In this mode the screen is no more scrolled if the mouse touches the window -borders. Use the keyboard arrows instead. - -It's possible to start the game with `--fullscreen off` instead of editing -the `config.json` file. - -An other way is to start the game in legacy mode. With this mode, the game -runs with the original 640x480 resolution. Use `--legacy` on the command -line. - -If the problem persists, maybe you should try to start the game with the -software renderer. Edit the `config.json` file and add `"renderer": "software"` -or start the game with `--renderer software`. - -An other possibility exists. You can try to change the driver used by the -accelerated renderer. By default it uses `"direct3d"`, you can change by -`"opengl"` with `"driver": "opengl"` with the `config.json` file or -`--driver opengl` by command line argument. - -## MOUSE - -The left button is always used in three steps: - - 1. Select a Blupi. - 2. Click where you want him to act. - 3. Click the button corresponding to the required operation. - -If the chosen Blupi is already selected (blue or red circle around him), step 1) -is not necessary. - -You may select several Blupis by maintaining the Shift button -pressed. - -The right button is a shortcut. It orders the selected Blupi to do the most -useful operation on the selected spot. - -## KEYBOARD - - * Arrows: - Scrolls the visible part of the scene. - - * Spacebar: - Shows or hides items. - - * F1: - Describes the goal without interrupting the game. - - * F5: - Normal speed (x1). - - * F6: - Double speed (x2). - - * Home: - Returns to place of mission departure - - * Ctrl+F9..F12: - Bookmarks a spot. - - * F9..F12: - Returns to the corresponding bookmarked spot. - - * Pause: - Temporarily suspends the game (excepted with the hard difficulty). - -When you switch to an other application, the game is automatically paused. - -## MUSIC - -The music is provided in *OGG* and *MIDI* formats. The *OGG* variant is prefered -because the render is the same for all platforms. For purist fanboys, it's -possible to enforce the *MIDI* variant by starting the game with the -`--restore-midi` command line argument. Note that in this case, it's possible -to lose some instruments, it depends of your system. - -You can edit the `share/planetblupi/data/config.json` file and add an entry -`"restoremidi": true`, or simply use the new settings available in the global -settings screen in the game. - -If you want, you can overload all musics with yours by providing *OGG* or *MIDI* -music files in your user directory. - -On Windows, type `%APPDATA%\Epsitec SA\Planet Blupi` in the file browser. -On macOS, look at `~/Library/Application Support/Epsitec SA/Planet Blupi`. -On Linux, look at `~/.local/share/Epsitec SA/Planet Blupi`. - -You can create a `music` sub-directory with your musics. For example: -`%LOCALAPPDATA%\Epsitec SA\Planet Blupi\music\music000.ogg`. - -Only 10 musics are supported: `music000` to `music009`. - -## OPTIONS - - * `-h`, `--help`: - Print this help message and exit. - - * `-V`, `--version`: - Print version and exit. - - * `-s`, `--speed-rate`: - Change the speed rate `[1;2]` (default: `1`). - - * `-t`, `--timer-interval`: - Set the timer interval (refresh). The default value is 50ms. This is an - advanced option because it changes the main events loop frequency. - - * `-f`, `--fullscreen`: - Load in fullscreen `[on;off]` (default: `on`). - - * `-z`, `--zoom`: - Change the window scale (only if fullscreen is `off`) `[1;2]` - (default: `1`). - - * `-l`, `--legacy`: - Start the game in legacy display mode (640x480). - - * `-r`, `--renderer`: - Set a renderer `[auto;software;accelerated]` (default: `auto`). Use the - `software` renderer if the `accelerated` renderer is bugged. Note that you - can try other drivers (option `-d`) before forcing the `software` renderer. - - * `-d`, `--driver`: - Set a driver `[auto;direct3d;direct3d11;opengl;opengles2;opengles]` - (default: `auto`, ignored with `software` renderer). - - * `-c`, `--enable-recorder`: - Enable the recorder feature (F3/F4). When playing, - you can start a record with F3 and stop with F4. - - * `-p`, `--play-record`: - Play a record generated by F3 (`--enable-recorder`). - - * `-b`, `--restore-bugs`: - Restore funny original bugs of older versions < v1.9. It can be very fun - and interesting for speedruns. - - **Tower rays:** with this bug, it's possible to add rays on a map even - without tower. It's possible only when building a new map. - - **Mine flag:** you can build a mine without prospecting if you know exactly - where is the flag case. - - **Enemy control**: you can take the enemy control by going in an enemy - factory while the door is open. - - **Duplicate everything**: this bug is very useful for duplicating objects - by sending the same order to two Blupis. - - **Take trapped ennemy**: it's possible to take a trapped enemy; it's useless - but possible. - - **Set fire**: you can add invisible fire on every type of cells (when - building a map). - - * `-m`, `--restore-midi`: - Restore playback based on MIDI music instead of OGG. - - * `-q`, `--render-quality`: - Enable anti-aliasing [on;off] (default: on, ignored if windowed). - -## AUTHOR - -**Planet Blupi** is an original creation of Epsitec SA. - -http://www.blupi.org - -## COPYRIGHT - -planetblupi is Copyright (C) 1997, Daniel Roux & EPSITEC SA and -Copyright (C) 2017-2018, Mathieu Schroeter diff --git a/planetblupi.6.ronn b/planetblupi.6.ronn new file mode 100644 index 0000000..cf237a6 --- /dev/null +++ b/planetblupi.6.ronn @@ -0,0 +1,211 @@ + +planetblupi(6) -- a delirious spell-binding game +================================================ + +## SYNOPSIS + +`planetblupi` [...] + +## DESCRIPTION + +**Planet Blupi** is a strategy and adventure game. It subtly blends action with +thought-provoking challenges. Behind the quiet and gentle facade, you'll enjoy +a fascinating diversion full of surprises. Planet Blupi is ideal for ages +12 to 99.. + +This version contains over 30 missions and a built in editor, which enables you +to construct your own missions. + +## CONFIGURATION + +**Planet Blupi** supports at least GNU/Linux 2.6.32, macOS 10.9 and Microsoft +Windows Vista. If your OS is not listed, maybe it's possible to build yourself +the game. Most Unix and Unix-like OS should be supported. + +For the video output, a 3D accelerated video card is highly recommended. It's +still possible to use pure software rendering in all other cases. + +For the sound card, any cards supported by ALSA, PulseAudio, macOS or +DirectSound should work fine. + +## SCREEN + +The game **Planet Blupi** runs in full screen by using your desktop resolution. +If you are encounting errors, you can start the game by default in windowed +mode. Proceed as follows: + +1. Quit the game **Planet Blupi**. +2. Open the file `share/planetblupi/data/config.json` with a text editor. +3. Replace `fullscreen: true` by `fullscreen: false`. +4. Save and restart the game. + +In this mode the screen is no more scrolled if the mouse touches the window +borders. Use the keyboard arrows instead. + +It's possible to start the game with `--fullscreen off` instead of editing +the `config.json` file. + +An other way is to start the game in legacy mode. With this mode, the game +runs with the original 640x480 resolution. Use `--legacy` on the command +line. + +If the problem persists, maybe you should try to start the game with the +software renderer. Edit the `config.json` file and add `"renderer": "software"` +or start the game with `--renderer software`. + +An other possibility exists. You can try to change the driver used by the +accelerated renderer. By default it uses `"direct3d"`, you can change by +`"opengl"` with `"driver": "opengl"` with the `config.json` file or +`--driver opengl` by command line argument. + +## MOUSE + +The left button is always used in three steps: + + 1. Select a Blupi. + 2. Click where you want him to act. + 3. Click the button corresponding to the required operation. + +If the chosen Blupi is already selected (blue or red circle around him), step 1) +is not necessary. + +You may select several Blupis by maintaining the Shift button +pressed. + +The right button is a shortcut. It orders the selected Blupi to do the most +useful operation on the selected spot. + +## KEYBOARD + + * Arrows: + Scrolls the visible part of the scene. + + * Spacebar: + Shows or hides items. + + * F1: + Describes the goal without interrupting the game. + + * F5: + Normal speed (x1). + + * F6: + Double speed (x2). + + * Home: + Returns to place of mission departure + + * Ctrl+F9..F12: + Bookmarks a spot. + + * F9..F12: + Returns to the corresponding bookmarked spot. + + * Pause: + Temporarily suspends the game (excepted with the hard difficulty). + +When you switch to an other application, the game is automatically paused. + +## MUSIC + +The music is provided in *OGG* and *MIDI* formats. The *OGG* variant is prefered +because the render is the same for all platforms. For purist fanboys, it's +possible to enforce the *MIDI* variant by starting the game with the +`--restore-midi` command line argument. Note that in this case, it's possible +to lose some instruments, it depends of your system. + +You can edit the `share/planetblupi/data/config.json` file and add an entry +`"restoremidi": true`, or simply use the new settings available in the global +settings screen in the game. + +If you want, you can overload all musics with yours by providing *OGG* or *MIDI* +music files in your user directory. + +On Windows, type `%APPDATA%\Epsitec SA\Planet Blupi` in the file browser. +On macOS, look at `~/Library/Application Support/Epsitec SA/Planet Blupi`. +On Linux, look at `~/.local/share/Epsitec SA/Planet Blupi`. + +You can create a `music` sub-directory with your musics. For example: +`%LOCALAPPDATA%\Epsitec SA\Planet Blupi\music\music000.ogg`. + +Only 10 musics are supported: `music000` to `music009`. + +## OPTIONS + + * `-h`, `--help`: + Print this help message and exit. + + * `-V`, `--version`: + Print version and exit. + + * `-s`, `--speed-rate`: + Change the speed rate `[1;2]` (default: `1`). + + * `-t`, `--timer-interval`: + Set the timer interval (refresh). The default value is 50ms. This is an + advanced option because it changes the main events loop frequency. + + * `-f`, `--fullscreen`: + Load in fullscreen `[on;off]` (default: `on`). + + * `-z`, `--zoom`: + Change the window scale (only if fullscreen is `off`) `[1;2]` + (default: `1`). + + * `-l`, `--legacy`: + Start the game in legacy display mode (640x480). + + * `-r`, `--renderer`: + Set a renderer `[auto;software;accelerated]` (default: `auto`). Use the + `software` renderer if the `accelerated` renderer is bugged. Note that you + can try other drivers (option `-d`) before forcing the `software` renderer. + + * `-d`, `--driver`: + Set a driver `[auto;direct3d;direct3d11;opengl;opengles2;opengles]` + (default: `auto`, ignored with `software` renderer). + + * `-c`, `--enable-recorder`: + Enable the recorder feature (F3/F4). When playing, + you can start a record with F3 and stop with F4. + + * `-p`, `--play-record`: + Play a record generated by F3 (`--enable-recorder`). + + * `-b`, `--restore-bugs`: + Restore funny original bugs of older versions < v1.9. It can be very fun + and interesting for speedruns. + + **Tower rays:** with this bug, it's possible to add rays on a map even + without tower. It's possible only when building a new map. + + **Mine flag:** you can build a mine without prospecting if you know exactly + where is the flag case. + + **Enemy control**: you can take the enemy control by going in an enemy + factory while the door is open. + + **Duplicate everything**: this bug is very useful for duplicating objects + by sending the same order to two Blupis. + + **Take trapped ennemy**: it's possible to take a trapped enemy; it's useless + but possible. + + **Set fire**: you can add invisible fire on every type of cells (when + building a map). + + * `-m`, `--restore-midi`: + Restore playback based on MIDI music instead of OGG. + + * `-q`, `--render-quality`: + Enable anti-aliasing [on;off] (default: on, ignored if windowed). + +## AUTHOR + +**Planet Blupi** is an original creation of Epsitec SA. + +http://www.blupi.org + +## COPYRIGHT + +planetblupi is Copyright (C) 1997, Daniel Roux & EPSITEC SA and +Copyright (C) 2017-2018, Mathieu Schroeter -- cgit v1.2.3 From 380336fab8c54a74c0f854b2382c6c94a7d13a19 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 26 Oct 2018 00:19:53 +0200 Subject: Fix spelling mistakes Thanks to lintian report. --- planetblupi.6.ronn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/planetblupi.6.ronn b/planetblupi.6.ronn index cf237a6..d87626e 100644 --- a/planetblupi.6.ronn +++ b/planetblupi.6.ronn @@ -45,7 +45,7 @@ borders. Use the keyboard arrows instead. It's possible to start the game with `--fullscreen off` instead of editing the `config.json` file. -An other way is to start the game in legacy mode. With this mode, the game +Another way is to start the game in legacy mode. With this mode, the game runs with the original 640x480 resolution. Use `--legacy` on the command line. @@ -53,7 +53,7 @@ If the problem persists, maybe you should try to start the game with the software renderer. Edit the `config.json` file and add `"renderer": "software"` or start the game with `--renderer software`. -An other possibility exists. You can try to change the driver used by the +Another possibility exists. You can try to change the driver used by the accelerated renderer. By default it uses `"direct3d"`, you can change by `"opengl"` with `"driver": "opengl"` with the `config.json` file or `--driver opengl` by command line argument. @@ -104,11 +104,11 @@ useful operation on the selected spot. * Pause: Temporarily suspends the game (excepted with the hard difficulty). -When you switch to an other application, the game is automatically paused. +When you switch to another application, the game is automatically paused. ## MUSIC -The music is provided in *OGG* and *MIDI* formats. The *OGG* variant is prefered +The music is provided in *OGG* and *MIDI* formats. The *OGG* variant is preferred because the render is the same for all platforms. For purist fanboys, it's possible to enforce the *MIDI* variant by starting the game with the `--restore-midi` command line argument. Note that in this case, it's possible -- cgit v1.2.3 From c2efe443f4b76e66a3cad675d154a1db88385372 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 12 Jan 2019 21:45:51 +0100 Subject: Add basename function for emscripten --- src/misc.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/misc.h b/src/misc.h index e782773..7c748fa 100644 --- a/src/misc.h +++ b/src/misc.h @@ -68,4 +68,12 @@ basename (char * path) snprintf (basename, sizeof (basename), "%s%s", fname, ext); return basename; } -#endif /* _WIN32 */ \ No newline at end of file +#endif /* _WIN32 */ +#ifdef EMSCRIPTEN +static inline char * +basename (char * filename) +{ + char * p = strrchr (filename, '/'); + return p ? p + 1 : filename; +} +#endif /* EMSCRIPTEN */ -- cgit v1.2.3 From 941bd91d2595db636ea64af8fb7c8774fa857f91 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 13 Jan 2019 00:23:11 +0100 Subject: Do not provide movies with emscripten build Threading is not supported, then SDL_kitchensink can not be used. --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 192e9bf..213edde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,9 @@ else () ) endif () file (COPY resources/image DESTINATION share/planetblupi) -file (COPY resources/movie DESTINATION share/planetblupi) +if (NOT BUILD_JS) + file (COPY resources/movie DESTINATION share/planetblupi) +endif () file (COPY resources/sound DESTINATION share/planetblupi) file (COPY resources/music DESTINATION share/planetblupi) file (COPY LICENSE.all DESTINATION share/doc/planetblupi) -- cgit v1.2.3 From d282d631afc332806d0fc8e74136a198da641735 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 13 Jan 2019 00:25:23 +0100 Subject: Fix emscripten build with SDL_mixer (include) It's strange but only this SDL include needs to be prefixed by SDL2/ directory. --- src/sound.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sound.h b/src/sound.h index ccf3f18..f651ff2 100644 --- a/src/sound.h +++ b/src/sound.h @@ -25,7 +25,11 @@ #include #include +#ifdef EMSCRIPTEN +#include +#else /* EMSCRIPTEN */ #include +#endif /* !EMSCRIPTEN */ #include "blupi.h" -- cgit v1.2.3 From fdc8b6c3181e21cd10567807b5c4f20778c5c206 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 18 Jan 2019 23:49:05 +0100 Subject: Update README --- README.md | 5 ++++- blupi.png | Bin 0 -> 73786 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 blupi.png diff --git a/README.md b/README.md index 50bca49..d2266dc 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,12 @@ - # Planet Blupi +![blupi](blupi.png) + Please, do not use this repository directly for development but refer to the bundle located at . +See the [manpage](planetblupi.6.ronn) for a user README. + ## Original versions (1997) You can find "mostly" the original source code from previous versions (v1.7 and diff --git a/blupi.png b/blupi.png new file mode 100644 index 0000000..0924020 Binary files /dev/null and b/blupi.png differ -- cgit v1.2.3 From 8d11d54ca6e11eac52369c7abb773be42cc65f0e Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 18 Jan 2019 23:49:19 +0100 Subject: Remove obsolete user README, use manpage instead --- README-user.md | 107 --------------------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 README-user.md diff --git a/README-user.md b/README-user.md deleted file mode 100644 index 7543bd4..0000000 --- a/README-user.md +++ /dev/null @@ -1,107 +0,0 @@ - -# Planet Blupi - -This version contains over 30 missions and a built in editor, which enables you -to construct your own missions. - -## Configuration - -| Category | Description | -| -------- | ----------- | -| OS | At least GNU/Linux 2.6.32, macOS 10.9 or Microsoft Windows Vista | -| VIDEO | An 3D accelerated video card is highly recommended | -| SOUND | Any sound card supported by ALSA, PulseAudio, macOS or DirectSound | -| INPUT | Keyboard and mouse | - -## Screen problems - -What ever your screen resolution is, the game "Planet Blupi" always runs in -640x480 on full screen. If your screen does not support this mode, you may run -the game by default in windowed mode. Proceed as follows: - -1. Quit the game _Planet Blupi_. -2. Open the file `share/planetblupi/data/config.json` with a text editor. -3. Replace `fullscreen: true` by `fullscreen: false`. -4. Save and restart the game. - -In this mode the screen is no more scrolled if the mouse touches the window -border. Use the Keyboard arrows instead. - -> It's possible to start the game with `--fullscreen off` instead of editing -> the `config.json` file. - -If the problem persists, maybe you should try to start the game with the software -renderer. Edit the `config.json` file and add `"renderer": "software"` or start -the game with `--renderer software`. - -On Windows, an other possibility exists. You can try to change the driver used -by the software renderer. By default it uses `"direct3d"`, you can change by -`"opengl"` with `"driver": "opengl"` with the `config.json` file or -`--driver opengl` by command line argument. - -## Mouse - -Left button: -This button is always used in three steps: - -1. Select a Blupi. -2. Click where you want him to act. -3. Click the button corresponding to the required operation. - -If the chosen Blupi is already selected (blue or red circle around him), -step 1) is not necessary. - -You may select several Blupis by maintaining the Shift button pressed. - -Right button: -The right button is a shortcut. It orders the selected Blupi to do the most -useful operation on the selected spot. - -## Keyboard - -| Keys | Description | -| ------------ | ----------- | -| Arrows | Scrolls the visible part of the scene. | -| Spacebar | Shows or hides items. | -| F1 | Describes the goal without interrupting the game. | -| F5 | Normal speed (x1). | -| F6 | Double speed (x2). | -| Home | Returns to place of mission departure | -| Ctrl+F9..F12 | Bookmarks a spot. | -| F9..F12 | Returns to the corresponding bookmarked spot. | -| Pause | Temporarily suspends the game. | - -When you switch to an other application, the game is automatically paused. - -## Music - -The music is provided in OGG and MIDI formats. The OGG variant is prefered -because the render is the same for all platforms. For purist fanboys, it's -possible to enforce the MIDI variant by starting the game with the -`--restore-midi` command line argument. Note that in this case, it's possible -to lose some instruments, it depends of your system. - -> You can edit the `share/planetblupi/data/config.json` file and add an entry -> `"restoremidi": true`, or simply use the new settings available in the global -> settings screen in the game. - -If you want, you can overload all musics with yours by providing OGG or MIDI -music files in your user directory. - -On Windows, type `%APPDATA%\Epsitec SA\Planet Blupi` in the file browser, -on macOS, look at `~/Library/Application Support/Epsitec SA/Planet Blupi`, and -on Linux, look at `~/.local/share/Epsitec SA/Planet Blupi`. - -You can create a `music` sub-directory with your music. For example: -`%LOCALAPPDATA%\Epsitec SA\Planet Blupi\music\music000.ogg`. - -Only 10 musics are supported: `music000` to `music009`. - -## Epsitec SA - -_Planet Blupi_ is an original creation of [Epsitec SA][1]. - -http://www.blupi.org -info@blupi.org - -[1]: http://www.epsitec.ch -- cgit v1.2.3 From 4d23b17237579d61ae32f7a2c68de850645f804a Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Thu, 24 Jan 2019 23:01:19 +0100 Subject: Upload Turkish translations provided by https://github.com/punctdan --- resources/data/tr/stories.blp | 1096 +++++++++++++++++++++++++++++++++++++++++ resources/po/tr.po | 971 ++++++++++++++++++++++++++++++++++++ 2 files changed, 2067 insertions(+) create mode 100644 resources/data/tr/stories.blp create mode 100644 resources/po/tr.po diff --git a/resources/data/tr/stories.blp b/resources/data/tr/stories.blp new file mode 100644 index 0000000..960f733 --- /dev/null +++ b/resources/data/tr/stories.blp @@ -0,0 +1,1096 @@ +$1 +1|Hedef : +1| +1|Her Blupi bir eve girmek zorunda. +1|Bunu yapmak için, her zaman sol +1|fare tuşunu kullan. + +2|1) Bir Blupi'ye tıkla +2| Onun etrafında, seçildiğini +2| gösteren mavi bir halka +2| belirecek. +2| +2|2) Onun evine tıkla +2| +2|3) "git" butonuna bas +2| +2|4) İkinci Blupi için aynı +2| işlemleri tekrar et. + + + + + + + + Bu yönergeleri okuduktan sonra, + aşağıdaki zara bas. + +$2 +İşte daha karışık olan ikinci +alıştırma : + +1|Her iki kalas yığınını sağdaki +1|çizgili parke taşına taşı. +1| +1|Blupi, bu işlem sırasında +1|yeterli güç toplamak için +1|domates yemeli. Öyle ki, onları +2|yediği zaman, ayağındaki +2|kırmızı halka maviye dönüşür. Bu +2|onun enerji seviyesini gösterir. +2| +2| kırmızı = bitkin +2| mavi = formda + + + +İpucu : +Ekranı kaydırmak için, fareni +ekranın kenarına çekebilir +veya klavye yön tuşlarını +kullanabilirsin. + +$3 +1|Yumurtaları bul ... +1| +1|Onları inkübatöre koyduktan +1|sonra, dört yeni Blupi +1|yumurtadan çıkacak. + + + + + + +İpucu : +Bir elle fareyi kullanırken +diğeriyle klavye yön oklarını +kullanmak daha etkili. + +$4 +1|Hedef : +1| +1|Dört Blupi kuzeydeki adalarda +1|bulunan evlere ulaşmalı. + +2|Her Blupi, zıplamak için gereken +2|gücü almak için yemek yemeli. + +$5 +1|Hedef : +1| +1|İki grup domatesi çizgili +1|parke taşının üzerine koy. + +2|Bunu yapmak için, ağaçları +2|kesmelisin, bir bahçe kulübesi +2|inşa etmelisin, domates +2|yetiştirmelisin ve iki grup +2|domatesi çizgili parke taşının +2|üzerine koymalısın (onları sakın +2|yeme). + +$6 +1|Hedef : +1| +1|Her Blupi, küçük bir adada +1|bulunan bir eve ulaşmalı. +1|Ne yazık ki, burada sadece tek +1|Blupi'ye yetecek kadar yemek var. +2|Senin hepsine yetecek kadar +2|yemek üretmek için bir yol +2|bulman lazım. +2| +2|Neyse ki, adada bir sürü ağaç +2|var. + +#h1 +Blupi, adasında sessizce +yaşamaktayken, garip bir göktaşı +kurak bir alana düşer. + +Hemen ardından, Blupi, ekinlerinin +iri örümcekler tarafından tahrip +edildiğini farkeder. + +Blupi, kusursuz formuna rağmen, +ciddi bir hastalığa yakalandı ve +şimdi hapşırmakta. + +#h2 +Neler oluyor burada? + +Aslında tuhaf göktaşı, çok özel +bir robot taşıyan uzay gemisi. + +Bu robot düşman üreten fabrikalar +inşa ediyor. + +Blupi bu davetsiz misafirlerden +kurtulmak için bütün doğal +kaynakları kullanmalı. + +#1 +Uzay gemisi çarpışması ormanda +yangın çıkardı. Blupi'lerin +köyü şimdi tehlikede. + +1|Hedef : +1| +1|Köyün yanmasını engelle. +1|Bunu yapmak için sadece bir yol +1|var : +1|Solda bulunan ağaçların +1|bazılarını kes. + + + + + + +2|İpucu : +2| +2|Eğer bir Blupi ağaçların arkasına +2|gizlenmişse, boşluk tuşuna bas. +2|Bunu yapmak, ağaçları geçici +2|olarak saydam hale getirecek. + +@1 +1|Çözüm : +1| +1|Soldaki Blupi'ye birçok ağacı +1|kesmesi için buyur. Diğer iki +1|Blupi kalasları uzağa taşıyacak. + +#2 +1|Durum : +1| +1|Blupi köyünden uzakta ve +1|kayboldu. O, köyünü aramadan +1|önce düzen kurmalı. +1| +1|1) Bir bahçe kulübesi inşa et ve +1| domates yetiştir + +2|2) Destek kazanmak için bir +2| inkübatör inşa et. +2| +2|3) Dört Blupi'yi besle ve köyü +2| bulmaya git. +2| + + +2|Dikkat et : +2| +2|Sıradışı bir şey olacak. + + +@2 +1|İpuçları : +1| +1|Öncelikle, örümceğin gelmesini +1|engellemek için kuzeye iki +1|kazıklı çit inşa etmelisin. +1|Ancak o zaman, huzur içinde +2|bir bahçe kulübesi inşa +2|edebileceksin ve domates +2|yetiştirebileceksin. +2| +2|Dört eve ulaşmak için, doğuya +2|gitmelisin. + + +#3 +1|Hedef : +1| +1|Dört kayıp Blupi'nin yanmasını +1|engelle. +1| +1|Duvarı bitir. + + + + +2|Dikkat et : +2| +2|Zemin, kolay yanabilen +2|yosunlardan ibaret. + +@3 +1|Çözüm : +1| +1|1) Kaya kes. +1| Ufak kayaları kesmek daha +1| hızlı. + +2|2) İki mevcut duvar arasına +2| yeni bir duvar inşa et. +2| +2|3) Yangının durmasını bekle. + +#4 +1|Hedef : +1| +1|Dört Blupi'nin çizgili parke +1|taşına ulaşmasını sağla. + +@4 +1|Çözüm : +1| +1|1) Bir ağaç kes. +1| +1|2) Kalasları suyun kenarına +1| taşı. +1| +1|3) İki bitkin Blupi'ye doğru +1| bakan bir köprü inşa et. + +2|4) Bu işlemi üç kere tekrarla. +2| +2|Bitkin Blupi'ler şimdi +2|köprüden geçip çizgili parke +2|taşına ulaşabilir. + +#5 +1|Tuzak: +1|Dikkat, Blupi'lerin esir +1|olduğu toprak kolayca alev +1|almakta ve yangın daha da +1|yaklaşmakta. +1| +1|Hedef : +1|Yangın sönene kadar dayan. + +2|Dikkat et : +2|Duvar yapmak Blupi için çok +2|yorucu bir iş. Duvarı +2|bitirdiğinde, Blupi ölür ! + + + +İpucu : +Eğer oyun senin için yeterince +hızlı değilse, oyunu +hızlandırmak için F6'ya bas. +F5, oyunu normal hızda +çalıştırır. + +@5 +1|İpuçları : +1| +1|Gri parke taşlarının üzerine +1|dört duvar inşa etmelisin. +1|Bir bahçe kulübesi ve +1|inkübatör inşa etmek için +1|iki ağaç kesmelisin. + +2|Duvarlar bittiğinde, yangın +2|durana kadar beklemelisin. + +#6 +1|Hedef : +1| +1|Bir tehlike söz konusu: +1|kampı derhal dört kuleyle +1|korumalısın. + +2|Çizgili parke taşına +2|güneydoğuda kavuşacaksın. + + + + + + + + + +İpucu : + +Shift tuşu basılıyken her bir +Blupi'ye tıklarsan, birkaç +Blupi'yi aynı anda seçebilirsin. + + +@6 +1|Çözüm : +1| +1|Dört Blupi'nin hemen kaya +1|kesmesini talep etmelisin. +1|Küçük kayaları kesmek daha +1|kolay. +1| +1|Dört taş yığınını gri parke +1|taşına ulaştır ve koruma +1|kulelerini inşa etmeye başla. + +2|Virüslerin gelişini bekle ve +2|yıkımını izle. +2| +2|Diğer dört Blupi, güneydoğudaki +2|çizgili parke taşına yavaşça +2|gidebilir. + +#7 +1|Hedef : +1| +1|Dört Blupi çizgili parke +1|taşına ulaşmalı. En uzaktaki +1|Blupi ile de ilgilenmek +1|zorundasın. + + + + + +2|Dikkat et : +2| +2|Toprak, bahçe kulübesi inşa +2|etmek için uygun değil. + +@7 +1|Çözüm : +1| +1|Bir Blupi'ye domatesleri +1|kaldırmasını talep et, böylece +1|örümcekler onları yiyemeyecek. +1| +1|Diğer Blupi ile, doğudaki +1|adaya zıpla, çizgili parke +1|taşını buraya bağlayan bir +1|köprü inşa et. + +2|Domatesleri bitkin Blupi'ye +2|doğru taşı, böylece o bunları +2|yiyebilir. + +#8 +1|Hedef : +1| +1|Bir veya iki Blupi'ye mikrop +1|bulaşmasını önle ve hasta +1|olanlara bir ilaç bul. +1| +1|Son olarak, her Blupi +1|bir eve girmeli. + + + + + + + +2|İpucu : +2| +2|Bir laboratuvar kur. + +@8 +1|İpuçları : +1| +1|Laboratuvar taştan yapılmalı +1|O, sarı çiçekleri, hasta +1|Blupi'leri iyileştiren bir ilaca +1|dönüştürmende yararlı +1|olacak. + +2|Hasta Blupi'lere ilaç getirmek +2|için bir köprü inşa etmelisin. +2| +2|Evler güneydoğuda bulunmakta. + +#9 +1|Hedef : +1| +1|Buz pistini geçmek için bir +1|yol bul. +1| + + + + + + +2|Not : +2| +2|Blupi buzda yürüyebilir. Ancak +2|kaygan buzda, o bir sürü güç +2|kaybeder. + +@9 +1|İpuçları : +1| +1|Blupi'leri örümcüklerden +1|korumak için iki kule inşa +1|edilmeli. +1| +1|Yumurtaların açılması için +1|bir bahçe kulübesi ve +1|inkübatör inşa etmelisin. + +2|Buz ringini geçerken, Blupi +2|çok fazla güç kaybeder. Bu +2|yüzden geçmeden önce ona +2|domates getirmelisin. + +#10 +1|Hedef : +1| +1|Kuzeydoğudaki adaya ulaş ve +1|kazıklı çiti havaya uçur. + +2|Şimdi yapman gereken tek şey, +2|dört Blupi'yi çizgili parke +2|taşına yerleştirmek. + +@10 +1|İpuçları : +1| +1|Dört esirin doğrultusunda +1|bir köprü inşa et. Bu, +1|laboratuvar kurmak için +1|gereken kayayı kesip onu bahçe +1|kulübesinin yanına götürmene +1|olanak sağlayacak. +1| +1|Mavi çiçekler güneydoğuda. +1|Laboratuvar sayesinde, bunlar +1|dinamite dönüştürülebilir. + +2|Dinamiti kullanarak dört +2|Blupi'yi esir tutan kazıklı çiti +2|yok et. +2| +2|Öncelikle, esirleri patlamadan +2|korumak için geriye çek. + +#11 +1|Hedef : +1| +1|Kuzeydoğudaki evlere ulaş. +1|Dikkatli ol, orası sımsıkı +1|koruma altında. + +@11 +1|İpuçları : +1| +1|Kuzeybatıdaki adaya doğru bir +1|köprü inşa et ve sonra en az +1|dört paket dinamit yap. + +2|Dinamitleri kuzeye, +2|buldozerlere oldukça yakın +2|bir yere bırak. +2| +2|Dinamit yapılmadığı sürece, +2|kuzeye gitmekten kaçın. Yoksa +2|buldozerlerin ilgisini +2|çekersin. + +#12 +1|Hedef : +1| +1|Üç Blupi, yalnız bir Blupi'nin +1|bulunduğu kuzeybatıdaki bir +1|adaya varmalı. + +@12 +1|İpuçları : +1| +1|Bir bahçe kulübesi inşa et ve +1|domates yetiştir. +1| +1|Kuzeybatıda bulunan mavi +1|çiçekler ile dinamit yap. +1| + +2|Dinamiti, batıda yer alan +2|adaya ulaştır. +2| +2|Dikkatli ol, yolda iki virüs +2|gizleniyor. + +#13 +1|Hedef : +1| +1|Altı örümcekten kurtul. +1| +1|İlk dört örümcekten kurtulmak +1|kolay. Kalan ikisinden +1|kurtulmak daha zor. + + + + + + +2|İpucu : +2| +2|Laboratuvarda nasıl zehir +2|üretebileceğini öğren. + +@13 +1|İpuçları : +1| +1|İlk dört örümcek, laboratuvarda +1|yeşil çiçeklerden yapılan tuzakla +1|yakalanacak. +1| +1|Tuzaklar örümceklerin yakınına +1|yerleştirilmelidir. + +2|Son ikisi, laboratuvarda +2|değiştirilen domateslerle +2|zehirlenecek. +2| +2|Domatesleri laboratuvara +2|taşımak için bir köprü inşa et. + +#14 +1|Hedef : +1| +1|Blupi yalnızca eve gitmeli. +1| + +@14 +1|İpuçları : +1| +1|Küçük çakıl taşlarının altında +1|demir ara. Kalasları bayrağın +1|olduğu yere bırak ve maden +1|inşa et. +1| +1|Atölye inşa etmek için kaya kes, +1|böylece demiri kullanabilirsin. + +2|Bir bomba al, jipe bin ve +2|doğuya git. Jip seni +2|buldozerlerden koruyacak. +2| +2|Kazıklı çite vardığında, jipi +2|derhal terketmelisin, saatli +2|bombayı bırakmalısın ve +2|çalıştırmalısın. Daha sonra jipe +2|geri binmelisin ve oradan +2|uzaklaşmalısın. + +#15 +1|Hedef : +1| +1|Yalnız bir Blupi kuzeydoğudaki +1|eve ulaşmalı. + +2|Bunu yapmak için, birçok +2|düşman tesisini yok etmelisin. + +@15 +1|İpuçları : +1| +1|Çizgili parke taşının olduğu +1|yere bir bahçe kulübesi ve +1|iki koruma kulesi inşa et. +1| +1|Doğudaki adayı birleştirmek +1|için bir köprü inşa et. +1|Çeşitli çiçekler topla ve +1|bunları ana kampa geri getir. + +2|Bir laboratuvar inşa et, +2|dinamit ve yapışkan tuzaklar +2|yap. Kampı içeriden yapışkan +2|tuzaklar ile, dışarıdan +2|dinamitler ile koru. +2| +2|Yeterli dinamitin ve tuzağın +2|olduğunu düşündüğünde, düşman +2|kampını yok etmek için +2|kuzeydoğuya ufak bir komando +2|birliği gönder. + +#16 +1|Durum : +1| +1|Blupi, gezegeninin ağaç olmayan, +1|kurak bir yerinde kayıp. + + + + +2|Hedef : +2| +2|İki Blupi kendi köylerine geri +2|dönmeli. + +@16 +1|İpuçları : +1| +1|Kuzeydoğudaki madeni bul, bir +1|atölye inşa etmek için kaya kes, +1|saatli bir bomba ve iki jip yap ve +1|güneybatıdaki düşman kampını +1|ara. + +2|Düşman kampını koruyan bariyeri +2|patlat. Buldozeri de patlatmaya +2|çalış. +2| +2|Güneye git, yalnız duran bir +2|ağacı ara ve ışınlayıcı inşa et. + +#17 +1|Hedef : +1| +1|Beş Blupi bir eve ulaşmalı. +1| + +2|Dikkat, bir ev düşman kampının +2|arkasında. + + + + + + + + + + + + +İpucu : + +Shift tuşu basılıyken her bir +Blupi'ye tıklarsan, birkaç +Blupi'yi aynı anda seçebilirsin. + +@17 +1|İpuçları : +1| +1|Bir Blupi şimdi adanın +1|batısındaki eve gidebilir. +1|Diğer dördü buldozerlerden +1|dolayı derhal oradan ayrılmalı. +1|Blupi'ler kuzeydoğuya gitmeli. + +2|Kuzeydoğunun daha ötesinde, +2|kazıklı çitle sarılı bir köy +2|bulacaksın. +2| +2|Köyün kuzeyinde bir sürü demir +2|var. +2| +2|Bir kayık yap ve saatli bir +2|bomba ile kuzeydoğuya git. + +#18 +1|Durum : +1| +1|Blupi çiçek toplarken, evinden +1|çok uzakta olduğunu farketmedi. +1|O şimdi düşmanlarla dolu bir +1|alanda kayboldu. + + + + + +2|Hedef : +2| +2|Blupi kaçmalı ve eve dönmenin +2|bir yolunu bulmalı. + +@18 +1|İpuçları : +1| +1|Batıya uzanan nehri bul ve bir +1|kayık yap. Dikkatli ol, bir +1|sürü virüs etrafta geziyor. + +2|Kayıkla, duvarı geçebilir ve +2|nehir kıyısına çıkabilirsin. +2| +2|Ev şimdi çok uzak değil. +2|Buldozerlerden uzak durma +2|konusunda dikkatli ol. + +#19 +1|Durum : +1| +1|Dört buldozer, Blupi'lerin +1|evini tehlike altına sokuyor. + + + + + +2|Hedef : +2| +2|Buldozerleri yok et. + +@19 +1|İpuçları : +1| +1|Bir Blupi'nin demir aramasını +1|ve zırh yapmasını talep et. +1|Zırh, onu yangından koruyacak. +1| +1|Doğuya git ve bir kayık yap. +1|Karaya çık ve ağaç olan bir +1|ada ara. Ağacı kes ve +1|tahtayı daha büyük olan bir +2|adaya götür. Bir ışınlayıcı +2|inşa et. O seni silah +2|deposuna götürecek. +2| +2|Etrafı çevreleyen duvarların +2|yanına birkaç dinamit koy ve +2|onları patlat. Kalan dinamitle, +2|buldozerleri yok edebilirsin. + +#20 +1|Hedef : +1| +1|Bütün düşman tesislerini yok +1|et. +1| + +@20 +1|İpuçları : +1| +1|Düşman kampını koruyan +1|bariyerleri yok etmeden önce, +1|olabildiğnce çok dinamit, +1|tuzak, vb. üret. + +#21 +1|Durum : +1| +1|Blupi, kötü bir robot +1|tarafından ele geçirildi. +1|O, robotun kampında esir +1|olarak tutuluyor. + + + + +2|Hedef : +2| +2|Blupi kaçmalı ve evini +2|bulmalı. + +@21 +1|İpuçları : +1| +1|Kuzeydoğuda bulunan dinamiti +1|al. Onu, kayalardaki bir +1|boşluğa bakan mavi bir +1|bariyerin yanına yerleştir. +1|Buldozer gelecek ve dinamitin +1|patlamasına neden olacak. Bu +1|da bariyeri patlatacak. + +2|Nehre ulaşana kadar doğuya +2|doğru koş. Kalaslarla bir +2|kayık yap. İkinci kalas +2|yığınına, sonra yine bir kayık +2|yapmak için ihtiyacın olacak. +2|Bunu yapmadan önce, +2|elekrikçarparı yapışkan bir +2|tuzakla yakalamalısın ve +2|doğudaki mavi bariyeri saatli +2|bir bombayla yok etmelisin. + +#22 +1|Hedefler : +1| +1|1) Kayıklar yap. +1| +1|2) Bütün adaları keşfet. +1| +1|3) Bütün düşman tesislerini +1| yok et + +@22 +1|İpuçları : +1| +1|Kuzeydoğudaki ada bir sürü +1|demire sahip. + +2|Doğudaki ada, dinamit ve +2|yapışkan tuzak yapmak için +2|gereken her şeye sahip. + +#23 +1|Durum : +1| +1|Blupi çok meraklı: Robotu iyice +1|gözlemledikten sonra, şimdi +1|robotun kendini kaybettiğini +1|farketti. + + + + + +2|Hedef : +2| +2|Destek getir ve düşmanı yok +2|et. + + +@23 +1|İpuçları : +1| +1|Ayrı olan Blupi, robottan +1|uzaklaşmalı ve batıya gitmeli. +1|Blupi tahtaya ulaşmak için +1|kaya kesmeli ve ışınlayıcı +1|inşa etmeli. + +2|İkinci Blupi grubuyla, +2|bir kayık yapmalısın, +2|kuzeydoğudaki bombayı +2|bulmalısın ve güneydeki +2|bariyeri patlatmalısın. Bu, +2|terkedilecek olan adaya tahta +2|getirmeni sağlayacak, böylece +2|kaybolmuş Blupi'ye katılmak +2|ve yardım etmek için bir +2|ışınlayıcı inşa edebilirsin. + +#24 +1|Durum : +1| +1|Bölge düşmanlarla dolu. +1| + + + +2|Hedef : +2| +2|Bütün düşmanları yok et. + +@24 +1|İpuçları : +1| +1|Yangından uzak durmak için +1|güneydoğuya git ve kalan +1|ağaçla bir kayık yap. +1| +1|Kampta biraz demir bulacaksın. +1| + +2|Kampın kuzeyinde biraz yumurta +2|bulacaksın. + +#25 +1|Blupi robotun kendi gezegeninden +1|garip bir şey getirdiğinden +1|şüpheleniyor : +1| +1| Platin.... +1| +1|Robotun roketinin yanında +2|duran platin, Blupi'nin düşman +2|teknolojisine erişimini +2|sağlayacak. +2| + + +2|Hedef : +2|Bir küp platini çizgili parke +2|taşının üzerine koy. + +@25 +1|İpuçları : +1| +1|İki buldozeri yapışkan tuzaklar +1|ile imha et. İlk düşman kampının +1|kuzeyinde bir kayık yap, sonra +1|saatli bir bomba ile karaya çık +1|ve doğuya git. +1| +1|Kayaların arasında, güneye doğru +1|giden bir patika ara. Roketin +2|bulunduğu düşman kampı doğuda +2|uzakta bir yerde. Platini ele +2|geçirebilmek için bariyeri +2|patlatman gerekecek. +2| +2|Platini ana kampa geri götür. + +#26 +1|Platin küp, senin düşman +1|teknolojisine erişimini +1|sağlayacak, o yüzden onu +1|doğru şekilde kullan. + + + + + +2|Hedef : +2| +2|Blupi'nin evini bulmasına +2|yardım et. + +@26 +1|İpuçları : +1| +1|Atölyede platin küpü kullanarak +1|yardımcı bir robot yap ve saatli +1|bir bomba yap. +1| +1|Robotu ve bombayı al. Robot, +1|batıdaki düşman kampını +1|farkedilmeden geçebilir. +2|Kuzeydeki bariyeri patlat ve +2|ana kamptaki Blupi'leri beslemek +2|için domates al. +2| +2|İlk zıplayıştan önce domatesleri +2|yere bırak. + +#27 +1|Durum : +1| +1|Robot, Blupi köyünün yakınına +1|kendi köyünü kurma +1|küstahlığında bulundu. + + + + +2|Hedef : +2| +2|Düşman kampına ulaş ve +2|her şeyi yok et. + +@27 +1|İpuçları : +1| +1|Hemen bir ışınlayıcı inşa et, +1|böylece yumurtalı adaya +1|ulaşabilirsin. Taş yığınlarının +1|olduğu yere iki koruma kulesi inşa +1|et. Her kulenin sağına ve soluna +1|kazıklı çit kur. + +2|Şimdi nefes alabilirsin ! +2| +2|Kuzeyde bulunan düşman +2|kampına ulaşmak için iki yolun +2|var, ya kayıkla ya da köprü +2|yaparak. +2| +2|Seçmek sana düşüyor ! + +#28 +1|Durum : +1| +1|Blupi, evini inşa ederken bir +1|hata yaptı : etrafına bir duvar +1|ördü. + + + + + +2|Hedef : +2| +2|Blupi yalnızca eve gitmeli. + +@28 +1|İpuçları : +1| +1|Kuzeyde küçük bir adada bir +1|sürü yumurta var. +1| +1|Kuzeyden ve güneyden gelen +1|buldozerleri önlemek için +1|düşman kampını çabucak geçmek +1|zorundasın, böylece mavi +1|çiçekleri toplayabilirsin. Bir başka +2|Blupi bunları dinamit yapmak +2|için götürebilir. +2| +2|Kullanılabilecek tek kaya, düşman +2|kampının güneyinde, koruma +2|kulesinin hemen dışında +2|bulunuyor. + +#29 +1|Durum : +1| +1|Boş alanlar, robot ve destekçileri +1|tarafından git gide dolduruluyor. + + + + + +2|Hedef : +2| +2|Blupi köyünü kurmalı ve iyi +2|savunma taktikleri geliştirmeli. +2| +2|Sonra o, bütün düşmanlara +2|saldırıp onları yok edebilir. + +@29 +1|İpuçları: +1| +1|Blupi; kuzeybatı, kuzeydoğu ve +1|güneydoğu taraflarında koruma +1|kuleleri inşa etmeli. Bütün kayalar +1|kuzeybatıda bulunmakta. +1| +1|Kazıklı çit yakınındaki ağaçları +1|sakın kesme. Onlar, zıplayan +1|bombalara karşı faydalı olabilir. + +2|Doğuda bulunan yeşil çiçekler, +2|köyü savunmak amacıyla +2|yapışkan tuzaklar yapmanı +2|sağlayacak. +2| +2|Güneybatıda demir çıkar ve +2|bombalar ve zırhlar yap. + +#30 +1|Durum : +1| +1|Bu savaş daha fazla süremez. +1|Blupi ve son robot bir +1|anlaşmaya vardılar : Robotun, +1|Blupi'nin gezegeninden ayrılması +1|karşılığında, Blupi, robotun +1|roketine dönmesine yardım +1|edecek. + + + + +2|Hedef : +2| +2|Rokete giden patikayı hazırla, +2|böylece robot, gezegenden +2|ayrılabilir. Savaşı kaybetmekten +2|dolayı robot kızgın, bu yüzden +2|patika bitene kadar kımıldamayı +2|reddediyor. + +@30 +1|İpuçları : +1| +1|Güneydoğuda bir kaya kes. Bir +1|ağaç kes ve bir kayık yap. +1|Kayıkla, kuzeydoğuda bir ada +1|ara. Biraz demir ara, bir maden +1|ve atölye kur. Robotun +1|etrafındaki bariyerleri patlatmanı +2|sağlayacak olan bir bomba yap. +2| +2|Yapman gereken son şey bir +2|köprü yapmak, böylece robot, +2|roketine geri dönebilir. \ No newline at end of file diff --git a/resources/po/tr.po b/resources/po/tr.po new file mode 100644 index 0000000..569fd44 --- /dev/null +++ b/resources/po/tr.po @@ -0,0 +1,971 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: tr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-08-08 07:29+0200\n" +"PO-Revision-Date: 2019-01-23 18:09+0300\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid " - FFmpeg (LGPLv2.1)" +msgstr " - FFmpeg (LGPLv2.1)" + +msgid " - GNU/gettext and GNU/libiconv (GPLv3)" +msgstr " - GNU/gettext ve GNU/libiconv (GPLv3)" + +msgid " - SDL2, SDL2_image and SDL2_mixer (zlib license)" +msgstr " - SDL2, SDL2_image ve SDL2_mixer (zlib lisansı)" + +msgid " - SDL_kitchensink (MIT)" +msgstr " - SDL_kitchensink (MIT)" + +msgid " - argagg (MIT)" +msgstr " - argagg (MIT)" + +msgid " - libasound (LGPLv2.1)" +msgstr " - libasound (LGPLv2.1)" + +msgid " - libcurl (MIT/X derivate)" +msgstr " - libcurl (MIT/X türevi)" + +msgid " - libogg and libvorbis (own license)" +msgstr " - libogg and libvorbis (kendi lisansı)" + +msgid " - libpng (own license)" +msgstr " - libpng (kendi lisansı)" + +msgid " - libpulse (LGPLv2.1)" +msgstr " - libpulse (LGPLv2.1)" + +msgid " - libsndfile (LGPLv3)" +msgstr " - libsndfile (LGPLv3)" + +msgid " - zlib (own license)" +msgstr " - zlib (kendi lisansı)" + +msgid "(isolated tower)" +msgstr "(ayrık kule)" + +msgid "" +"1: Cut down a tree \n" +"2: Build a bridge" +msgstr "" +"1: Bir ağaç kes \n" +"2: Bir köprü inşa et" + +msgid "" +"1: Cut down a tree \n" +"2: Make a boat" +msgstr "" +"1: Bir ağaç kes \n" +"2: Bir kayık yap" + +msgid "" +"1: Cut down a tree \n" +"2: Make a palisade" +msgstr "" +"1: Bir ağaç kes \n" +"2: Kazıklı bir çit yap" + +msgid "" +"1: Extract iron\n" +"2: Make a Jeep" +msgstr "" +"1: Demir çıkar \n" +"2: Bir jip yap" + +msgid "" +"1: Extract iron\n" +"2: Make a bomb" +msgstr "" +"1: Demir çıkar \n" +"2: Bir bomba yap" + +msgid "" +"1: Extract iron\n" +"2: Make an armour" +msgstr "" +"1: Demir çıkar \n" +"2: Bir zırh yap" + +msgid "" +"1: Grow tomatoes\n" +"2: Eat" +msgstr "" +"1: Domates yetiştir \n" +"2: Ye" + +msgid "" +"1: Make a bunch\n" +"2: Transform" +msgstr "" +"1: Bir demet çiçek topla\n" +"2: Dönüştür" + +msgid "" +"1: Take\n" +"2: Build a bridge" +msgstr "" +"1: Al\n" +"2: Bir köprü inşa et" + +msgid "" +"1: Take\n" +"2: Build palisade" +msgstr "" +"1: Al\n" +"2: Kazıklı bir çit yap" + +msgid "" +"1: Take\n" +"2: Make a boat" +msgstr "" +"1: Al\n" +"2: Bir kayık yap" + +msgid "" +"1: Take\n" +"2: Transform" +msgstr "" +"1: Al\n" +"2: Dönüştür" + +msgid "" +"1|Drop planks on striped \n" +"1|paving stones." +msgstr "" +"1|Kalasları çizgili parke \n" +"1|taşına bırak." + +msgid "" +"1|Drop platinium on striped \n" +"1|paving stones." +msgstr "" +"1|Platini çizgili parke \n" +"1|taşına bırak." + +msgid "" +"1|Drop tomatoes on striped \n" +"1|paving stones." +msgstr "" +"1|Domatesleri çizgili parke \n" +"1|taşına bırak." + +msgid "" +"1|Each Blupi in\n" +"1|his house." +msgstr "" +"1|Her Blupi kendi\n" +"1|evinde olmalı." + +msgid "" +"1|Go on striped\n" +"1|paving stones." +msgstr "" +"1|Çizgili parke taşı\n" +"1| üzerinde dur." + +msgid "1|Goal :" +msgstr "1|Hedef :" + +msgid "" +"1|Kill all\n" +"1|enemies !" +msgstr "" +"1|Bütün düşmanları\n" +"1|öldür !" + +msgid "" +"1|Resist until\n" +"1|fire extinction ..." +msgstr "" +"1|Yangın sönene\n" +"1|kadar diren." + +#, c-format +msgid "" +"1|The Blupi population must\n" +"1|be of at least %d Blupi." +msgstr "" +"1|Blupi nüfusu\n" +"1|en az %d olmalı." + +msgid "" +"1|The robot must reach\n" +"1|the striped paving stones." +msgstr "" +"1|Robot çizgili parke\n" +"1|taşına ulaşmalı." + +msgid "Aliasing" +msgstr "Örtüşme" + +msgid "All licenses are available under share/doc/planetblupi/copyright" +msgstr "Bütün lisanslar share/doc/planetblupi/copyright yolu altında mevcut" + +msgid "Already two teleporters" +msgstr "Zaten iki ışınlayıcı var" + +msgid "Another mistake..." +msgstr "Yine olmadı.." + +msgid "Anti-aliasing" +msgstr "Örtüşme önleme" + +msgid "Armour" +msgstr "Zırh" + +msgid "Available buttons" +msgstr "Mevcut butonlar" + +msgid "Bang, failed again !" +msgstr "Güm, yine başaramadık !" + +msgid "Bank" +msgstr "Kıyı" + +msgid "Blow up" +msgstr "Patlat" + +msgid "Blupi" +msgstr "Blupi" + +msgid "Blupi in house" +msgstr "Blupi evde olsun" + +msgid "Blupi on striped paving stones" +msgstr "Blupi çizgili parke taşı üzerinde olsun" + +msgid "Blupi's energy" +msgstr "Blupi'nin enerjisi" + +msgid "Blupi's house" +msgstr "Blupi'nin evi" + +msgid "Boat" +msgstr "Kayık" + +msgid "Bouncing bomb" +msgstr "Zıplayan bomba" + +msgid "Bridge" +msgstr "Köprü" + +msgid "Bridge finished" +msgstr "Köprü tamamlandı" + +msgid "Buildings" +msgstr "Binalar" + +msgid "Bulldozer" +msgstr "Buldozer" + +msgid "Bunch of flowers" +msgstr "Bir demet çiçek" + +msgid "Burnt ground" +msgstr "Yanmış zemin" + +msgid "Cancel last operation" +msgstr "Son işlemi iptal et" + +msgid "Carve a rock" +msgstr "Kayayı kes" + +msgid "Carve rocks" +msgstr "Kayaları kes" + +msgid "" +"Change the\n" +"display mode" +msgstr "" +"Görüntü modunu\n" +"değiştir" + +msgid "" +"Change the\n" +"render quality" +msgstr "" +"Görüntü kalitesini\n" +"değiştir" + +msgid "" +"Change the\n" +"window size" +msgstr "" +"Pencere büyüklüğünü\n" +"değiştir" + +msgid "" +"Choose the\n" +"music format" +msgstr "" +"Müzik formatını\n" +"değiştir" + +msgid "Construct this game" +msgstr "Bu oyunu tasarla" + +msgid "Construction" +msgstr "Oyun tasarlama" + +msgid "Construction number" +msgstr "Oyun no" + +msgid "Continue this game" +msgstr "Bu oyuna devam et" + +msgid "Cut down a tree" +msgstr "Ağacı kes" + +msgid "Cut down trees" +msgstr "Ağaçları kes" + +msgid "Decorative plants" +msgstr "Süs bitkiler" + +msgid "Delete figure" +msgstr "Karakteri sil" + +msgid "Delete fire" +msgstr "Yangını sil" + +msgid "Delete item" +msgstr "Öğeyi sil" + +msgid "Demo" +msgstr "Demo" + +msgid "Desert" +msgstr "Çöl" + +msgid "Desktop" +msgstr "Masaüstü" + +msgid "Desktop mode" +msgstr "Masaüstü modu" + +msgid "Difficult" +msgstr "Zor" + +msgid "Disable anti-aliasing" +msgstr "Örtüşme önlemeyi devre dışı bırak" + +msgid "Drink" +msgstr "İç" + +msgid "Drop" +msgstr "Bırak" + +msgid "Dynamite" +msgstr "Dinamit" + +msgid "E" +msgstr "D" + +msgid "Easy" +msgstr "Kolay" + +msgid "Eat" +msgstr "Ye" + +msgid "Eggs" +msgstr "Yumurtalar" + +msgid "Electrocutor" +msgstr "Elektrikçarpar" + +msgid "Enable anti-aliasing" +msgstr "Örtüşme önlemeyi etkinleştir" + +msgid "Ending conditions" +msgstr "Bitirme koşulları" + +msgid "Enemy barrier" +msgstr "Düşman barikatı" + +msgid "Enemy buildings" +msgstr "Düşman binaları" + +msgid "Enemy construction" +msgstr "Düşman binası" + +msgid "Enemy ground" +msgstr "Düşman arazisi" + +msgid "Enemy rocket" +msgstr "Düşman roketi" + +msgid "Excellent..." +msgstr "Mükemmel." + +msgid "Extract iron" +msgstr "Demir çıkar" + +msgid "Faster" +msgstr "Daha hızlı" + +msgid "Finish" +msgstr "Bitir" + +msgid "Fire" +msgstr "Yangın" + +msgid "Fire out" +msgstr "Yangın sönsün" + +msgid "Flag" +msgstr "Bayrak" + +msgid "Flowers" +msgstr "Çiçekler" + +msgid "Forest" +msgstr "Orman" + +msgid "Forest under snow" +msgstr "Kar altında orman" + +msgid "Fullscreen" +msgstr "Tam ekran" + +msgid "Game paused" +msgstr "Oyun durduruldu" + +msgid "Garden shed" +msgstr "Bahçe kulübesi" + +msgid "" +"Global game\n" +"speed" +msgstr "" +"Genel oyun\n" +"hızı" + +msgid "Global settings" +msgstr "Genel ayarlar" + +msgid "Go" +msgstr "Git" + +msgid "Grow tomatoes" +msgstr "Domates yetiştir" + +msgid "Help" +msgstr "Yardım" + +msgid "Help number" +msgstr "Yardım no" + +msgid "Helper robot" +msgstr "Yardımcı robot" + +msgid "Ice" +msgstr "Buz" + +msgid "Impossible" +msgstr "İmkansız" + +#, c-format +msgid "Impossible to win if less than %d Blupi" +msgstr "Eğer nüfus %d Blupi'den azsa kazanmak imkansız" + +msgid "Inadequate ground" +msgstr "Arazi uygun edğil" + +msgid "Increase volume" +msgstr "Ses seviyesini arttır" + +msgid "Increase window size" +msgstr "Pencere büyüklüğünü arttır" + +msgid "Incubator" +msgstr "İnkübatör" + +msgid "Incubator or teleporter" +msgstr "İnkübatör veya ışınlayıcı" + +msgid "Inflammable ground" +msgstr "Alev alabilen zemin" + +msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." +msgstr "Planet Blupi CD-Rom'unu takın ve birkaç saniye bekleyin..." + +msgid "" +"Interface language\n" +"and sounds" +msgstr "" +"Arayüz dili\n" +"ve sesleri" + +msgid "Interrupt" +msgstr "Oyunu yarıda kes" + +msgid "Iron" +msgstr "Demir" + +msgid "Items" +msgstr "Öğeler" + +msgid "Jeep" +msgstr "Jip" + +msgid "Laboratory" +msgstr "Laboratuvar" + +msgid "Last construction resolved !" +msgstr "Son oyun çözüldü !" + +msgid "Leave Jeep" +msgstr "Jipten ayrıl" + +msgid "Legacy" +msgstr "Eski" + +msgid "Legacy mode (640x480)" +msgstr "Eski mod (640x480)" + +#, c-format +msgid "Lost if less than %d Blupi" +msgstr "Nüfus %d Blupi'den azsa kaybedilir" + +msgid "Make a Jeep" +msgstr "Bir jip yap" + +msgid "Make a helper robot" +msgstr "Yardımcı bir robot yap" + +msgid "Make a time bomb" +msgstr "Saatli bir bomba yap" + +msgid "Make armour" +msgstr "Zırh yap" + +msgid "Make bunch of flowers" +msgstr "Bir demet çiçek topla" + +msgid "Make bunches of flowers" +msgstr "Demetlerce çiçek topla" + +msgid "Master robot" +msgstr "Baş robot" + +msgid "Medical potion" +msgstr "Tıbbi ilaç" + +msgid "Midi" +msgstr "Midi" + +msgid "Mine" +msgstr "Maden" + +msgid "Miscellaneous ground" +msgstr "Karışık zemin" + +msgid "Mission number" +msgstr "Görev no" + +msgid "Mission over..." +msgstr "Görev tamamlandı." + +msgid "Missions" +msgstr "Görevler" + +msgid "" +"Music\n" +"volume" +msgstr "Müzik seviyesi" + +msgid "Music choice" +msgstr "Müzik seçimi" + +msgid "Music number 1" +msgstr "Müzik no 1" + +msgid "Music number 10" +msgstr "Müzik no 10" + +msgid "Music number 2" +msgstr "Müzik no 2" + +msgid "Music number 3" +msgstr "Müzik no 3" + +msgid "Music number 4" +msgstr "Müzik no 4" + +msgid "Music number 5" +msgstr "Müzik no 5" + +msgid "Music number 6" +msgstr "Müzik no 6" + +msgid "Music number 7" +msgstr "Müzik no 7" + +msgid "Music number 8" +msgstr "Müzik no 8" + +msgid "Music number 9" +msgstr "Müzik no 9" + +msgid "N" +msgstr "K" + +#, c-format +msgid "New version available for download on www.blupi.org (v%s)" +msgstr "Oyunun yeni bir versiyonu mevcut www.blupi.org (v%s)" + +msgid "Next game" +msgstr "Sonraki oyun" + +msgid "Next language" +msgstr "Sonraki dil" + +msgid "Next page" +msgstr "Sonraki sayfa" + +msgid "No" +msgstr "Hayır" + +msgid "No more enemies" +msgstr "Düşman kalmasın" + +msgid "No music" +msgstr "Müzik yok" + +msgid "No video" +msgstr "Video yok" + +msgid "No, not that way !" +msgstr "Hayır, olamaz !" + +msgid "No, wrong way ..." +msgstr "Bu şekilde değil..." + +msgid "None" +msgstr "Yok" + +msgid "Normal ground" +msgstr "Normal zemin" + +msgid "Not available" +msgstr "Mevcut değil" + +msgid "Not enough energy" +msgstr "Yetersiz enerji" + +msgid "Now go on mission." +msgstr "Şimdi göreve devam et." + +msgid "Occupied ground" +msgstr "Dolu alan" + +msgid "Ogg" +msgstr "Ogg" + +msgid "Open another game" +msgstr "Başka bir oyun aç" + +msgid "Opposite bank no good" +msgstr "Karşı kıyı uygun değil" + +msgid "Palisade" +msgstr "Kazıklı çit" + +msgid "Paving stones" +msgstr "Parke taşı" + +msgid "Planet Blupi" +msgstr "Blupi Gezegeni" + +msgid "Planet Blupi -- stop" +msgstr "Blupi Gezegeni -- dur" + +msgid "Planks" +msgstr "Kalaslar" + +msgid "Planks on striped paving stones" +msgstr "Kalaslar çizgili parke taşı üzerinde olsun" + +msgid "Platinium" +msgstr "Platin" + +msgid "Platinium on striped paving stones" +msgstr "Platin çizgili parke taşı üzerinde olsun" + +msgid "Play this game" +msgstr "Bu oyunu oyna" + +msgid "Poison" +msgstr "Zehir" + +msgid "Prairie" +msgstr "Bozkır" + +msgid "Previous game" +msgstr "Önceki oyun" + +msgid "Previous language" +msgstr "Önceki dil" + +msgid "Previous page" +msgstr "Önceki sayfa" + +msgid "Prospect for iron" +msgstr "Demir ara" + +msgid "Protection tower" +msgstr "Koruma kulesi" + +msgid "Quit" +msgstr "Çık" + +msgid "Quit Planet Blupi" +msgstr "Blupi Gezegeni'nden çık" + +msgid "Quit construction" +msgstr "Oyundan çık" + +msgid "Quit this game" +msgstr "Bu oyundan çık" + +msgid "REC" +msgstr "REC" + +msgid "Reduce volume" +msgstr "Ses seviyesini azalt" + +msgid "Reduce window size" +msgstr "Pencere büyüklüğünü azalt" + +msgid "Repeat" +msgstr "Tekrar et" + +msgid "Restart this game" +msgstr "Bu oyunu tekrar başlat" + +msgid "Robot on striped paving stones" +msgstr "Robot çizgili parke taşı üzerinde olsun" + +msgid "Rocks" +msgstr "Kayalar" + +msgid "S" +msgstr "G" + +msgid "Save" +msgstr "Kaydet" + +msgid "Save this game" +msgstr "Bu oyunu kaydet" + +msgid "Scenery choice" +msgstr "Manzara seçimi" + +msgid "" +"Scroll speed\n" +"with mouse" +msgstr "" +"Fare kaydırma\n" +"hızı" + +msgid "" +"Select the\n" +"window mode" +msgstr "" +"Pencere modu\n" +"seç" + +msgid "Settings" +msgstr "Ayarlar" + +msgid "Show videos" +msgstr "Videoları göster" + +msgid "Sick Blupi" +msgstr "Hasta Blupi" + +msgid "Skill level" +msgstr "Beceri düzeyi" + +msgid "Slower" +msgstr "Daha yavaş" + +msgid "" +"Sound effect\n" +"volume" +msgstr "" +"Ses efekti\n" +"seviyesi" + +msgid "Special pavings" +msgstr "Özel kaplamalar" + +msgid "Spider" +msgstr "Örümcek" + +msgid "Starting fire" +msgstr "Yangın başlatma" + +msgid "Sterile ground" +msgstr "Verimsiz toprak" + +msgid "Sticky trap" +msgstr "Yapışkan tuzak" + +msgid "Stones" +msgstr "Taşlar" + +msgid "Stop" +msgstr "Dur" + +msgid "Striped paving stones" +msgstr "Çizgili parke taşı" + +msgid "Take" +msgstr "Al" + +msgid "Teleporter" +msgstr "Işınlayıcı" + +msgid "This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" +msgstr "Bu oyun Epsitec SA, CH-1400 Yverdon-les-Bains'in orijinal ürünüdür" + +msgid "This game uses statically linked free and open-source libraries:" +msgstr "Bu oyun ücretsiz ve açık kaynak kodlu kütüphaneler kullanmaktadır:" + +msgid "Time bomb" +msgstr "Saatli bomba" + +msgid "Tired Blupi" +msgstr "Bitkin Blupi" + +msgid "Tomatoes" +msgstr "Domatesler" + +msgid "Tomatoes on striped paving stones" +msgstr "Domatesler çizgili parke taşı üzerinde olsun" + +msgid "Too close to water" +msgstr "Suya çok yakın" + +msgid "Training" +msgstr "Eğitim" + +msgid "Training number" +msgstr "Eğitim no" + +msgid "Transform" +msgstr "Dönüştür" + +msgid "Transport" +msgstr "Ulaşım" + +msgid "Trapped enemy" +msgstr "Tuzağa düşmüş düşman" + +msgid "Tree" +msgstr "Ağaç" + +msgid "Tree trunks" +msgstr "Ağaç gövdeleri" + +msgid "Use Midi music (original)" +msgstr "Midi müzik kullan (orijinal)" + +msgid "Use Ogg music" +msgstr "Ogg müzik kullan" + +msgid "Version" +msgstr "Versiyon" + +msgid "Very good, success on all missions !" +msgstr "Bütün görevler başarılı !" + +msgid "Very good." +msgstr "Çok iyi." + +msgid "" +"Video\n" +"sequences" +msgstr "" +"Video\n" +"kesitleri" + +msgid "Virus" +msgstr "Virüs" + +msgid "W" +msgstr "B" + +msgid "Wall" +msgstr "Duvar" + +msgid "Wall or palisade" +msgstr "Duvar veya çit" + +msgid "Water" +msgstr "Su" + +msgid "We hope you have had as much fun playing the game as we had making it !" +msgstr "Umarız ki oyunu oynamaktan, bizim oyunu yaptığımız kadar, eğlenmişsinizdir !" + +msgid "Weapons" +msgstr "Silahlar" + +msgid "Well done !" +msgstr "Aferin !" + +msgid "Windowed" +msgstr "Pencere görünümü" + +msgid "Work done" +msgstr "Yapılan iş" + +msgid "Workshop" +msgstr "Atölye" + +msgid "Yes" +msgstr "Evet" + +msgid "Yes, great ..." +msgstr "Evet, harika." + +msgid "You have failed, try again..." +msgstr "Kaybettin, tekrar dene..." + +msgid "You have played Planet Blupi." +msgstr "Blupi Gezegeni'ni oynadınız." + +#, c-format +msgid "construction %d, time %d" +msgstr "oyun %d, zaman %d" + +msgid "en" +msgstr "tr" + +msgid "free slot" +msgstr "boş yer" + +msgid "http://www.blupi.org info@blupi.org" +msgstr "http://www.blupi.org info@blupi.org" + +#, c-format +msgid "mission %d, time %d" +msgstr "görev %d, zaman %d" + +#, c-format +msgid "training %d, time %d" +msgstr "eğitim %d, zaman %d" -- cgit v1.2.3 From ce6eee5853849440ef67b0b7b37fb0770f2d7164 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Thu, 24 Jan 2019 23:47:21 +0100 Subject: Prepare the turkish locale entry in the game --- src/event.cxx | 10 ++++++++++ src/event.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/event.cxx b/src/event.cxx index 618c424..bdba60f 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -1684,6 +1684,7 @@ CEvent::CEvent () m_Languages.push_back (Language::de); m_Languages.push_back (Language::it); m_Languages.push_back (Language::pl); + m_Languages.push_back (Language::tr); this->m_LangStart = GetLocale (); @@ -1697,6 +1698,8 @@ CEvent::CEvent () m_Lang = m_Languages.begin () + 4; else if (this->m_LangStart == "pl") m_Lang = m_Languages.begin () + 5; + else if (this->m_LangStart == "tr") + m_Lang = m_Languages.begin () + 6; else m_Lang = m_Languages.begin (); @@ -2710,6 +2713,8 @@ CEvent::DrawButtons () lang = "Italiano"; else if (locale == "pl") lang = "Polski"; + else if (locale == "tr") + lang = "Türk"; lg = GetTextWidth (lang.c_str ()); pos.x = (54 + 40) - lg / 2 + LXOFFSET (); @@ -4076,6 +4081,8 @@ CEvent::GetStartLanguage () return Language::it; if (this->m_LangStart == "pl") return Language::pl; + if (this->m_LangStart == "tr") + return Language::tr; return Language::en; } @@ -4116,6 +4123,9 @@ CEvent::SetLanguage (Language lang) case Language::pl: slang = "pl"; break; + case Language::tr: + slang = "tr"; + break; } snprintf (env, sizeof (env), "LANGUAGE=%s", slang); diff --git a/src/event.h b/src/event.h index 63ca037..97b4f94 100644 --- a/src/event.h +++ b/src/event.h @@ -85,6 +85,7 @@ enum class Language { de = 3, it = 4, pl = 5, + tr = 6, end, }; -- cgit v1.2.3 From a732fad20fa7acb65cfdfe63d6d96fe85c9eaef7 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 17:29:25 +0100 Subject: Improve a bit the turkish po file --- resources/po/tr.po | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/resources/po/tr.po b/resources/po/tr.po index 569fd44..1ca4d75 100644 --- a/resources/po/tr.po +++ b/resources/po/tr.po @@ -304,7 +304,8 @@ msgid "" "Change the\n" "window size" msgstr "" -"Pencere büyüklüğünü\n" +"Pencere\n" +"büyüklüğünü\n" "değiştir" msgid "" @@ -785,8 +786,8 @@ msgid "" "Select the\n" "window mode" msgstr "" -"Pencere modu\n" -"seç" +"Pencere\n" +"modu seç" msgid "Settings" msgstr "Ayarlar" -- cgit v1.2.3 From adb44c5f05dd98231f41d75a3b18e6658b0b733b Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 17:30:22 +0100 Subject: Add support for turkish glyphs Improve UTF-8 parsing by the way. --- resources/image/little.png | Bin 1088 -> 1945 bytes resources/image/text.png | Bin 7422 -> 18786 bytes src/blupi.cxx | 4 +- src/text.cxx | 137 ++++++++++++++++++++++++++++----------------- 4 files changed, 87 insertions(+), 54 deletions(-) diff --git a/resources/image/little.png b/resources/image/little.png index 1b2d9ef..ce1552d 100644 Binary files a/resources/image/little.png and b/resources/image/little.png differ diff --git a/resources/image/text.png b/resources/image/text.png index 40f14bd..bdb0722 100644 Binary files a/resources/image/text.png and b/resources/image/text.png differ diff --git a/src/blupi.cxx b/src/blupi.cxx index 8c986b5..83c49c8 100644 --- a/src/blupi.cxx +++ b/src/blupi.cxx @@ -981,7 +981,7 @@ DoInit (int argc, char * argv[], bool & exit) } totalDim.x = DIMTEXTX * 16; - totalDim.y = DIMTEXTY * 9 * 3; + totalDim.y = DIMTEXTY * 14 * 3; iconDim.x = DIMTEXTX; iconDim.y = DIMTEXTY; if (!g_pPixmap->Cache (CHTEXT, "image/text.png", totalDim, iconDim)) @@ -991,7 +991,7 @@ DoInit (int argc, char * argv[], bool & exit) } totalDim.x = DIMLITTLEX * 16; - totalDim.y = DIMLITTLEY * 9; + totalDim.y = DIMLITTLEY * 14; iconDim.x = DIMLITTLEX; iconDim.y = DIMLITTLEY; if (!g_pPixmap->Cache (CHLITTLE, "image/little.png", totalDim, iconDim)) diff --git a/src/text.cxx b/src/text.cxx index 222c165..5488807 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -34,56 +34,65 @@ * \param[in] c - The character (incremented if 0xC3 or 0xC4 or 0xC5 UTF-8). * \returns the offset. */ -static Sint32 +static Uint8 GetOffset (const char *& c) { /* clang-format off */ - static const unsigned char table_accents[] = { - /* ü à â é è ë ê ï */ - 0xBC, 0xA0, 0xA2, 0xA9, 0xA8, 0xAB, 0xAA, 0xAF, /* UTF-8 */ - /* î ô ù û ä ö ç */ - 0xAE, 0xB4, 0xB9, 0xBB, 0xA4, 0xB6, 0xA7, /* UTF-8 */ + static const unsigned char table_c3[] = { + /* ü à â é è ë ê ï */ + 0xBC, 0xA0, 0xA2, 0xA9, 0xA8, 0xAB, 0xAA, 0xAF, + /* î ô ù û ä ö ç ò */ + 0xAE, 0xB4, 0xB9, 0xBB, 0xA4, 0xB6, 0xA7, 0xB2, + /* ì ó Ç Ö Ü */ + 0xAC, 0xB3, 0x87, 0x96, 0x9C, }; - static const unsigned char table_extended[] = { - /* Italian */ - /* ò ì */ - 0xB2, 0xAC, /* UTF-8 */ - /* Polish */ - /* ń ó ę ć ź ż */ - 0x84, 0xB3, 0x99, 0x87, 0xBA, 0xBC, /* UTF-8 */ - /* ą ł ś */ - 0x85, 0x82, 0x9B, /* UTF-8 */ + static const unsigned char table_c4[] = { + /* ę ć ą Ğ ğ İ ı */ + 0x99, 0x87, 0x85, 0x9E, 0x9F, 0xB0, 0xB1, + }; + + static const unsigned char table_c5[] = { + /* ń ź ż ł ś Ş ş */ + 0x84, 0xBA, 0xBC, 0x82, 0x9B, 0x9E, 0x9F, }; /* clang-format on */ - if (static_cast (*c) == 0xC3) - c++; - if (static_cast (*c) == 0xC4) - c++; - if (static_cast (*c) == 0xC5) - c++; + int offset = 0; + int inc = 0; + size_t size = 0; + const unsigned char * table = nullptr; - if (GetLocale () != "pl") + switch (static_cast (*c)) { - // Do not use the 'standard' accents table with Polish locale - // This is required because we check only last byte of UTF-8 and some - // characters overlap - // TODO: In the future, this ugly hack should be replaced with proper UTF-8 - // parsing - for (unsigned int i = 0; i < countof (table_accents); ++i) - if ((unsigned char) *c == table_accents[i]) - return 15 + i; + case 0xC3: + offset = 128; + table = table_c3; + size = countof (table_c3); + inc = 1; + break; + case 0xC4: + offset = 128 + 32; + table = table_c4; + size = countof (table_c4); + inc = 1; + break; + case 0xC5: + offset = 128 + 64; + table = table_c5; + size = countof (table_c5); + inc = 1; + break; } - for (unsigned int i = 0; i < countof (table_extended); ++i) - if ((unsigned char) *c == table_extended[i]) - return 127 + i; + for (size_t i = 0; i < size; ++i) + if (static_cast (*(c + inc)) == table[i]) + return offset + i; - if (*c < 0) + if (*(c + inc) < 0) return 1; // square - return *c; + return *(c + inc); } /** @@ -93,41 +102,50 @@ GetOffset (const char *& c) * \param[in] font - The font used (little or normal). * \returns the length. */ -Sint32 +Uint8 GetCharWidth (const char *& c, Sint32 font) { // clang-format off - static const unsigned char table_width[] = + static const Uint8 table_width[] = { - 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 8, - 9, 9, 8, 8, 8, 8, 5, 5, 8, 8, 8, 9, 8, 8, 10, 10, + 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 5, 6, 9, 13, 11, 12, 12, 6, 6, 6, 12, 12, 5, 9, 6, 9, 8, 8, 9, 9, 8, 9, 8, 8, 9, 9, 6, 6, 8, 9, 10, 11, 12, 8, 9, 9, 9, 8, 8, 8, 9, 4, 8, 9, 8, 10, 9, 9, 8, 9, 8, 9, 10, 8, 9, 11, 9, 8, 10, 7, 10, 7, 13, 13, 9, 9, 8, 8, 8, 8, 6, 8, 8, 4, 6, 8, 4, 12, 8, 8, - 8, 8, 7, 6, 7, 8, 8, 10, 8, 8, 7, 6, 6, 6, 10, 8, - 5, 8, 8, 8, 8, 8, 7, 9, 6, 7 + 8, 8, 7, 6, 7, 8, 8, 10, 8, 8, 7, 6, 6, 6, 10, 0, + 8, 9, 9, 8, 8, 8, 8, 5, 5, 8, 8, 8, 9, 8, 8, 8, + 5, 8, 9, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 9, 8, 8, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 7, 6, 7, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - static const unsigned char table_width_little[] = + static const Uint8 table_width_little[] = { - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 7, - 6, 6, 6, 6, 6, 6, 3, 3, 6, 6, 6, 6, 6, 6, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3, 5, 8, 5, 11, 9, 3, 4, 4, 6, 6, 3, 4, 3, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 7, 6, 7, 6, 9, 8, 6, 7, 7, 5, 5, 8, 7, 2, 4, 7, 5, 10, 7, 8, 6, 8, 7, 6, 6, 6, 8, 12, 7, 6, 6, 3, 5, 3, 6, 8, 4, 6, 6, 6, 6, 6, 4, 6, 6, 2, 3, 5, 2, 10, 6, 6, - 6, 6, 3, 5, 3, 6, 6, 8, 6, 6, 5, 4, 6, 4, 7, 6, - 3, 6, 6, 6, 5, 5, 5, 7, 4, 5 + 6, 6, 3, 5, 3, 6, 6, 8, 6, 6, 5, 4, 6, 4, 7, 0, + 7, 6, 6, 6, 6, 6, 6, 3, 3, 6, 6, 6, 6, 6, 6, 6, + 3, 6, 7, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 5, 7, 8, 6, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 5, 5, 4, 5, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; // clang-format on if (font == FONTLITTLE) return table_width_little[GetOffset (c)]; - else - return table_width[GetOffset (c)] - 1; + return table_width[GetOffset (c)] - 1; } /** @@ -145,17 +163,21 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) while (*pText != '\0') { - rank = GetOffset (pText); + rank = GetOffset (pText); + auto inc = rank > 127; if (font != FONTLITTLE) { - rank += (128 + 16) * font; + rank += 224 * font; pPixmap->DrawIcon (-1, CHTEXT, rank, pos); } else pPixmap->DrawIcon (-1, CHLITTLE, rank, pos); pos.x += GetCharWidth (pText, font); + + if (inc) + pText++; pText++; } } @@ -172,11 +194,16 @@ DrawTextPente ( rel = 0; while (*pText != 0) { - rank = GetOffset (pText); - rank += (128 + 16) * font; + rank = GetOffset (pText); + auto inc = rank > 127; + + rank += 224 * font; pPixmap->DrawIcon (-1, CHTEXT, rank, pos); lg = GetCharWidth (pText, font); + + if (inc) + pText++; pText++; rel += lg; pos.x += lg; @@ -347,7 +374,13 @@ GetTextWidth (const char * pText, Sint32 font) while (*pText != 0) { + auto rank = GetOffset (pText); + auto inc = rank > 127; + width += GetCharWidth (pText, font); + + if (inc) + pText++; pText++; } -- cgit v1.2.3 From 1487a579ad935883797db3fc2a3654222a7cbf2f Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 23:34:51 +0100 Subject: Complete the polish translations (thanks to RaptorParkowsky) --- resources/po/pl.po | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/resources/po/pl.po b/resources/po/pl.po index 42eab85..571744c 100644 --- a/resources/po/pl.po +++ b/resources/po/pl.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-08 07:29+0200\n" -"PO-Revision-Date: 2017-12-14 23:15+0100\n" +"PO-Revision-Date: 2019-01-25 22:37+0100\n" "Last-Translator: tomangelo \n" "Language-Team: TerranovaTeam \n" "Language: pl\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.0.5\n" +"X-Generator: Poedit 2.2\n" msgid " - FFmpeg (LGPLv2.1)" msgstr " - FFmpeg (LGPLv2.1)" @@ -210,7 +210,7 @@ msgstr "" "1|nawierzchni docelowej." msgid "Aliasing" -msgstr "" +msgstr "Pikselizacja" msgid "All licenses are available under share/doc/planetblupi/copyright" msgstr "Wszystkie licencje dostępne są w share/doc/planetblupi/copyright" @@ -222,7 +222,7 @@ msgid "Another mistake..." msgstr "Znowu pomyłka..." msgid "Anti-aliasing" -msgstr "" +msgstr "Wygładzanie" msgid "Armour" msgstr "Zbroja" @@ -287,21 +287,19 @@ msgstr "Wyłup skałę" msgid "Carve rocks" msgstr "Wyłup skały" -#, fuzzy msgid "" "Change the\n" "display mode" msgstr "" -"Zmień rozmiar\n" -"okna" +"Zmień tryb\n" +"wyświetlania" -#, fuzzy msgid "" "Change the\n" "render quality" msgstr "" -"Zmień rozmiar\n" -"okna" +"Zmień jakość\n" +"renderowania" msgid "" "Change the\n" @@ -314,6 +312,8 @@ msgid "" "Choose the\n" "music format" msgstr "" +"Wybierz format\n" +"muzyki" msgid "Construct this game" msgstr "Edytuj poziom" @@ -352,16 +352,16 @@ msgid "Desert" msgstr "Pustynia" msgid "Desktop" -msgstr "" +msgstr "Pulpit" msgid "Desktop mode" -msgstr "" +msgstr "Tryb pulpitu" msgid "Difficult" msgstr "Trudny" msgid "Disable anti-aliasing" -msgstr "" +msgstr "Wyłącz wygładzanie" msgid "Drink" msgstr "Wypij" @@ -388,7 +388,7 @@ msgid "Electrocutor" msgstr "Paralizator" msgid "Enable anti-aliasing" -msgstr "" +msgstr "Włącz wygładzanie" msgid "Ending conditions" msgstr "Warunki zwycięstwa" @@ -534,10 +534,10 @@ msgid "Leave Jeep" msgstr "Opuść Jeepa" msgid "Legacy" -msgstr "" +msgstr "Zgodność" msgid "Legacy mode (640x480)" -msgstr "" +msgstr "Tryb zgodności (640x480)" #, c-format msgid "Lost if less than %d Blupi" @@ -666,7 +666,7 @@ msgid "Normal ground" msgstr "Zwykła ziemia" msgid "Not available" -msgstr "" +msgstr "Niedostępne" msgid "Not enough energy" msgstr "Za mało siły" @@ -891,10 +891,10 @@ msgid "Tree trunks" msgstr "Pnie drzew" msgid "Use Midi music (original)" -msgstr "" +msgstr "Muzyka Midi (oryginalna)" msgid "Use Ogg music" -msgstr "" +msgstr "Muzyka Ogg" msgid "Version" msgstr "Wersja" -- cgit v1.2.3 From 0c0b15f23611b2c4149d82edc963c61523b997a3 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 23:35:47 +0100 Subject: Add partial (but mostly complete) Portuguese translations --- resources/data/pt/stories.blp | 1142 +++++++++++++++++++++++++++++++++++++++++ resources/po/pt.po | 960 ++++++++++++++++++++++++++++++++++ 2 files changed, 2102 insertions(+) create mode 100644 resources/data/pt/stories.blp create mode 100644 resources/po/pt.po diff --git a/resources/data/pt/stories.blp b/resources/data/pt/stories.blp new file mode 100644 index 0000000..ee5c7b7 --- /dev/null +++ b/resources/data/pt/stories.blp @@ -0,0 +1,1142 @@ +$1 +1|Objetivo : +1| +1|Cada Eggbert deve entrar em uma casa. +1|Para fazer isso, sempre use o botao +1|esquerdo do mouse. + +2|1) Clique em um Eggbert. +2| Um anel vai aparecer em volta +2| dele indicando que esta selecionado. +2| +2|2) Clique em sua casa. +2| +2|3) Clique em "Ir" +2| +2|4) Repita esses passos para +2| o segundo Eggbert. + + + + + + + + + + Depois de ter lido esses passos + clique no dado abaixo para jogar. + +$2 +Existe um segundo treino um pouco mais +complicado: + +1|Transportar ambas pilhas de madeiras +1|para o pavimento de pedra na +1|direita. +1| +1|Eggbert deve comer tomates para +1|acumular energia suficiente para +1|fazer isso. Note que +2|quando ele come, o anel vermelho +2|torna-se azul. Isso +2|indica seu nivel de energia. +2| +2| vermelho = cansado +2| azul= energia + + + +Dica: +Para arrastar sua tela, você pode +arrastar seu mouse para o lado da +tela ou usar as setas do seu +teclado. + +$3 +1|Encontre os ovos ... +1| +1|Colocando-os na incubadora, +1|quatro novos Eggberts +1|nascerao dos ovos. + + + + + + +Dica: +é mais eficiente usar +o mouse e o teclado +ao mesmo tempo. + +$4 +1|Objetivo : +1| +1|Os quatro Eggberts devem chegar nas +1|casas ao norte da ilha. + +2|Cada Eggbert deve comer para ter +2|energia suficiente para pular. + +$5 +1|Objetivo : +1| +1|Colocar dois grupos de tomates +1|no pavimento de pedra. + +2|Para isso você deve cortar as +2|plantas e construir uma casa do +2|jardim, plantar os tomates e +2|depositar dois grupos de tomates +2| no pavimento de pedra (sem comer). + +$6 +1|Objetivo : +1| +1|Cada Eggbert deve chegar em casa +1|em uma pequena ilha. +1|Infelizmente existe comida suficiente +1|para apenas um Eggbert. +2|Você vai precisar encontrar uma +2|forma de produzir comida suficiente +2|para todos os outros. +2| +2|Felizmente, a ilha possui +2|muitas plantas. + +#h1 +A vida do Eggbert em seu planeta +era perfeita. Tudo era muito bonito +e quieto até que um dia um +estranho meteorito caiu em +um local remoto. + +Algum tempo depois, Eggbert +percebeu que sua colheita +estava sendo devastada por +aranhas gigantes. + +E ainda parece que apesar da sua +excelente forma fisica, Eggbert +pegou uma curiosa doença. +Ele agora espirra e tosse bastante. + +#h2 +O que esta acontecendo? + +Bem, o estranho meteorito parece +ser uma nave espacial. Restou +somente um sobrevivente na batida, +e parecer ser um robo. E a unica + coisa que ele quer é construir +fabricas para produzir todo tipo +de maquinas perversas para acabar +com o planeta do Eggbert. + +O Eggbert precisa da sua ajuda e +habilidade para obter uma vantagem +de todos os recursos naturais para +se livrar desses intrusos... + +#1 +A nave espacial colocou fogo na +floresta. Agora a vila do Eggbert +pode estar em perigo. + +1|Objetivo: +1| +1|Impedir que a vila seja queimada. +1|Para fazer isso, existe apenas uma +1|maneira: Cortar algumas plantas do +1|lado esquerdo. + + + + + +2|Dica : +2| +2|Se um Eggbert ficar escondido atras +2|de uma planta, pressione a barra de +2|espaço. Fazendo isso ele vai +2|aparecer transparente por alguns +2|instantes. + +@1 +1|Soluçao : +1| +1|Levar o Eggbert para a esquerda +1|para cortar algumas plantas. Os +1|dois outros Eggberts podem +1|carregar as madeiras. + +#2 +1|Objetivo : +1| +1|Eggbert esta longe e perdido da +1| sua vila. Ele deve se organizar +1|antes de procurar pela vila. +1| +1|1) Construa uma casa do jardim e +1| plante tomates. + +2|2) Construa uma incubadora para +2| obter ajuda. +2| +2|3) Alimente os quatro Eggberts e +2| procure pela vila. +2| + + +2|Tenha cuidado: +2| +2|Algumas coisas incomuns +2|podem acontecer. + + +@2 +1|Dicas: +1| +1|Primeiro, você deve construir +1|duas barreiras no norte +1|para parar a aranha. +1|Somente assim sera possivel +2|construir uma casa do jardim +2|e plantar tomates em paz. +2| +2|Para alcançar as quatro casas +2|você deve comer. + + +#3 +1|Objetivo: +1| +1|Evitar que os quatro Eggberts +1|se queimem. +1| +1|Termine a parede. + + + + +2|Tenha cuidado: +2| +2|O terreno é feito de musgo +2|que queima mais facilmente. + +@3 +1|Soluçao : +1| +1|1) Esculpir uma pedra. +1| As pedras menores ficam +1| prontas rapidamente. + +2|2) Construa uma parede entre +2| as outras duas. +2| +2|3) Espere até que o fogo acabe. + +#4 +1|Objetivo: +1| +1|Faça os quatro Eggberts +1|alcançarem o pavimento +1|de pedra + +@4 +1|Soluçao: +1| +1|1) Corte uma planta +1| +1|2) Leve as madeiras para +1| perto da margem. +1| +1|3) Construa uma ponte entre +1| os dois Eggberts cansados. + +2|4) Repita estes passos +2| três vezes. +2| +2|Os Eggberts cansados podem +2|atravessar a ponte e alcançar +2|o pavimento de pedras. + +#5 +1|A armadilha: +1|Cuidado, o terreno onde os +1|Eggberts estao prisioneiros +1|podem se queimar. +1| +1|Objetivo: +1|Resista até quando o fogo +1|tiver apagado. + +2|Tome Cuidado : +2|Construir uma parede é trabalho +2|muito cansativo para o Eggbert. +2|Quando ele terminar, vai morrer ! + + + +Dica : +Se o jogo estiver muito devagar +para você, pressione a tecla F6 +para aumentar a velocidade. E +F5 para voltar ao normal. + +@5 +1|Dicas : +1| +1|Você deve construir quatro +1|paredes no pavimento cinza. +1Você |vai ter que cortar duas +1|plantas para construir uma casa +1|do jardim e uma incubadora. + +2|Quando as paredes estiverem +2|terminadas, você vai ter que +2|esperar até o fogo acabar. + +#6 +1|Objetivo: +1| +1|Um perigo esta presente: proteja +1|o campo o mais depressa possivel +1|com quatro torres. + +2|Agora você pode juntar +2|os pavimentos de pedra no +2|sudeste. + + + + + + + + + +Dica: + +Você pode selecionar muitos Eggberts +ao mesmo tempo mantendo +a tecla shift pressionada enquanto +clica em cada Eggbert. + + +@6 +1|Soluçao : +1| +1|Você deve colocar quatro Eggberts +1|para esculpir as pedras rapidamente. +1|As menores ficam prontas mais +1|rapidamente +1| +1|Transporte as quatro pilhas de +1|pedras para o pavimento cinza +1|escuro e comece a construir +1|as torres de proteçao. + +2|Espere pela chegada e +2|destruiçao dos virus. +2| +2|Os outros quatro Eggberts +2|podem ir rapidamente para +2|o pavimento de pedra no +2|sudeste. + +#7 +1|Objetivo: +1| +1|Os quatro Eggberts devem +1|alcançar o pavimento de +1|pedras. Você devera tomar +1|cuidado com o Eggbert +1| mais distante. + + + + + +2|Tome cuidado: +2| +2|O terreno é inapropriado +2|para construir uma casa do +2|jardim. + +@7 +1|Soluçao: +1| +1|Faça um Eggbert guardar um +1|tomate rapidamente para que +1|as aranhas nao o comam. +1| +1|Com outro Eggbert, pule na +1|outra ilha e construa uma ponte +1|que vai ligar as duas ilhas. + +2|Carregue os tomates para o +2|Eggbert casado para que ele +2|possa comer. + +#8 +1|Objetivo : +1| +1|Evitar que um ou dois Eggberts +1|se contaminem e encontrar um +1|remedio para curar os outros. +1| +1|Finalmente cada Eggbert deve +1|entrar em uma casa. + + + + + + + +2|Dica : +2| +2|Construa um laboratorio. + +@8 +1|Soluçao : +1| +1|Um laboratorio de pedra deve +1|ser feito. Ele vai permitir que +1|você transforme as flores +1|amarelas em remedio para +1|curar os Eggberts. + +2|Você precisa construir uma +2|ponte para levar o remedio +2|para curar os Eggberts. +2| +2|As casas ficam no sudeste da ilha. + +#9 +1|Objetivo: +1| +1|Encontrar uma forma para +1|atravessar a pista de gelo. + + + + + + +2|Nota : +2| +2|Eggbert pode andar no gelo. Mas +2|como o gelo é muito escorregadio, +2|ele vai perder muita energia. + +@9 +1|Soluçao : +1| +1|Construa duas torres para +1|proteger os Eggberts das +1|aranhas. +1| +1|Você precisa construir uma casa +1|do jardim e uma incubadora +1|para deixar os ovos chocarem. + +2|Eggbert perde muita força +2|quando ele atravessa a pista +2|de gelo. Portanto, você deve +2|levar os tomates antes da pista. + +#10 +1|Objetivo : +1| +1|Alcançar a ilha no +1|nordeste e explodir +1|uma barreira. + +2|Tudo o que você precisa fazer +2|agora é colocar os quatro +2|Eggberts no pavimento de pedra. + +@10 +1|Soluçao : +1| +1|Construa uma ponta na direçao +1|dos quatro prisioneiros. Você pode +1|esculpir uma pedra para construir um +1|um laboratorio. +1| +1|As flores azuis podem ser encontradas +1|no sudeste. Levando-as para o +1|laboratorio, elas podem ser +1|transformadas em dinamite. + +2|Use a dinamite para destruir +2|a barreira que esta prendendo +2|os quatro prisioneiros Eggberts. +2| +2|Primeiro, você precisa +2|afastar os prisioneiros para +2|protegê-los da explosao. + +#11 +1|Objetivo : +1| +1|Alcançar as casas no +1|nordeste. Tome cuidado, +1|elas estao bem guardadas. + +@11 +1|Dicas : +1| +1|Construa uma ponte no sentido +1|da ilha noroeste e depois +1|faça pelo menos quatro pacotes +1|de dinamite. + +2|Coloque as dinamites no +2|norte corretamente perto das +2|escavadoras. +2| +2|Enquanto as dinamites nao estiverem +2|prontas, evite ir ao norte +2|ou você sera atacado pelas +2|escavadoras. + +#12 +1|Objetivo : +1| +1|Três Eggberts devem se unir +1| com o Eggbert isolado na ilha +1|no lado noroeste. + +@12 +1|Dica : +1| +1|Construa uma casa do jardim +1|e plante tomates. +1| +1|Faça dinamites com as flores +1|azuis que podem ser +1|encontradas no nordeste. + +2|Transporte as dinamites para +2|a ilha situada no oeste. +2| +2|Tome cuidado, o caminho possui +2|dois virus escondidos. + +#13 +1|Objetivo: +1| +1|Conseguir se livrar das seis +1|aranhas. +1| +1|As quatro primeiras serao +1|faceis. As duas restantes +1|serao mais dificeis. + + + + + + +2|Dica : +2| +2|Descubra como produzir +2|remedio no laboratorio. + +@13 +1|Soluçao : +1| +1|As primeiras quatro aranhas +1|podem ser capturadas com +1|armadilhas feitas com as flores +1|verdes no laboratorio. +1| +1|As armadilhas devem ser +1|colocadas perto das aranhas. + +2|As outras duas podem ser +2|com os tomates que foram +2|alterados no +2|laboratorio. +2| +2|Construa uma ponte para carregar +2|os tomates para o laboratorio. + +#14 +1|Objetivo : +1| +1|O Eggbert deve simplesmente +1| ir para casa. +1| + +@14 +1|Soluçao : +1| +1|Procure por ferro sobre o +1|terreno rochoso. Coloque uma +1|madeira na bandeira e +1|construa uma mina. +1| +1|Esculpa uma rocha para construir +1|uma oficina aonde você vai +1|poder utilizar o ferro. + +2|Pegue a bomba, suba no +2|jeep e ande para o leste. +2|O jeep vai te proteger das +2|escavadoras. +2| +2|Quando você chegar na barreira, +2|você deve deixar o seu jeep +2|rapidamente, deixar a bomba , +2| liga-la, entrar no jeep e +2|fugir + +#15 +1|Objetivo : +1| +1|Somente um Eggbert +1|deve alcançar a casa no +1|nordeste. + +2|Para fazer isso, você deve +2|destruir as diversas +2|instalaçoes inimigas. + +@15 +1|Dicas : +1| +1|Construa uma casa do jardim +1|e duas torres no pavimento +1|cinza escuro. +1| +1|Construa uma ponte para ligar +1|a ilha ao leste. Selecione +1|diferentes tipos de flores e as +1|traga para o campo. + +2|Construa um laboratorio, faça +2|dinamites e armadilhas pegajosas. +2|Proteja o campo com as +2|armadilhas pegajosas e +2|fora com as dinamites. +2| +2|Quando você achar que possui +2|dinamites e armadilhas suficientes, +2|mande um pequeno comando para +2|o nordeste de destrua o campo +2|inimigo + +#16 +1|Situaçao : +1| +1|Eggbert esta perdido em uma parte +1|arida do planeta sem nenhuma +1|planta. + + + + +2|Objetivo : +2| +2|Os dois Eggberts devem voltar +2|para casa em sua vila. + +@16 +1|Dicas : +1| +1|Encontre a mina no nordeste, +1|esculpa uma rocha e construa +1|uma oficina, faça uma bomba +1|e dois jeeps, e procure o +1|campo inimigo no sudoeste. + +2|Exploda a barreira no campo +2|inimigo. Tente explodir junto +2|as escavadoras. +2| +2|Você deve ir para o sul e +2|procurar pela planta e fazer +2|um teletransportador. + +#17 +1|Objetivo : +1| +1|Os cinco Eggberts devem +1|alcançar uma casa. + +2|Cuidado, uma casa fica +2|atras do campo inimigo. + + + + + + + + + + + + +Dica : + +Você pode selecionar alguns +Eggberts ao mesmo tempo +mantendo a tecla Shift selecionada +enquanto clica em cada Eggbert. + +@17 +1|Soluçao : +1| +1|Um Eggbert pode ir para a casa +1|no lado oeste da ilha. +1|Os outros quatro devem ir embora +1|rapidamente por causa das +1|escavadoras. Os Eggberts +1|devem ir para o nordeste. + +2|Mais adiante, você deve encontrar +2|uma vila cercada por barreiras. +2| +2|No norte da ilha, existe muito +2|ferro. +2| +2|Você deve fazer um bote e ir +2|para o nordeste da ilha com +2|uma bomba. + +#18 +1|Situaçao : +1| +1|Enquanto Eggbert estava +1|colhendo flores, ele nao percebeu +1|que estava perdido da sua +1|casa. Agora ele esta perdido +1|em um lugar cheio de inimigos. + + + + + +2|Objetivo: +2| +2|Eggbert deve fugir e encontrar +2|uma forma para voltar para casa. + +@18 +1|Dicas : +1| +1|Encontre a agua localizada no +1|oeste. Faça um bote. Cuidado, +1|pode pode encontrar muitos +1|virus espalhados em volta. + +2|Com o bote, você pode +2|atravessar e desembarcar +2|na margem. +2| +2|A casa esta perto agora. Tenha +2|cuidado, você deve evitar +2|as escavadoras. + +#19 +1|Situaçao : +1| +1|Quatro escavadoras parecem +1|ameaçando a vila do Eggbert. + + + + + +2|Objetivo : +2| +2|Destruir as escavadoras + +@19 +1|Dicas : +1| +1|Faça um Eggbert extrair ferro +1|e construir uma armadura. Ela vai +1|pretegê-lo do fogo. +1| +1|Ande para o leste e construa um +1|bote. Embarque e procure por +1|outra ilha com planta. Corte a +1|planta e coloque a madeira +2|na ilha maior. Faça um +2|teletransportador. Ele vai te levar +2|para a fortaleza. +2| +2|Coloque algumas dinamites perto +2|das paredes e exploda-as +2|Com o restante das +2|dinamites, você pode destruir +2|as escavadoras. + +#20 +1|Objetivo : +1| +1|Destruir todas as instalaçoes +1|inimigas. +1| + +@20 +1|Dicas : +1| +1|Produza muitas dinamites, +1|armadilhas, etc. possiveis antes +1|de explodir as barreiras que +1|protegem o campo inimigo. + +#21 +1|Situaçao : +1| +1|Eggbert foi capturado por um +1|robo asqueroso. Ele é um +1|prisioneiro na base de campo +1|do robo. + + + + +2|Objeto : +2| +2|Eggbert deve escapar e achar +2|sua casa. + +@21 +1|Dicas : +1| +1|Pegue a dinamite do nordeste. +1|Coloque-a perto da barreira +1|azul no espaço vazio nas +1|rochas. Quando as escavadoras +1|passarem pelas dinamites, elas +1|podem destruir as barreiras. + +2|Corra para o leste ate alcançar +2|o rio. Faça um bote com as plantas. +2|Você vai precisar de uma segunda +2|pilha de madeiras para construir um +2|bote depois. Antes disso, você vai +2|ter que pegar o eletrocondutor com +2|a armadilha pegajosa e fazer uma +2|bomba para destruir a barreira +2|azul no leste. + +#22 +1|Objetivo : +1| +1|1) Fazer botes. +1| +1|2) Explorar toda a ilha. +1| +1|3) Destruir todas instalaçoes +1| inimigas. + +@22 +1|Dicas : +1| +1|A ilha no nordeste tem +1|muito ferro. + +2|A ilha no leste tem tudo o +2|que você precisa para fazer +2|dinamite e armadilhas pegajosas. + +#23 +1|Situaçao : +1| +1|Eggbert parece estar curioso. +1|Depois de ter observado o robo +1|por um longo tempo, ele percebe +1|agora que ele esta perdido. + + + + +2|Objetivo : +2| +2|Trazer ajuda e destruir +2|os inimigos! + + +@23 +1|Dicas : +1| +1|O Eggbert isolado deve ir +1|longe do robo e ir para o +1|leste. Eggbert deve esculpir +1|uma rocha para permitir +1|alcançar a madeira, e entao +1|fazer um teletransportador. + +2|Com o segundo grupo de +2|Eggberts, você deve fazer um +2|bote, encontrar a bomba no +2|nordeste e explodir a barreira no +2|sul. Isto vai permitir você trazer +2|a madeira para perto da ilha +2|e fazer um teletransportador para +2|permitir você se unir e ajudar +2|o Eggbert perdido. + +#24 +1|Situaçao: +1| +1|O lugar possui muitos inimigos. +1| + + + +2|Objetivo : +2| +2|Destruir todos os inimigos. + +@24 +1|Dicas : +1| +1|Vai para o sudeste para evitar +1|o fogo e faça um bote com +1|uma planta restante. +1| +1|No campo, você vai encontrar +1|algum ferro. + +2|No norte do campo, você vai +2|encontrar alguns ovos. + +#25 +1|Eggbert ficou desconfiado +1|porque o trouxe algumas +1|coisas estranhas para o +1|seu planeta : +1| +1| Platina.... +1| +1|A platina, que foi colocada +2|perto do foguete do robo, +2|vai dar acesso à tecnologia +2|do inimigo. +2| + + +2|Objetivo : +2|Trazer cubo de platina para +2|o pavimento de pedra. + +@25 +1|Soluçao : +1| +1|Destruir duas escavadoras com +1|armadilhas pegajosas. Fazer um +1|bote no norte do primeiro campo +1|inimigo, depois embarcar com uma +1|bomba e ir para o leste. +1| +1|Procurar por um caminho entre as +1|rochas indo para o sul. O campo +2|inimigo com o foguete esta +2|longe do leste. Você vai precisar +2|explodir uma barreira para +2|permitir pegar e carregar a +2|platina. +2| +2|Traga a platina de volta +2|para a base. + +#26 +1|O cubo de Platina vai permitir +1|você acessar a tecnologia inimiga +1|para usa-la corretamente. + + + + + +2|Objetivo : +2| +2|Ajudar o Eggbert a encontrar a +2|sua casa. + +@26 +1|Dicas : +1| +1|Fazer um robo ajudante com o +1|cubo de platina na fabrica e +1|fazer uma bomba. +1| +1|Pegar o robo e a bomba. +1|O robo pode cruzar o oeste +1do campo inimigo sem ser +2|notado. Exploda a barreira +2|no norte e pegue os tomates +2|para alimentar o Eggbert +2|no campo. +2| +2|Largue os tomates antes de +2|pular. + +#27 +1|Situaçao : +1| +1|O robo teve o atrevimento de +1|instalar a sua vila perto da +1|vila do Eggbert. + + + + +2|Objetivo : +2| +2|Alcançar o campo inimigo e +2|destruir tudo. + +@27 +1|Dicas : +1| +1|Fazer um teletransportador o +1|mais rapido possivel para você +1|alcançar a ilha com os ovos. +1|Construir duas torres nas +1|pedras na cor cinza escuro. +1|Construir uma barreira na +1|esquerda e direita de cada +1|torre. + +2|Agora você pode respirar ! +2| +2|Você tem duas formas para +2|alcançar o campo inimigo no +2|norte, pelo bote ou +2|construindo uma ponte. +2| +2|Você pode escolher ! + +#28 +1|Situaçao : +1| +1|Enquanto estava construindo +1|sua casa, Eggbert fez um erro: +1|ele construiu uma parede em +1|volta dela. + + + + + +2|Objetivo: +2| +2|Eggbert deve simplesmente +2|ir para casa. + +@28 +1|Dicas : +1| +1|Uma pequena ilha no norte +1|tem muitos ovos. +1| +1|Você precisa atravessar o +1|campo inimigo rapidamente +1|para evitar que as +1|escavadoras venham do +1|norte e do sul, para que +2|você possa colher +2|flores azuis. +2|Outro Eggbert pode pega-las +2|para fazer dinamites. +2| +2|Você vai poder usar somente +2uma rocha que esta no campo +2|inimigo, simplesmente fora +2|da parede de proteçao. + +#29 +1|Situaçao : +1| +1|O espaço livre parece estar sendo +1|ocupado mais e mais pelo robo +1|e seus ajudantes. + + + + + +2|Objetivo : +2| +2|Eggbert deve construir sua vila +2|e elaborar uma boa tatica +2|de defesa. +2| +2|Ele vai ter que atacar e +2|eliminar todos os seus inimigos. + +@29 +1|Dicas : +1| +1|Ele deve construir torres de +1|proteçao no noroeste, +1|nordeste e no lado sudeste. +1|Todas as rochas podem ser +1|encontradas no noroeste. +1| +1|Deixe as plantas perto das +1|barreiras. Elas podem ser +1|utilizadas contra as bombas ! + +2|As flores verdes no leste permitem +2|você fazer armadilhas pegajosas +2|para defender a vila. +2| +2|Extraia ferro no sudoeste e faça +2|bombas e armadilhas. + +#30 +1|Situaçao : +1| +1|Esta guerra precisa acabar logo. +1|Eggbert e o robo tiveram que +1|fazer um acordo: +1|Ele precisa ajudar o robo a voltar +1|para o seu foguete, em retorno, +1|o robo vai deixar de forma +1|definitiva o planeta do Eggbert. + + + + +2|Objetivo : +2| +2|Preparar o caminho para o foguete +2|para que o robo possa deixar +2|o planeta. Tendo perdido a +2|batalha, o robo ficou zangado +2|e se recusa a se mover até que +2|o caminho esteja terminado. + +@30 +1|Dicas : +1| +1|Esculpa uma rocha no sudeste. +1|Corte uma planta e faça um bote. +1|Com o bote, procure por uma +1|ilha no nordeste. +1|Procure por algum ferro, construa +1|uma mina e uma fabrica. Faça uma +2|bomba, que vai permitir você +2|explodir as barreiras em volta do +2|do robo. +2| +2|Tudo o que você precisa, seria +2|construir uma ponte para que o +2|robo possa voltar ao seu foguete. + +#31 + +@31 diff --git a/resources/po/pt.po b/resources/po/pt.po new file mode 100644 index 0000000..7bfc9a8 --- /dev/null +++ b/resources/po/pt.po @@ -0,0 +1,960 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-08-08 07:29+0200\n" +"PO-Revision-Date: 2019-01-25 23:33+0100\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt\n" + +msgid "Planet Blupi" +msgstr "Planet Blupi" + +msgid "Planet Blupi -- stop" +msgstr "Planet Blupi -- parar" + +msgid "" +"1: Grow tomatoes\n" +"2: Eat" +msgstr "" +"1: Cultivar tomates\n" +"2: Comer" + +msgid "" +"1: Make a bunch\n" +"2: Transform" +msgstr "" +"1: Fazer um ramo\n" +"2: Transformar" + +msgid "" +"1: Take\n" +"2: Transform" +msgstr "" +"1: Pegar\n" +"2: Transformar" + +msgid "" +"1: Extract iron\n" +"2: Make a bomb" +msgstr "" +"1: Extrair ferro\n" +"2: Fazer uma bomba" + +msgid "" +"1: Extract iron\n" +"2: Make a Jeep" +msgstr "" +"1: Extrair Ferro\n" +"2: Fazer um Jeep" + +msgid "" +"1: Extract iron\n" +"2: Make an armour" +msgstr "" +"1: Extrair ferro\n" +"2: Fazer uma armadura" + +msgid "" +"1: Cut down a tree \n" +"2: Make a palisade" +msgstr "" +"1: Cortar uma planta \n" +"2: Fazer uma barreira" + +msgid "" +"1: Take\n" +"2: Build palisade" +msgstr "" +"1: Pegar\n" +"2: Construir barreira" + +msgid "" +"1: Cut down a tree \n" +"2: Build a bridge" +msgstr "" +"1: Cortar planta \n" +"2: Construir uma ponte" + +msgid "" +"1: Take\n" +"2: Build a bridge" +msgstr "" +"1: Pegar\n" +"2: Construir uma ponte" + +msgid "" +"1: Cut down a tree \n" +"2: Make a boat" +msgstr "" +"1: Cortar uma planta \n" +"2: Fazer um bote" + +msgid "" +"1: Take\n" +"2: Make a boat" +msgstr "" +"1: Pegar\n" +"2: Fazer um bote" + +msgid "Tree" +msgstr "Planta" + +msgid "Enemy rocket" +msgstr "Foguete inimigo" + +msgid "Platinium" +msgstr "Platina" + +msgid "Armour" +msgstr "Armadura" + +msgid "Enemy construction" +msgstr "Construção inimiga" + +msgid "Wall" +msgstr "Parede" + +msgid "Protection tower" +msgstr "Torre" + +msgid "Laboratory" +msgstr "Laboratorio" + +msgid "Tree trunks" +msgstr "Tronco de Planta" + +msgid "Planks" +msgstr "Madeiras" + +msgid "Rocks" +msgstr "Rochas" + +msgid "Stones" +msgstr "Pedras" + +msgid "Fire" +msgstr "Fogo" + +msgid "Tomatoes" +msgstr "Tomates" + +msgid "Garden shed" +msgstr "Casa do jardim" + +msgid "Eggs" +msgstr "Ovos" + +msgid "Palisade" +msgstr "Barreira" + +msgid "Bridge" +msgstr "Ponte" + +msgid "Medical potion" +msgstr "Remédio" + +msgid "Flowers" +msgstr "Flores" + +msgid "Bunch of flowers" +msgstr "Ramos de flores" + +msgid "Dynamite" +msgstr "Dinamite" + +msgid "Poison" +msgstr "Veneno" + +msgid "Sticky trap" +msgstr "Armadilha pegajosa" + +msgid "Trapped enemy" +msgstr "Prender inimigos" + +msgid "Blupi's house" +msgstr "Casa do Blupi" + +msgid "Boat" +msgstr "Bote" + +msgid "Jeep" +msgstr "Jeep" + +msgid "Workshop" +msgstr "Oficina" + +msgid "Mine" +msgstr "Mina" + +msgid "Iron" +msgstr "Ferro" + +msgid "Flag" +msgstr "Bandeira" + +msgid "Time bomb" +msgstr "Bomba" + +msgid "Normal ground" +msgstr "Terreno normal" + +msgid "Bank" +msgstr "Margem" + +msgid "Water" +msgstr "Agua" + +msgid "Paving stones" +msgstr "Pavimento de pedra" + +msgid "Striped paving stones" +msgstr "Terreno de pedras" + +msgid "Ice" +msgstr "Gelo" + +msgid "Burnt ground" +msgstr "Terreno queimado" + +msgid "Inflammable ground" +msgstr "Terreno inflamavel" + +msgid "Miscellaneous ground" +msgstr "Terreno Misto" + +msgid "Sterile ground" +msgstr "Terreno sem vida" + +msgid "Incubator" +msgstr "Incubadora" + +msgid "Enemy ground" +msgstr "Terreno Inimigo" + +msgid "Teleporter" +msgstr "Teletransportador" + +msgid "Tired Blupi" +msgstr "Blupi cansado" + +msgid "Sick Blupi" +msgstr "Blupi doente" + +msgid "Blupi" +msgstr "Blupi" + +msgid "Spider" +msgstr "Aranha" + +msgid "Virus" +msgstr "Virus" + +msgid "Bulldozer" +msgstr "Escavadora" + +msgid "Master robot" +msgstr "Robo principal" + +msgid "Bouncing bomb" +msgstr "Bomba Maluca" + +msgid "Electrocutor" +msgstr "Eletrocondutor" + +msgid "Helper robot" +msgstr "Robo Ajudante" + +msgid "Interrupt" +msgstr "Interromper" + +msgid "Settings" +msgstr "Ajustes" + +msgid "Save" +msgstr "Salvar" + +msgid "Demo" +msgstr "Demo" + +msgid "Training" +msgstr "Treino" + +msgid "Missions" +msgstr "Missoes" + +msgid "Construction" +msgstr "Projetar" + +msgid "Global settings" +msgstr "" + +msgid "Quit Planet Blupi" +msgstr "Sair do Planeta Blupi" + +msgid "Previous page" +msgstr "Pagina anterior" + +msgid "Next page" +msgstr "Pagina seguinte" + +msgid "Previous game" +msgstr "Jogo anterior" + +msgid "Play this game" +msgstr "Jogar este jogo" + +msgid "Next game" +msgstr "Jogo seguinte" + +msgid "Open another game" +msgstr "Abrir outro jogo" + +msgid "Construct this game" +msgstr "Construir este jogo" + +msgid "Skill level" +msgstr "Dificuldade" + +msgid "Finish" +msgstr "Terminar" + +msgid "Continue this game" +msgstr "Continuar este jogo" + +msgid "Save this game" +msgstr "Salvar este jogo" + +msgid "Quit this game" +msgstr "Encerrar este jogo" + +msgid "Help" +msgstr "Ajuda" + +msgid "Slower" +msgstr "Mais devagar" + +msgid "Faster" +msgstr "Mais rapido" + +msgid "Reduce volume" +msgstr "Diminuir Volume" + +msgid "Increase volume" +msgstr "Aumentar Volume" + +msgid "No video" +msgstr "Sem video" + +msgid "Show videos" +msgstr "Mostrar Video" + +msgid "Restart this game" +msgstr "Reiniciar este jogo" + +msgid "Special pavings" +msgstr "Pavimento Especial" + +msgid "Incubator or teleporter" +msgstr "Incubadora ou teletransportador" + +msgid "Delete item" +msgstr "Apagar item" + +msgid "Decorative plants" +msgstr "Planta decorativa" + +msgid "Buildings" +msgstr "Construçãoes" + +msgid "Enemy buildings" +msgstr "Construçãoe inimiga" + +msgid "Enemy barrier" +msgstr "Barreira inimiga" + +msgid "Wall or palisade" +msgstr "Parede ou Barreira" + +msgid "Items" +msgstr "Itens" + +msgid "Weapons" +msgstr "Armas" + +msgid "Transport" +msgstr "Transporte" + +msgid "Delete figure" +msgstr "Apagar figura" + +msgid "Delete fire" +msgstr "Apagar fogo" + +msgid "Starting fire" +msgstr "Iniciar fogo" + +msgid "Scenery choice" +msgstr "Cenario escolhido" + +msgid "Music choice" +msgstr "Musica escolhida" + +msgid "Available buttons" +msgstr "Botoes disponiveis" + +msgid "Ending conditions" +msgstr "Condições finais" + +msgid "Quit construction" +msgstr "Encerrar projeto" + +msgid "Cancel last operation" +msgstr "Cancelar ultima operação" + +msgid "Stop" +msgstr "Parar" + +msgid "Go" +msgstr "Ir" + +msgid "Take" +msgstr "Pegar" + +msgid "Drop" +msgstr "Largar" + +msgid "Repeat" +msgstr "Repetir" + +msgid "Cut down a tree" +msgstr "Cortar uma Planta" + +msgid "Cut down trees" +msgstr "Cortar Plantas" + +msgid "Carve a rock" +msgstr "Esculpir uma pedra" + +msgid "Carve rocks" +msgstr "Esculpir pedras" + +msgid "Make bunch of flowers" +msgstr "Fazer um ramo de flor" + +msgid "Make bunches of flowers" +msgstr "Fazer ramos de flores" + +msgid "Grow tomatoes" +msgstr "Plantar tomates" + +msgid "Eat" +msgstr "Comer" + +msgid "Transform" +msgstr "Transformar" + +msgid "Drink" +msgstr "Beber" + +msgid "Blow up" +msgstr "Explodir" + +msgid "Prospect for iron" +msgstr "Procurar por ferro" + +msgid "Extract iron" +msgstr "Extrair ferro" + +msgid "Make a Jeep" +msgstr "Fazer um Jeep" + +msgid "Make a time bomb" +msgstr "Fazer uma bomba" + +msgid "Make armour" +msgstr "Fazer armadura" + +msgid "Make a helper robot" +msgstr "Fazer um robo ajudante" + +msgid "Blupi in house" +msgstr "Blupi em casa" + +msgid "No more enemies" +msgstr "Matar inimigos" + +msgid "Fire out" +msgstr "Resistir até o fogo acabar" + +msgid "Blupi on striped paving stones" +msgstr "Blupi no pavimento de pedra" + +msgid "Planks on striped paving stones" +msgstr "Madeira no pavimento de pedra" + +msgid "Tomatoes on striped paving stones" +msgstr "Tomates no pavimento de pedra" + +msgid "Platinium on striped paving stones" +msgstr "Platina no pavimento de pedra" + +msgid "Robot on striped paving stones" +msgstr "Robo no pavimento de pedra" + +msgid "No music" +msgstr "Sem musica" + +msgid "Music number 1" +msgstr "Musica 1" + +msgid "Music number 2" +msgstr "Musica 2" + +msgid "Music number 3" +msgstr "Musica 3" + +msgid "Music number 4" +msgstr "Musica 4" + +msgid "Music number 5" +msgstr "Musica 5" + +msgid "Music number 6" +msgstr "Musica 6" + +msgid "Music number 7" +msgstr "Musica 7" + +msgid "Music number 8" +msgstr "Musica 8" + +msgid "Music number 9" +msgstr "Musica 9" + +msgid "Music number 10" +msgstr "Musica 10" + +msgid "Prairie" +msgstr "Campina" + +msgid "Forest" +msgstr "Floresta" + +msgid "Desert" +msgstr "Deserto" + +msgid "Forest under snow" +msgstr "Floresta debaixo de neve" + +msgid "Previous language" +msgstr "" + +msgid "Next language" +msgstr "" + +msgid "Fullscreen" +msgstr "" + +msgid "Windowed" +msgstr "" + +msgid "Use Ogg music" +msgstr "" + +msgid "Use Midi music (original)" +msgstr "" + +msgid "Disable anti-aliasing" +msgstr "" + +msgid "Enable anti-aliasing" +msgstr "" + +msgid "Version" +msgstr "" + +#, c-format +msgid "New version available for download on www.blupi.org (v%s)" +msgstr "" + +msgid "Desktop mode" +msgstr "" + +msgid "Reduce window size" +msgstr "" + +msgid "Legacy mode (640x480)" +msgstr "" + +msgid "Increase window size" +msgstr "" + +msgid "N" +msgstr "N" + +msgid "S" +msgstr "S" + +msgid "W" +msgstr "O" + +msgid "E" +msgstr "L" + +msgid "Game paused" +msgstr "Jogo pausado" + +msgid "REC" +msgstr "REC" + +#, c-format +msgid "construction %d, time %d" +msgstr "Projeto %d, tempo %d" + +#, c-format +msgid "mission %d, time %d" +msgstr "missao %d, tempo %d" + +#, c-format +msgid "training %d, time %d" +msgstr "treino %d, tempo %d" + +msgid "free slot" +msgstr "pista livre" + +#, c-format +msgid "Lost if less than %d Blupi" +msgstr "Perder se tiver menos do que %d Blupi" + +#, c-format +msgid "Impossible to win if less than %d Blupi" +msgstr "Impossivel vencer se tiver menos que %d Blupi" + +msgid "Training number" +msgstr "Treino numero" + +msgid "Mission number" +msgstr "Missao numero" + +msgid "Construction number" +msgstr "Projeto numero" + +msgid "Help number" +msgstr "Ajuda numero" + +msgid "Easy" +msgstr "Facil" + +msgid "Difficult" +msgstr "Dificil" + +msgid "You have failed, try again..." +msgstr "Você falhou, tente novamente..." + +msgid "No, wrong way ..." +msgstr "Caminho errado ..." + +msgid "Bang, failed again !" +msgstr "Puxa, falhou novamente !" + +msgid "Another mistake..." +msgstr "Outro erro..." + +msgid "No, not that way !" +msgstr "Caminho errado !" + +msgid "Well done !" +msgstr "Muito bem !" + +msgid "Yes, great ..." +msgstr "Sim, perfeito ..." + +msgid "Very good." +msgstr "Muito bom." + +msgid "Excellent..." +msgstr "Excelente..." + +msgid "Mission over..." +msgstr "Missao completada..." + +msgid "Now go on mission." +msgstr "Agora continue a missao." + +msgid "Very good, success on all missions !" +msgstr "Muito bom, sucesso em todas as missoes !" + +msgid "Last construction resolved !" +msgstr "Ultima construção resolvida !" + +msgid "" +"Global game\n" +"speed" +msgstr "Velocidade" + +msgid "" +"Scroll speed\n" +"with mouse" +msgstr "" +"Velocidade de Rolagem\n" +"com mouse" + +msgid "" +"Sound effect\n" +"volume" +msgstr "" +"Efeitos de som\n" +"Volume" + +msgid "" +"Music\n" +"volume" +msgstr "" +"Musica\n" +"Volume" + +msgid "" +"Video\n" +"sequences" +msgstr "" +"Video\n" +"Sequencia" + +msgid "No" +msgstr "Nao" + +msgid "Yes" +msgstr "Sim" + +msgid "None" +msgstr "Nenhum" + +msgid "" +"Interface language\n" +"and sounds" +msgstr "" + +msgid "" +"Select the\n" +"window mode" +msgstr "" + +msgid "" +"Change the\n" +"display mode" +msgstr "" + +msgid "" +"Change the\n" +"window size" +msgstr "" + +msgid "" +"Choose the\n" +"music format" +msgstr "" + +msgid "" +"Change the\n" +"render quality" +msgstr "" + +msgid "Legacy" +msgstr "" + +msgid "Desktop" +msgstr "" + +msgid "Midi" +msgstr "Midi" + +msgid "Ogg" +msgstr "Ogg" + +msgid "Anti-aliasing" +msgstr "" + +msgid "Aliasing" +msgstr "" + +msgid "Not available" +msgstr "" + +msgid "You have played Planet Blupi." +msgstr "Você jogou o Planeta Blupi." + +msgid "We hope you have had as much fun playing the game as we had making it !" +msgstr "Esperamos que você tenha se divertido com este super jogo !" + +msgid "This game uses statically linked free and open-source libraries:" +msgstr "" + +msgid " - argagg (MIT)" +msgstr " - argagg (MIT)" + +msgid " - FFmpeg (LGPLv2.1)" +msgstr " - FFmpeg (LGPLv2.1)" + +msgid " - GNU/gettext and GNU/libiconv (GPLv3)" +msgstr "" + +msgid " - libasound (LGPLv2.1)" +msgstr " - libasound (LGPLv2.1)" + +msgid " - libcurl (MIT/X derivate)" +msgstr "" + +msgid " - libogg and libvorbis (own license)" +msgstr "" + +msgid " - libpng (own license)" +msgstr "" + +msgid " - libpulse (LGPLv2.1)" +msgstr " - libpulse (LGPLv2.1)" + +msgid " - libsndfile (LGPLv3)" +msgstr " - libsndfile (LGPLv3)" + +msgid " - SDL_kitchensink (MIT)" +msgstr " - SDL_kitchensink (MIT)" + +msgid " - SDL2, SDL2_image and SDL2_mixer (zlib license)" +msgstr "" + +msgid " - zlib (own license)" +msgstr "" + +msgid "All licenses are available under share/doc/planetblupi/copyright" +msgstr "" + +msgid "This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" +msgstr "" + +msgid "http://www.blupi.org info@blupi.org" +msgstr "http://www.blupi.org info@blupi.org" + +msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." +msgstr "Insira o CD-Rom Planeta Blupi e aguarde alguns segundos..." + +msgid "Blupi's energy" +msgstr "Energia do Blupi" + +msgid "Work done" +msgstr "Trabalho Feito" + +msgid "1|Goal :" +msgstr "1|Objetivo :" + +msgid "" +"1|Kill all\n" +"1|enemies !" +msgstr "" +"1|Matar todos os\n" +"1|inimigos !" + +msgid "" +"1|Go on striped\n" +"1|paving stones." +msgstr "" +"1|Ir para\n" +"1| pavimento de pedra." + +msgid "" +"1|Drop planks on striped \n" +"1|paving stones." +msgstr "" +"1|Largar madeira no \n" +"1|pavimento de pedra." + +msgid "" +"1|Drop tomatoes on striped \n" +"1|paving stones." +msgstr "" +"1|Largar tomates no \n" +"1|pavimento de pedra." + +msgid "" +"1|Drop platinium on striped \n" +"1|paving stones." +msgstr "" +"1|Largar a platina no \n" +"1|pavimento de pedra." + +msgid "" +"1|The robot must reach\n" +"1|the striped paving stones." +msgstr "" +"1|O robo deve atingir\n" +"1|o pavimento de pedra." + +msgid "" +"1|Each Blupi in\n" +"1|his house." +msgstr "" +"1|Cada Blupi na\n" +"1|sua casa." + +msgid "" +"1|Resist until\n" +"1|fire extinction ..." +msgstr "" +"1|Resistir até\n" +"1|fogo acabar..." + +#, c-format +msgid "" +"1|The Blupi population must\n" +"1|be of at least %d Blupi." +msgstr "" +"1|A população Blupi deve\n" +"1|ser de pelo menos %d \n" +"1|Blupi." + +msgid "Leave Jeep" +msgstr "Deixar o Jeep" + +msgid "Quit" +msgstr "Sair" + +msgid "Impossible" +msgstr "Impossivel" + +msgid "Inadequate ground" +msgstr "Terreno inadequado" + +msgid "Occupied ground" +msgstr "Terreno ocupado" + +msgid "Opposite bank no good" +msgstr "Margem oposta ruim" + +msgid "Bridge finished" +msgstr "Ponte terminada" + +msgid "(isolated tower)" +msgstr "(torre isolada)" + +msgid "Too close to water" +msgstr "Muito perto da agua" + +msgid "Already two teleporters" +msgstr "Dois teletransportadores" + +msgid "Not enough energy" +msgstr "" + +msgid "en" +msgstr "pt" -- cgit v1.2.3 From 7ff18ba1181f3161bc8ee2e7c498f3a43aba7374 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 23:38:18 +0100 Subject: Fix Blupi's name --- resources/data/pt/stories.blp | 156 ++++++++++++++++++++---------------------- 1 file changed, 76 insertions(+), 80 deletions(-) diff --git a/resources/data/pt/stories.blp b/resources/data/pt/stories.blp index ee5c7b7..15c16d3 100644 --- a/resources/data/pt/stories.blp +++ b/resources/data/pt/stories.blp @@ -1,11 +1,11 @@ $1 1|Objetivo : 1| -1|Cada Eggbert deve entrar em uma casa. +1|Cada Blupi deve entrar em uma casa. 1|Para fazer isso, sempre use o botao 1|esquerdo do mouse. -2|1) Clique em um Eggbert. +2|1) Clique em um Blupi. 2| Um anel vai aparecer em volta 2| dele indicando que esta selecionado. 2| @@ -14,7 +14,7 @@ $1 2|3) Clique em "Ir" 2| 2|4) Repita esses passos para -2| o segundo Eggbert. +2| o segundo Blupi. @@ -35,7 +35,7 @@ complicado: 1|para o pavimento de pedra na 1|direita. 1| -1|Eggbert deve comer tomates para +1|Blupi deve comer tomates para 1|acumular energia suficiente para 1|fazer isso. Note que 2|quando ele come, o anel vermelho @@ -57,7 +57,7 @@ $3 1|Encontre os ovos ... 1| 1|Colocando-os na incubadora, -1|quatro novos Eggberts +1|quatro novos Blupis 1|nascerao dos ovos. @@ -73,10 +73,10 @@ ao mesmo tempo. $4 1|Objetivo : 1| -1|Os quatro Eggberts devem chegar nas +1|Os quatro Blupis devem chegar nas 1|casas ao norte da ilha. -2|Cada Eggbert deve comer para ter +2|Cada Blupi deve comer para ter 2|energia suficiente para pular. $5 @@ -94,10 +94,10 @@ $5 $6 1|Objetivo : 1| -1|Cada Eggbert deve chegar em casa +1|Cada Blupi deve chegar em casa 1|em uma pequena ilha. 1|Infelizmente existe comida suficiente -1|para apenas um Eggbert. +1|para apenas um Blupi. 2|Você vai precisar encontrar uma 2|forma de produzir comida suficiente 2|para todos os outros. @@ -106,19 +106,19 @@ $6 2|muitas plantas. #h1 -A vida do Eggbert em seu planeta +A vida do Blupi em seu planeta era perfeita. Tudo era muito bonito e quieto até que um dia um estranho meteorito caiu em um local remoto. -Algum tempo depois, Eggbert +Algum tempo depois, Blupi percebeu que sua colheita estava sendo devastada por aranhas gigantes. E ainda parece que apesar da sua -excelente forma fisica, Eggbert +excelente forma fisica, Blupi pegou uma curiosa doença. Ele agora espirra e tosse bastante. @@ -132,16 +132,16 @@ e parecer ser um robo. E a unica coisa que ele quer é construir fabricas para produzir todo tipo de maquinas perversas para acabar -com o planeta do Eggbert. +com o planeta do Blupi. -O Eggbert precisa da sua ajuda e +O Blupi precisa da sua ajuda e habilidade para obter uma vantagem de todos os recursos naturais para se livrar desses intrusos... #1 A nave espacial colocou fogo na -floresta. Agora a vila do Eggbert +floresta. Agora a vila do Blupi pode estar em perigo. 1|Objetivo: @@ -157,7 +157,7 @@ pode estar em perigo. 2|Dica : 2| -2|Se um Eggbert ficar escondido atras +2|Se um Blupi ficar escondido atras 2|de uma planta, pressione a barra de 2|espaço. Fazendo isso ele vai 2|aparecer transparente por alguns @@ -166,15 +166,15 @@ pode estar em perigo. @1 1|Soluçao : 1| -1|Levar o Eggbert para a esquerda +1|Levar o Blupi para a esquerda 1|para cortar algumas plantas. Os -1|dois outros Eggberts podem +1|dois outros Blupis podem 1|carregar as madeiras. #2 1|Objetivo : 1| -1|Eggbert esta longe e perdido da +1|Blupi esta longe e perdido da 1| sua vila. Ele deve se organizar 1|antes de procurar pela vila. 1| @@ -184,7 +184,7 @@ pode estar em perigo. 2|2) Construa uma incubadora para 2| obter ajuda. 2| -2|3) Alimente os quatro Eggberts e +2|3) Alimente os quatro Blupis e 2| procure pela vila. 2| @@ -212,7 +212,7 @@ pode estar em perigo. #3 1|Objetivo: 1| -1|Evitar que os quatro Eggberts +1|Evitar que os quatro Blupis 1|se queimem. 1| 1|Termine a parede. @@ -240,7 +240,7 @@ pode estar em perigo. #4 1|Objetivo: 1| -1|Faça os quatro Eggberts +1|Faça os quatro Blupis 1|alcançarem o pavimento 1|de pedra @@ -253,19 +253,19 @@ pode estar em perigo. 1| perto da margem. 1| 1|3) Construa uma ponte entre -1| os dois Eggberts cansados. +1| os dois Blupis cansados. 2|4) Repita estes passos 2| três vezes. 2| -2|Os Eggberts cansados podem +2|Os Blupis cansados podem 2|atravessar a ponte e alcançar 2|o pavimento de pedras. #5 1|A armadilha: 1|Cuidado, o terreno onde os -1|Eggberts estao prisioneiros +1|Blupis estao prisioneiros 1|podem se queimar. 1| 1|Objetivo: @@ -274,7 +274,7 @@ pode estar em perigo. 2|Tome Cuidado : 2|Construir uma parede é trabalho -2|muito cansativo para o Eggbert. +2|muito cansativo para o Blupi. 2|Quando ele terminar, vai morrer ! @@ -319,16 +319,16 @@ F5 para voltar ao normal. Dica: -Você pode selecionar muitos Eggberts +Você pode selecionar muitos Blupis ao mesmo tempo mantendo a tecla shift pressionada enquanto -clica em cada Eggbert. +clica em cada Blupi. @6 1|Soluçao : 1| -1|Você deve colocar quatro Eggberts +1|Você deve colocar quatro Blupis 1|para esculpir as pedras rapidamente. 1|As menores ficam prontas mais 1|rapidamente @@ -341,7 +341,7 @@ clica em cada Eggbert. 2|Espere pela chegada e 2|destruiçao dos virus. 2| -2|Os outros quatro Eggberts +2|Os outros quatro Blupis 2|podem ir rapidamente para 2|o pavimento de pedra no 2|sudeste. @@ -349,10 +349,10 @@ clica em cada Eggbert. #7 1|Objetivo: 1| -1|Os quatro Eggberts devem +1|Os quatro Blupis devem 1|alcançar o pavimento de 1|pedras. Você devera tomar -1|cuidado com o Eggbert +1|cuidado com o Blupi 1| mais distante. @@ -368,26 +368,26 @@ clica em cada Eggbert. @7 1|Soluçao: 1| -1|Faça um Eggbert guardar um +1|Faça um Blupi guardar um 1|tomate rapidamente para que 1|as aranhas nao o comam. 1| -1|Com outro Eggbert, pule na +1|Com outro Blupi, pule na 1|outra ilha e construa uma ponte 1|que vai ligar as duas ilhas. 2|Carregue os tomates para o -2|Eggbert casado para que ele +2|Blupi casado para que ele 2|possa comer. #8 1|Objetivo : 1| -1|Evitar que um ou dois Eggberts +1|Evitar que um ou dois Blupis 1|se contaminem e encontrar um 1|remedio para curar os outros. 1| -1|Finalmente cada Eggbert deve +1|Finalmente cada Blupi deve 1|entrar em uma casa. @@ -407,11 +407,11 @@ clica em cada Eggbert. 1|ser feito. Ele vai permitir que 1|você transforme as flores 1|amarelas em remedio para -1|curar os Eggberts. +1|curar os Blupis. 2|Você precisa construir uma 2|ponte para levar o remedio -2|para curar os Eggberts. +2|para curar os Blupis. 2| 2|As casas ficam no sudeste da ilha. @@ -428,7 +428,7 @@ clica em cada Eggbert. 2|Nota : 2| -2|Eggbert pode andar no gelo. Mas +2|Blupi pode andar no gelo. Mas 2|como o gelo é muito escorregadio, 2|ele vai perder muita energia. @@ -436,14 +436,14 @@ clica em cada Eggbert. 1|Soluçao : 1| 1|Construa duas torres para -1|proteger os Eggberts das +1|proteger os Blupis das 1|aranhas. 1| 1|Você precisa construir uma casa 1|do jardim e uma incubadora 1|para deixar os ovos chocarem. -2|Eggbert perde muita força +2|Blupi perde muita força 2|quando ele atravessa a pista 2|de gelo. Portanto, você deve 2|levar os tomates antes da pista. @@ -457,7 +457,7 @@ clica em cada Eggbert. 2|Tudo o que você precisa fazer 2|agora é colocar os quatro -2|Eggberts no pavimento de pedra. +2|Blupis no pavimento de pedra. @10 1|Soluçao : @@ -474,7 +474,7 @@ clica em cada Eggbert. 2|Use a dinamite para destruir 2|a barreira que esta prendendo -2|os quatro prisioneiros Eggberts. +2|os quatro prisioneiros Blupis. 2| 2|Primeiro, você precisa 2|afastar os prisioneiros para @@ -507,8 +507,8 @@ clica em cada Eggbert. #12 1|Objetivo : 1| -1|Três Eggberts devem se unir -1| com o Eggbert isolado na ilha +1|Três Blupis devem se unir +1| com o Blupi isolado na ilha 1|no lado noroeste. @12 @@ -569,7 +569,7 @@ clica em cada Eggbert. #14 1|Objetivo : 1| -1|O Eggbert deve simplesmente +1|O Blupi deve simplesmente 1| ir para casa. 1| @@ -599,7 +599,7 @@ clica em cada Eggbert. #15 1|Objetivo : 1| -1|Somente um Eggbert +1|Somente um Blupi 1|deve alcançar a casa no 1|nordeste. @@ -634,7 +634,7 @@ clica em cada Eggbert. #16 1|Situaçao : 1| -1|Eggbert esta perdido em uma parte +1|Blupi esta perdido em uma parte 1|arida do planeta sem nenhuma 1|planta. @@ -643,7 +643,7 @@ clica em cada Eggbert. 2|Objetivo : 2| -2|Os dois Eggberts devem voltar +2|Os dois Blupis devem voltar 2|para casa em sua vila. @16 @@ -666,7 +666,7 @@ clica em cada Eggbert. #17 1|Objetivo : 1| -1|Os cinco Eggberts devem +1|Os cinco Blupis devem 1|alcançar uma casa. 2|Cuidado, uma casa fica @@ -686,18 +686,18 @@ clica em cada Eggbert. Dica : Você pode selecionar alguns -Eggberts ao mesmo tempo +Blupis ao mesmo tempo mantendo a tecla Shift selecionada -enquanto clica em cada Eggbert. +enquanto clica em cada Blupi. @17 1|Soluçao : 1| -1|Um Eggbert pode ir para a casa +1|Um Blupi pode ir para a casa 1|no lado oeste da ilha. 1|Os outros quatro devem ir embora 1|rapidamente por causa das -1|escavadoras. Os Eggberts +1|escavadoras. Os Blupis 1|devem ir para o nordeste. 2|Mais adiante, você deve encontrar @@ -713,7 +713,7 @@ enquanto clica em cada Eggbert. #18 1|Situaçao : 1| -1|Enquanto Eggbert estava +1|Enquanto Blupi estava 1|colhendo flores, ele nao percebeu 1|que estava perdido da sua 1|casa. Agora ele esta perdido @@ -725,7 +725,7 @@ enquanto clica em cada Eggbert. 2|Objetivo: 2| -2|Eggbert deve fugir e encontrar +2|Blupi deve fugir e encontrar 2|uma forma para voltar para casa. @18 @@ -748,7 +748,7 @@ enquanto clica em cada Eggbert. 1|Situaçao : 1| 1|Quatro escavadoras parecem -1|ameaçando a vila do Eggbert. +1|ameaçando a vila do Blupi. @@ -761,7 +761,7 @@ enquanto clica em cada Eggbert. @19 1|Dicas : 1| -1|Faça um Eggbert extrair ferro +1|Faça um Blupi extrair ferro 1|e construir uma armadura. Ela vai 1|pretegê-lo do fogo. 1| @@ -797,7 +797,7 @@ enquanto clica em cada Eggbert. #21 1|Situaçao : 1| -1|Eggbert foi capturado por um +1|Blupi foi capturado por um 1|robo asqueroso. Ele é um 1|prisioneiro na base de campo 1|do robo. @@ -807,7 +807,7 @@ enquanto clica em cada Eggbert. 2|Objeto : 2| -2|Eggbert deve escapar e achar +2|Blupi deve escapar e achar 2|sua casa. @21 @@ -853,7 +853,7 @@ enquanto clica em cada Eggbert. #23 1|Situaçao : 1| -1|Eggbert parece estar curioso. +1|Blupi parece estar curioso. 1|Depois de ter observado o robo 1|por um longo tempo, ele percebe 1|agora que ele esta perdido. @@ -870,22 +870,22 @@ enquanto clica em cada Eggbert. @23 1|Dicas : 1| -1|O Eggbert isolado deve ir +1|O Blupi isolado deve ir 1|longe do robo e ir para o -1|leste. Eggbert deve esculpir +1|leste. Blupi deve esculpir 1|uma rocha para permitir 1|alcançar a madeira, e entao 1|fazer um teletransportador. 2|Com o segundo grupo de -2|Eggberts, você deve fazer um +2|Blupis, você deve fazer um 2|bote, encontrar a bomba no 2|nordeste e explodir a barreira no 2|sul. Isto vai permitir você trazer 2|a madeira para perto da ilha 2|e fazer um teletransportador para 2|permitir você se unir e ajudar -2|o Eggbert perdido. +2|o Blupi perdido. #24 1|Situaçao: @@ -913,7 +913,7 @@ enquanto clica em cada Eggbert. 2|encontrar alguns ovos. #25 -1|Eggbert ficou desconfiado +1|Blupi ficou desconfiado 1|porque o trouxe algumas 1|coisas estranhas para o 1|seu planeta : @@ -962,7 +962,7 @@ enquanto clica em cada Eggbert. 2|Objetivo : 2| -2|Ajudar o Eggbert a encontrar a +2|Ajudar o Blupi a encontrar a 2|sua casa. @26 @@ -977,7 +977,7 @@ enquanto clica em cada Eggbert. 1do campo inimigo sem ser 2|notado. Exploda a barreira 2|no norte e pegue os tomates -2|para alimentar o Eggbert +2|para alimentar o Blupi 2|no campo. 2| 2|Largue os tomates antes de @@ -988,7 +988,7 @@ enquanto clica em cada Eggbert. 1| 1|O robo teve o atrevimento de 1|instalar a sua vila perto da -1|vila do Eggbert. +1|vila do Blupi. @@ -1023,7 +1023,7 @@ enquanto clica em cada Eggbert. 1|Situaçao : 1| 1|Enquanto estava construindo -1|sua casa, Eggbert fez um erro: +1|sua casa, Blupi fez um erro: 1|ele construiu uma parede em 1|volta dela. @@ -1033,7 +1033,7 @@ enquanto clica em cada Eggbert. 2|Objetivo: 2| -2|Eggbert deve simplesmente +2|Blupi deve simplesmente 2|ir para casa. @28 @@ -1049,7 +1049,7 @@ enquanto clica em cada Eggbert. 1|norte e do sul, para que 2|você possa colher 2|flores azuis. -2|Outro Eggbert pode pega-las +2|Outro Blupi pode pega-las 2|para fazer dinamites. 2| 2|Você vai poder usar somente @@ -1070,7 +1070,7 @@ enquanto clica em cada Eggbert. 2|Objetivo : 2| -2|Eggbert deve construir sua vila +2|Blupi deve construir sua vila 2|e elaborar uma boa tatica 2|de defesa. 2| @@ -1101,12 +1101,12 @@ enquanto clica em cada Eggbert. 1|Situaçao : 1| 1|Esta guerra precisa acabar logo. -1|Eggbert e o robo tiveram que +1|Blupi e o robo tiveram que 1|fazer um acordo: 1|Ele precisa ajudar o robo a voltar 1|para o seu foguete, em retorno, 1|o robo vai deixar de forma -1|definitiva o planeta do Eggbert. +1|definitiva o planeta do Blupi. @@ -1136,7 +1136,3 @@ enquanto clica em cada Eggbert. 2|Tudo o que você precisa, seria 2|construir uma ponte para que o 2|robo possa voltar ao seu foguete. - -#31 - -@31 -- cgit v1.2.3 From 965ca2804d350dc403accd577b933bf64c3f7192 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 23:44:07 +0100 Subject: Improve a bit the pt translations --- resources/po/planetblupi.pot | 2 +- resources/po/pt.po | 1214 +++++++++++++++++++++--------------------- 2 files changed, 608 insertions(+), 608 deletions(-) diff --git a/resources/po/planetblupi.pot b/resources/po/planetblupi.pot index 1cc0fea..50474d9 100644 --- a/resources/po/planetblupi.pot +++ b/resources/po/planetblupi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-08 07:29+0200\n" +"POT-Creation-Date: 2019-01-25 23:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/resources/po/pt.po b/resources/po/pt.po index 7bfc9a8..6372135 100644 --- a/resources/po/pt.po +++ b/resources/po/pt.po @@ -7,50 +7,76 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-08 07:29+0200\n" -"PO-Revision-Date: 2019-01-25 23:33+0100\n" +"POT-Creation-Date: 2019-01-25 23:40+0100\n" +"PO-Revision-Date: 2019-01-25 23:42+0100\n" +"Last-Translator: \n" "Language-Team: \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2\n" -"Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"Language: pt\n" -msgid "Planet Blupi" -msgstr "Planet Blupi" +msgid " - FFmpeg (LGPLv2.1)" +msgstr " - FFmpeg (LGPLv2.1)" -msgid "Planet Blupi -- stop" -msgstr "Planet Blupi -- parar" +msgid " - GNU/gettext and GNU/libiconv (GPLv3)" +msgstr "" -msgid "" -"1: Grow tomatoes\n" -"2: Eat" +msgid " - SDL2, SDL2_image and SDL2_mixer (zlib license)" msgstr "" -"1: Cultivar tomates\n" -"2: Comer" + +msgid " - SDL_kitchensink (MIT)" +msgstr " - SDL_kitchensink (MIT)" + +msgid " - argagg (MIT)" +msgstr " - argagg (MIT)" + +msgid " - libasound (LGPLv2.1)" +msgstr " - libasound (LGPLv2.1)" + +msgid " - libcurl (MIT/X derivate)" +msgstr "" + +msgid " - libogg and libvorbis (own license)" +msgstr "" + +msgid " - libpng (own license)" +msgstr "" + +msgid " - libpulse (LGPLv2.1)" +msgstr " - libpulse (LGPLv2.1)" + +msgid " - libsndfile (LGPLv3)" +msgstr " - libsndfile (LGPLv3)" + +msgid " - zlib (own license)" +msgstr "" + +msgid "(isolated tower)" +msgstr "(torre isolada)" msgid "" -"1: Make a bunch\n" -"2: Transform" +"1: Cut down a tree \n" +"2: Build a bridge" msgstr "" -"1: Fazer um ramo\n" -"2: Transformar" +"1: Cortar planta \n" +"2: Construir uma ponte" msgid "" -"1: Take\n" -"2: Transform" +"1: Cut down a tree \n" +"2: Make a boat" msgstr "" -"1: Pegar\n" -"2: Transformar" +"1: Cortar uma planta \n" +"2: Fazer um bote" msgid "" -"1: Extract iron\n" -"2: Make a bomb" +"1: Cut down a tree \n" +"2: Make a palisade" msgstr "" -"1: Extrair ferro\n" -"2: Fazer uma bomba" +"1: Cortar uma planta \n" +"2: Fazer uma barreira" msgid "" "1: Extract iron\n" @@ -59,6 +85,13 @@ msgstr "" "1: Extrair Ferro\n" "2: Fazer um Jeep" +msgid "" +"1: Extract iron\n" +"2: Make a bomb" +msgstr "" +"1: Extrair ferro\n" +"2: Fazer uma bomba" + msgid "" "1: Extract iron\n" "2: Make an armour" @@ -67,121 +100,156 @@ msgstr "" "2: Fazer uma armadura" msgid "" -"1: Cut down a tree \n" -"2: Make a palisade" +"1: Grow tomatoes\n" +"2: Eat" msgstr "" -"1: Cortar uma planta \n" -"2: Fazer uma barreira" +"1: Cultivar tomates\n" +"2: Comer" msgid "" -"1: Take\n" -"2: Build palisade" +"1: Make a bunch\n" +"2: Transform" msgstr "" -"1: Pegar\n" -"2: Construir barreira" +"1: Fazer um ramo\n" +"2: Transformar" msgid "" -"1: Cut down a tree \n" +"1: Take\n" "2: Build a bridge" msgstr "" -"1: Cortar planta \n" +"1: Pegar\n" "2: Construir uma ponte" msgid "" "1: Take\n" -"2: Build a bridge" +"2: Build palisade" msgstr "" "1: Pegar\n" -"2: Construir uma ponte" +"2: Construir barreira" msgid "" -"1: Cut down a tree \n" +"1: Take\n" "2: Make a boat" msgstr "" -"1: Cortar uma planta \n" +"1: Pegar\n" "2: Fazer um bote" msgid "" "1: Take\n" -"2: Make a boat" +"2: Transform" msgstr "" "1: Pegar\n" -"2: Fazer um bote" - -msgid "Tree" -msgstr "Planta" +"2: Transformar" -msgid "Enemy rocket" -msgstr "Foguete inimigo" +msgid "" +"1|Drop planks on striped \n" +"1|paving stones." +msgstr "" +"1|Largar madeira no \n" +"1|pavimento de pedra." -msgid "Platinium" -msgstr "Platina" +msgid "" +"1|Drop platinium on striped \n" +"1|paving stones." +msgstr "" +"1|Largar a platina no \n" +"1|pavimento de pedra." -msgid "Armour" -msgstr "Armadura" +msgid "" +"1|Drop tomatoes on striped \n" +"1|paving stones." +msgstr "" +"1|Largar tomates no \n" +"1|pavimento de pedra." -msgid "Enemy construction" -msgstr "Construção inimiga" +msgid "" +"1|Each Blupi in\n" +"1|his house." +msgstr "" +"1|Cada Blupi na\n" +"1|sua casa." -msgid "Wall" -msgstr "Parede" +msgid "" +"1|Go on striped\n" +"1|paving stones." +msgstr "" +"1|Ir para\n" +"1| pavimento de pedra." -msgid "Protection tower" -msgstr "Torre" +msgid "1|Goal :" +msgstr "1|Objetivo :" -msgid "Laboratory" -msgstr "Laboratorio" +msgid "" +"1|Kill all\n" +"1|enemies !" +msgstr "" +"1|Matar todos os\n" +"1|inimigos !" -msgid "Tree trunks" -msgstr "Tronco de Planta" +msgid "" +"1|Resist until\n" +"1|fire extinction ..." +msgstr "" +"1|Resistir até\n" +"1|fogo acabar..." -msgid "Planks" -msgstr "Madeiras" +#, c-format +msgid "" +"1|The Blupi population must\n" +"1|be of at least %d Blupi." +msgstr "" +"1|A população Blupi deve\n" +"1|ser de pelo menos %d \n" +"1|Blupi." -msgid "Rocks" -msgstr "Rochas" +msgid "" +"1|The robot must reach\n" +"1|the striped paving stones." +msgstr "" +"1|O robo deve atingir\n" +"1|o pavimento de pedra." -msgid "Stones" -msgstr "Pedras" +msgid "Aliasing" +msgstr "" -msgid "Fire" -msgstr "Fogo" +msgid "All licenses are available under share/doc/planetblupi/copyright" +msgstr "" -msgid "Tomatoes" -msgstr "Tomates" +msgid "Already two teleporters" +msgstr "Dois teletransportadores" -msgid "Garden shed" -msgstr "Casa do jardim" +msgid "Another mistake..." +msgstr "Outro erro..." -msgid "Eggs" -msgstr "Ovos" +msgid "Anti-aliasing" +msgstr "" -msgid "Palisade" -msgstr "Barreira" +msgid "Armour" +msgstr "Armadura" -msgid "Bridge" -msgstr "Ponte" +msgid "Available buttons" +msgstr "Botoes disponiveis" -msgid "Medical potion" -msgstr "Remédio" +msgid "Bang, failed again !" +msgstr "Puxa, falhou novamente !" -msgid "Flowers" -msgstr "Flores" +msgid "Bank" +msgstr "Margem" -msgid "Bunch of flowers" -msgstr "Ramos de flores" +msgid "Blow up" +msgstr "Explodir" -msgid "Dynamite" -msgstr "Dinamite" +msgid "Blupi" +msgstr "Blupi" -msgid "Poison" -msgstr "Veneno" +msgid "Blupi in house" +msgstr "Blupi em casa" -msgid "Sticky trap" -msgstr "Armadilha pegajosa" +msgid "Blupi on striped paving stones" +msgstr "Blupi no pavimento de pedra" -msgid "Trapped enemy" -msgstr "Prender inimigos" +msgid "Blupi's energy" +msgstr "Energia do Blupi" msgid "Blupi's house" msgstr "Casa do Blupi" @@ -189,336 +257,336 @@ msgstr "Casa do Blupi" msgid "Boat" msgstr "Bote" -msgid "Jeep" -msgstr "Jeep" +msgid "Bouncing bomb" +msgstr "Bomba Maluca" -msgid "Workshop" -msgstr "Oficina" +msgid "Bridge" +msgstr "Ponte" -msgid "Mine" -msgstr "Mina" +msgid "Bridge finished" +msgstr "Ponte terminada" -msgid "Iron" -msgstr "Ferro" +msgid "Buildings" +msgstr "Construçãoes" -msgid "Flag" -msgstr "Bandeira" +msgid "Bulldozer" +msgstr "Escavadora" -msgid "Time bomb" -msgstr "Bomba" +msgid "Bunch of flowers" +msgstr "Ramos de flores" -msgid "Normal ground" -msgstr "Terreno normal" +msgid "Burnt ground" +msgstr "Terreno queimado" -msgid "Bank" -msgstr "Margem" +msgid "Cancel last operation" +msgstr "Cancelar ultima operação" -msgid "Water" -msgstr "Agua" +msgid "Carve a rock" +msgstr "Esculpir uma pedra" -msgid "Paving stones" -msgstr "Pavimento de pedra" +msgid "Carve rocks" +msgstr "Esculpir pedras" -msgid "Striped paving stones" -msgstr "Terreno de pedras" +msgid "" +"Change the\n" +"display mode" +msgstr "" -msgid "Ice" -msgstr "Gelo" +msgid "" +"Change the\n" +"render quality" +msgstr "" -msgid "Burnt ground" -msgstr "Terreno queimado" +msgid "" +"Change the\n" +"window size" +msgstr "" -msgid "Inflammable ground" -msgstr "Terreno inflamavel" +msgid "" +"Choose the\n" +"music format" +msgstr "" -msgid "Miscellaneous ground" -msgstr "Terreno Misto" +msgid "Construct this game" +msgstr "Construir este jogo" -msgid "Sterile ground" -msgstr "Terreno sem vida" +msgid "Construction" +msgstr "Projetar" -msgid "Incubator" -msgstr "Incubadora" +msgid "Construction number" +msgstr "Projeto numero" -msgid "Enemy ground" -msgstr "Terreno Inimigo" +msgid "Continue this game" +msgstr "Continuar este jogo" -msgid "Teleporter" -msgstr "Teletransportador" +msgid "Cut down a tree" +msgstr "Cortar uma Planta" -msgid "Tired Blupi" -msgstr "Blupi cansado" +msgid "Cut down trees" +msgstr "Cortar Plantas" -msgid "Sick Blupi" -msgstr "Blupi doente" +msgid "Decorative plants" +msgstr "Planta decorativa" -msgid "Blupi" -msgstr "Blupi" +msgid "Delete figure" +msgstr "Apagar figura" -msgid "Spider" -msgstr "Aranha" +msgid "Delete fire" +msgstr "Apagar fogo" -msgid "Virus" -msgstr "Virus" +msgid "Delete item" +msgstr "Apagar item" -msgid "Bulldozer" -msgstr "Escavadora" +msgid "Demo" +msgstr "Demo" -msgid "Master robot" -msgstr "Robo principal" +msgid "Desert" +msgstr "Deserto" -msgid "Bouncing bomb" -msgstr "Bomba Maluca" +msgid "Desktop" +msgstr "" -msgid "Electrocutor" -msgstr "Eletrocondutor" +msgid "Desktop mode" +msgstr "" -msgid "Helper robot" -msgstr "Robo Ajudante" +msgid "Difficult" +msgstr "Dificil" -msgid "Interrupt" -msgstr "Interromper" +msgid "Disable anti-aliasing" +msgstr "" -msgid "Settings" -msgstr "Ajustes" +msgid "Drink" +msgstr "Beber" -msgid "Save" -msgstr "Salvar" +msgid "Drop" +msgstr "Largar" -msgid "Demo" -msgstr "Demo" +msgid "Dynamite" +msgstr "Dinamite" -msgid "Training" -msgstr "Treino" +msgid "E" +msgstr "L" -msgid "Missions" -msgstr "Missoes" +msgid "Easy" +msgstr "Facil" -msgid "Construction" -msgstr "Projetar" +msgid "Eat" +msgstr "Comer" -msgid "Global settings" +msgid "Eggs" +msgstr "Ovos" + +msgid "Electrocutor" +msgstr "Eletrocondutor" + +msgid "Enable anti-aliasing" msgstr "" -msgid "Quit Planet Blupi" -msgstr "Sair do Planeta Blupi" +msgid "Ending conditions" +msgstr "Condições finais" -msgid "Previous page" -msgstr "Pagina anterior" +msgid "Enemy barrier" +msgstr "Barreira inimiga" -msgid "Next page" -msgstr "Pagina seguinte" +msgid "Enemy buildings" +msgstr "Construçãoe inimiga" -msgid "Previous game" -msgstr "Jogo anterior" +msgid "Enemy construction" +msgstr "Construção inimiga" -msgid "Play this game" -msgstr "Jogar este jogo" +msgid "Enemy ground" +msgstr "Terreno Inimigo" -msgid "Next game" -msgstr "Jogo seguinte" +msgid "Enemy rocket" +msgstr "Foguete inimigo" -msgid "Open another game" -msgstr "Abrir outro jogo" +msgid "Excellent..." +msgstr "Excelente..." -msgid "Construct this game" -msgstr "Construir este jogo" +msgid "Extract iron" +msgstr "Extrair ferro" -msgid "Skill level" -msgstr "Dificuldade" +msgid "Faster" +msgstr "Mais rapido" msgid "Finish" msgstr "Terminar" -msgid "Continue this game" -msgstr "Continuar este jogo" +msgid "Fire" +msgstr "Fogo" -msgid "Save this game" -msgstr "Salvar este jogo" +msgid "Fire out" +msgstr "Resistir até o fogo acabar" -msgid "Quit this game" -msgstr "Encerrar este jogo" +msgid "Flag" +msgstr "Bandeira" -msgid "Help" -msgstr "Ajuda" +msgid "Flowers" +msgstr "Flores" -msgid "Slower" -msgstr "Mais devagar" +msgid "Forest" +msgstr "Floresta" -msgid "Faster" -msgstr "Mais rapido" +msgid "Forest under snow" +msgstr "Floresta debaixo de neve" -msgid "Reduce volume" -msgstr "Diminuir Volume" +msgid "Fullscreen" +msgstr "" -msgid "Increase volume" -msgstr "Aumentar Volume" +msgid "Game paused" +msgstr "Jogo pausado" -msgid "No video" -msgstr "Sem video" +msgid "Garden shed" +msgstr "Casa do jardim" -msgid "Show videos" -msgstr "Mostrar Video" +msgid "" +"Global game\n" +"speed" +msgstr "Velocidade" -msgid "Restart this game" -msgstr "Reiniciar este jogo" +msgid "Global settings" +msgstr "" -msgid "Special pavings" -msgstr "Pavimento Especial" +msgid "Go" +msgstr "Ir" -msgid "Incubator or teleporter" -msgstr "Incubadora ou teletransportador" +msgid "Grow tomatoes" +msgstr "Plantar tomates" -msgid "Delete item" -msgstr "Apagar item" +msgid "Help" +msgstr "Ajuda" -msgid "Decorative plants" -msgstr "Planta decorativa" +msgid "Help number" +msgstr "Ajuda numero" -msgid "Buildings" -msgstr "Construçãoes" +msgid "Helper robot" +msgstr "Robo Ajudante" -msgid "Enemy buildings" -msgstr "Construçãoe inimiga" - -msgid "Enemy barrier" -msgstr "Barreira inimiga" - -msgid "Wall or palisade" -msgstr "Parede ou Barreira" - -msgid "Items" -msgstr "Itens" - -msgid "Weapons" -msgstr "Armas" - -msgid "Transport" -msgstr "Transporte" - -msgid "Delete figure" -msgstr "Apagar figura" - -msgid "Delete fire" -msgstr "Apagar fogo" - -msgid "Starting fire" -msgstr "Iniciar fogo" - -msgid "Scenery choice" -msgstr "Cenario escolhido" - -msgid "Music choice" -msgstr "Musica escolhida" - -msgid "Available buttons" -msgstr "Botoes disponiveis" - -msgid "Ending conditions" -msgstr "Condições finais" +msgid "Ice" +msgstr "Gelo" -msgid "Quit construction" -msgstr "Encerrar projeto" +msgid "Impossible" +msgstr "Impossivel" -msgid "Cancel last operation" -msgstr "Cancelar ultima operação" +#, c-format +msgid "Impossible to win if less than %d Blupi" +msgstr "Impossivel vencer se tiver menos que %d Blupi" -msgid "Stop" -msgstr "Parar" +msgid "Inadequate ground" +msgstr "Terreno inadequado" -msgid "Go" -msgstr "Ir" +msgid "Increase volume" +msgstr "Aumentar Volume" -msgid "Take" -msgstr "Pegar" +msgid "Increase window size" +msgstr "" -msgid "Drop" -msgstr "Largar" +msgid "Incubator" +msgstr "Incubadora" -msgid "Repeat" -msgstr "Repetir" +msgid "Incubator or teleporter" +msgstr "Incubadora ou teletransportador" -msgid "Cut down a tree" -msgstr "Cortar uma Planta" +msgid "Inflammable ground" +msgstr "Terreno inflamavel" -msgid "Cut down trees" -msgstr "Cortar Plantas" +msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." +msgstr "Insira o CD-Rom Planeta Blupi e aguarde alguns segundos..." -msgid "Carve a rock" -msgstr "Esculpir uma pedra" +msgid "" +"Interface language\n" +"and sounds" +msgstr "" -msgid "Carve rocks" -msgstr "Esculpir pedras" +msgid "Interrupt" +msgstr "Interromper" -msgid "Make bunch of flowers" -msgstr "Fazer um ramo de flor" +msgid "Iron" +msgstr "Ferro" -msgid "Make bunches of flowers" -msgstr "Fazer ramos de flores" +msgid "Items" +msgstr "Itens" -msgid "Grow tomatoes" -msgstr "Plantar tomates" +msgid "Jeep" +msgstr "Jeep" -msgid "Eat" -msgstr "Comer" +msgid "Laboratory" +msgstr "Laboratorio" -msgid "Transform" -msgstr "Transformar" +msgid "Last construction resolved !" +msgstr "Ultima construção resolvida !" -msgid "Drink" -msgstr "Beber" +msgid "Leave Jeep" +msgstr "Deixar o Jeep" -msgid "Blow up" -msgstr "Explodir" +msgid "Legacy" +msgstr "" -msgid "Prospect for iron" -msgstr "Procurar por ferro" +msgid "Legacy mode (640x480)" +msgstr "" -msgid "Extract iron" -msgstr "Extrair ferro" +#, c-format +msgid "Lost if less than %d Blupi" +msgstr "Perder se tiver menos do que %d Blupi" msgid "Make a Jeep" msgstr "Fazer um Jeep" +msgid "Make a helper robot" +msgstr "Fazer um robo ajudante" + msgid "Make a time bomb" msgstr "Fazer uma bomba" msgid "Make armour" msgstr "Fazer armadura" -msgid "Make a helper robot" -msgstr "Fazer um robo ajudante" +msgid "Make bunch of flowers" +msgstr "Fazer um ramo de flor" -msgid "Blupi in house" -msgstr "Blupi em casa" +msgid "Make bunches of flowers" +msgstr "Fazer ramos de flores" -msgid "No more enemies" -msgstr "Matar inimigos" +msgid "Master robot" +msgstr "Robo principal" -msgid "Fire out" -msgstr "Resistir até o fogo acabar" +msgid "Medical potion" +msgstr "Remédio" -msgid "Blupi on striped paving stones" -msgstr "Blupi no pavimento de pedra" +msgid "Midi" +msgstr "Midi" -msgid "Planks on striped paving stones" -msgstr "Madeira no pavimento de pedra" +msgid "Mine" +msgstr "Mina" -msgid "Tomatoes on striped paving stones" -msgstr "Tomates no pavimento de pedra" +msgid "Miscellaneous ground" +msgstr "Terreno Misto" -msgid "Platinium on striped paving stones" -msgstr "Platina no pavimento de pedra" +msgid "Mission number" +msgstr "Missao numero" -msgid "Robot on striped paving stones" -msgstr "Robo no pavimento de pedra" +msgid "Mission over..." +msgstr "Missao completada..." -msgid "No music" -msgstr "Sem musica" +msgid "Missions" +msgstr "Missoes" + +msgid "" +"Music\n" +"volume" +msgstr "" +"Musica\n" +"Volume" + +msgid "Music choice" +msgstr "Musica escolhida" msgid "Music number 1" msgstr "Musica 1" +msgid "Music number 10" +msgstr "Musica 10" + msgid "Music number 2" msgstr "Musica 2" @@ -543,418 +611,350 @@ msgstr "Musica 8" msgid "Music number 9" msgstr "Musica 9" -msgid "Music number 10" -msgstr "Musica 10" - -msgid "Prairie" -msgstr "Campina" - -msgid "Forest" -msgstr "Floresta" - -msgid "Desert" -msgstr "Deserto" - -msgid "Forest under snow" -msgstr "Floresta debaixo de neve" +msgid "N" +msgstr "N" -msgid "Previous language" +#, c-format +msgid "New version available for download on www.blupi.org (v%s)" msgstr "" -msgid "Next language" -msgstr "" +msgid "Next game" +msgstr "Jogo seguinte" -msgid "Fullscreen" +msgid "Next language" msgstr "" -msgid "Windowed" -msgstr "" +msgid "Next page" +msgstr "Pagina seguinte" -msgid "Use Ogg music" -msgstr "" +msgid "No" +msgstr "Nao" -msgid "Use Midi music (original)" -msgstr "" +msgid "No more enemies" +msgstr "Matar inimigos" -msgid "Disable anti-aliasing" -msgstr "" +msgid "No music" +msgstr "Sem musica" -msgid "Enable anti-aliasing" -msgstr "" +msgid "No video" +msgstr "Sem video" -msgid "Version" -msgstr "" +msgid "No, not that way !" +msgstr "Caminho errado !" -#, c-format -msgid "New version available for download on www.blupi.org (v%s)" -msgstr "" +msgid "No, wrong way ..." +msgstr "Caminho errado ..." -msgid "Desktop mode" -msgstr "" +msgid "None" +msgstr "Nenhum" -msgid "Reduce window size" -msgstr "" +msgid "Normal ground" +msgstr "Terreno normal" -msgid "Legacy mode (640x480)" +msgid "Not available" msgstr "" -msgid "Increase window size" +msgid "Not enough energy" msgstr "" -msgid "N" -msgstr "N" - -msgid "S" -msgstr "S" - -msgid "W" -msgstr "O" - -msgid "E" -msgstr "L" - -msgid "Game paused" -msgstr "Jogo pausado" - -msgid "REC" -msgstr "REC" - -#, c-format -msgid "construction %d, time %d" -msgstr "Projeto %d, tempo %d" - -#, c-format -msgid "mission %d, time %d" -msgstr "missao %d, tempo %d" +msgid "Now go on mission." +msgstr "Agora continue a missao." -#, c-format -msgid "training %d, time %d" -msgstr "treino %d, tempo %d" +msgid "Occupied ground" +msgstr "Terreno ocupado" -msgid "free slot" -msgstr "pista livre" +msgid "Ogg" +msgstr "Ogg" -#, c-format -msgid "Lost if less than %d Blupi" -msgstr "Perder se tiver menos do que %d Blupi" +msgid "Open another game" +msgstr "Abrir outro jogo" -#, c-format -msgid "Impossible to win if less than %d Blupi" -msgstr "Impossivel vencer se tiver menos que %d Blupi" +msgid "Opposite bank no good" +msgstr "Margem oposta ruim" -msgid "Training number" -msgstr "Treino numero" +msgid "Palisade" +msgstr "Barreira" -msgid "Mission number" -msgstr "Missao numero" +msgid "Paving stones" +msgstr "Pavimento de pedra" -msgid "Construction number" -msgstr "Projeto numero" +msgid "Planet Blupi" +msgstr "Planet Blupi" -msgid "Help number" -msgstr "Ajuda numero" +msgid "Planet Blupi -- stop" +msgstr "Planet Blupi -- parar" -msgid "Easy" -msgstr "Facil" +msgid "Planks" +msgstr "Madeiras" -msgid "Difficult" -msgstr "Dificil" +msgid "Planks on striped paving stones" +msgstr "Madeira no pavimento de pedra" -msgid "You have failed, try again..." -msgstr "Você falhou, tente novamente..." +msgid "Platinium" +msgstr "Platina" -msgid "No, wrong way ..." -msgstr "Caminho errado ..." +msgid "Platinium on striped paving stones" +msgstr "Platina no pavimento de pedra" -msgid "Bang, failed again !" -msgstr "Puxa, falhou novamente !" +msgid "Play this game" +msgstr "Jogar este jogo" -msgid "Another mistake..." -msgstr "Outro erro..." +msgid "Poison" +msgstr "Veneno" -msgid "No, not that way !" -msgstr "Caminho errado !" +msgid "Prairie" +msgstr "Campina" -msgid "Well done !" -msgstr "Muito bem !" +msgid "Previous game" +msgstr "Jogo anterior" -msgid "Yes, great ..." -msgstr "Sim, perfeito ..." +msgid "Previous language" +msgstr "" -msgid "Very good." -msgstr "Muito bom." +msgid "Previous page" +msgstr "Pagina anterior" -msgid "Excellent..." -msgstr "Excelente..." +msgid "Prospect for iron" +msgstr "Procurar por ferro" -msgid "Mission over..." -msgstr "Missao completada..." +msgid "Protection tower" +msgstr "Torre" -msgid "Now go on mission." -msgstr "Agora continue a missao." +msgid "Quit" +msgstr "Sair" -msgid "Very good, success on all missions !" -msgstr "Muito bom, sucesso em todas as missoes !" +msgid "Quit Planet Blupi" +msgstr "Sair do Planeta Blupi" -msgid "Last construction resolved !" -msgstr "Ultima construção resolvida !" +msgid "Quit construction" +msgstr "Encerrar projeto" -msgid "" -"Global game\n" -"speed" -msgstr "Velocidade" +msgid "Quit this game" +msgstr "Encerrar este jogo" -msgid "" -"Scroll speed\n" -"with mouse" -msgstr "" -"Velocidade de Rolagem\n" -"com mouse" +msgid "REC" +msgstr "REC" -msgid "" -"Sound effect\n" -"volume" -msgstr "" -"Efeitos de som\n" -"Volume" +msgid "Reduce volume" +msgstr "Diminuir Volume" -msgid "" -"Music\n" -"volume" +msgid "Reduce window size" msgstr "" -"Musica\n" -"Volume" -msgid "" -"Video\n" -"sequences" -msgstr "" -"Video\n" -"Sequencia" +msgid "Repeat" +msgstr "Repetir" -msgid "No" -msgstr "Nao" +msgid "Restart this game" +msgstr "Reiniciar este jogo" -msgid "Yes" -msgstr "Sim" +msgid "Robot on striped paving stones" +msgstr "Robo no pavimento de pedra" -msgid "None" -msgstr "Nenhum" +msgid "Rocks" +msgstr "Rochas" -msgid "" -"Interface language\n" -"and sounds" -msgstr "" +msgid "S" +msgstr "S" -msgid "" -"Select the\n" -"window mode" -msgstr "" +msgid "Save" +msgstr "Salvar" -msgid "" -"Change the\n" -"display mode" -msgstr "" +msgid "Save this game" +msgstr "Salvar este jogo" -msgid "" -"Change the\n" -"window size" -msgstr "" +msgid "Scenery choice" +msgstr "Cenario escolhido" msgid "" -"Choose the\n" -"music format" +"Scroll speed\n" +"with mouse" msgstr "" +"Velocidade de\n" +"Rolagem com mouse" msgid "" -"Change the\n" -"render quality" +"Select the\n" +"window mode" msgstr "" -msgid "Legacy" -msgstr "" +msgid "Settings" +msgstr "Ajustes" -msgid "Desktop" -msgstr "" +msgid "Show videos" +msgstr "Mostrar Video" -msgid "Midi" -msgstr "Midi" +msgid "Sick Blupi" +msgstr "Blupi doente" -msgid "Ogg" -msgstr "Ogg" +msgid "Skill level" +msgstr "Dificuldade" -msgid "Anti-aliasing" -msgstr "" +msgid "Slower" +msgstr "Mais devagar" -msgid "Aliasing" +msgid "" +"Sound effect\n" +"volume" msgstr "" +"Efeitos de som\n" +"Volume" -msgid "Not available" -msgstr "" +msgid "Special pavings" +msgstr "Pavimento Especial" -msgid "You have played Planet Blupi." -msgstr "Você jogou o Planeta Blupi." +msgid "Spider" +msgstr "Aranha" -msgid "We hope you have had as much fun playing the game as we had making it !" -msgstr "Esperamos que você tenha se divertido com este super jogo !" +msgid "Starting fire" +msgstr "Iniciar fogo" -msgid "This game uses statically linked free and open-source libraries:" -msgstr "" +msgid "Sterile ground" +msgstr "Terreno sem vida" -msgid " - argagg (MIT)" -msgstr " - argagg (MIT)" +msgid "Sticky trap" +msgstr "Armadilha pegajosa" -msgid " - FFmpeg (LGPLv2.1)" -msgstr " - FFmpeg (LGPLv2.1)" +msgid "Stones" +msgstr "Pedras" -msgid " - GNU/gettext and GNU/libiconv (GPLv3)" -msgstr "" +msgid "Stop" +msgstr "Parar" -msgid " - libasound (LGPLv2.1)" -msgstr " - libasound (LGPLv2.1)" +msgid "Striped paving stones" +msgstr "Terreno de pedras" -msgid " - libcurl (MIT/X derivate)" -msgstr "" +msgid "Take" +msgstr "Pegar" -msgid " - libogg and libvorbis (own license)" +msgid "Teleporter" +msgstr "Teletransportador" + +msgid "This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" msgstr "" -msgid " - libpng (own license)" +msgid "This game uses statically linked free and open-source libraries:" msgstr "" -msgid " - libpulse (LGPLv2.1)" -msgstr " - libpulse (LGPLv2.1)" +msgid "Time bomb" +msgstr "Bomba" -msgid " - libsndfile (LGPLv3)" -msgstr " - libsndfile (LGPLv3)" +msgid "Tired Blupi" +msgstr "Blupi cansado" -msgid " - SDL_kitchensink (MIT)" -msgstr " - SDL_kitchensink (MIT)" +msgid "Tomatoes" +msgstr "Tomates" -msgid " - SDL2, SDL2_image and SDL2_mixer (zlib license)" -msgstr "" +msgid "Tomatoes on striped paving stones" +msgstr "Tomates no pavimento de pedra" -msgid " - zlib (own license)" -msgstr "" +msgid "Too close to water" +msgstr "Muito perto da agua" -msgid "All licenses are available under share/doc/planetblupi/copyright" -msgstr "" +msgid "Training" +msgstr "Treino" -msgid "This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" -msgstr "" +msgid "Training number" +msgstr "Treino numero" -msgid "http://www.blupi.org info@blupi.org" -msgstr "http://www.blupi.org info@blupi.org" +msgid "Transform" +msgstr "Transformar" -msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." -msgstr "Insira o CD-Rom Planeta Blupi e aguarde alguns segundos..." +msgid "Transport" +msgstr "Transporte" -msgid "Blupi's energy" -msgstr "Energia do Blupi" +msgid "Trapped enemy" +msgstr "Prender inimigos" -msgid "Work done" -msgstr "Trabalho Feito" +msgid "Tree" +msgstr "Planta" -msgid "1|Goal :" -msgstr "1|Objetivo :" +msgid "Tree trunks" +msgstr "Tronco de Planta" -msgid "" -"1|Kill all\n" -"1|enemies !" +msgid "Use Midi music (original)" msgstr "" -"1|Matar todos os\n" -"1|inimigos !" -msgid "" -"1|Go on striped\n" -"1|paving stones." +msgid "Use Ogg music" msgstr "" -"1|Ir para\n" -"1| pavimento de pedra." -msgid "" -"1|Drop planks on striped \n" -"1|paving stones." +msgid "Version" msgstr "" -"1|Largar madeira no \n" -"1|pavimento de pedra." -msgid "" -"1|Drop tomatoes on striped \n" -"1|paving stones." -msgstr "" -"1|Largar tomates no \n" -"1|pavimento de pedra." +msgid "Very good, success on all missions !" +msgstr "Muito bom, sucesso em todas as missoes !" -msgid "" -"1|Drop platinium on striped \n" -"1|paving stones." -msgstr "" -"1|Largar a platina no \n" -"1|pavimento de pedra." +msgid "Very good." +msgstr "Muito bom." msgid "" -"1|The robot must reach\n" -"1|the striped paving stones." +"Video\n" +"sequences" msgstr "" -"1|O robo deve atingir\n" -"1|o pavimento de pedra." +"Video\n" +"Sequencia" -msgid "" -"1|Each Blupi in\n" -"1|his house." -msgstr "" -"1|Cada Blupi na\n" -"1|sua casa." +msgid "Virus" +msgstr "Virus" -msgid "" -"1|Resist until\n" -"1|fire extinction ..." -msgstr "" -"1|Resistir até\n" -"1|fogo acabar..." +msgid "W" +msgstr "O" -#, c-format -msgid "" -"1|The Blupi population must\n" -"1|be of at least %d Blupi." -msgstr "" -"1|A população Blupi deve\n" -"1|ser de pelo menos %d \n" -"1|Blupi." +msgid "Wall" +msgstr "Parede" -msgid "Leave Jeep" -msgstr "Deixar o Jeep" +msgid "Wall or palisade" +msgstr "Parede ou Barreira" -msgid "Quit" -msgstr "Sair" +msgid "Water" +msgstr "Agua" -msgid "Impossible" -msgstr "Impossivel" +msgid "We hope you have had as much fun playing the game as we had making it !" +msgstr "Esperamos que você tenha se divertido com este super jogo !" -msgid "Inadequate ground" -msgstr "Terreno inadequado" +msgid "Weapons" +msgstr "Armas" -msgid "Occupied ground" -msgstr "Terreno ocupado" +msgid "Well done !" +msgstr "Muito bem !" -msgid "Opposite bank no good" -msgstr "Margem oposta ruim" +msgid "Windowed" +msgstr "" -msgid "Bridge finished" -msgstr "Ponte terminada" +msgid "Work done" +msgstr "Trabalho Feito" -msgid "(isolated tower)" -msgstr "(torre isolada)" +msgid "Workshop" +msgstr "Oficina" -msgid "Too close to water" -msgstr "Muito perto da agua" +msgid "Yes" +msgstr "Sim" -msgid "Already two teleporters" -msgstr "Dois teletransportadores" +msgid "Yes, great ..." +msgstr "Sim, perfeito ..." -msgid "Not enough energy" -msgstr "" +msgid "You have failed, try again..." +msgstr "Você falhou, tente novamente..." + +msgid "You have played Planet Blupi." +msgstr "Você jogou o Planeta Blupi." + +#, c-format +msgid "construction %d, time %d" +msgstr "Projeto %d, tempo %d" msgid "en" msgstr "pt" + +msgid "free slot" +msgstr "pista livre" + +msgid "http://www.blupi.org info@blupi.org" +msgstr "http://www.blupi.org info@blupi.org" + +#, c-format +msgid "mission %d, time %d" +msgstr "missao %d, tempo %d" + +#, c-format +msgid "training %d, time %d" +msgstr "treino %d, tempo %d" -- cgit v1.2.3 From 8db4e141ef8b6636b943bd351774431f01925bcf Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 25 Jan 2019 23:44:24 +0100 Subject: Add in-game Portuguese support --- src/event.cxx | 10 ++++++++++ src/event.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/event.cxx b/src/event.cxx index bdba60f..cf2a8ab 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -1685,6 +1685,7 @@ CEvent::CEvent () m_Languages.push_back (Language::it); m_Languages.push_back (Language::pl); m_Languages.push_back (Language::tr); + m_Languages.push_back (Language::pt); this->m_LangStart = GetLocale (); @@ -1700,6 +1701,8 @@ CEvent::CEvent () m_Lang = m_Languages.begin () + 5; else if (this->m_LangStart == "tr") m_Lang = m_Languages.begin () + 6; + else if (this->m_LangStart == "pt") + m_Lang = m_Languages.begin () + 7; else m_Lang = m_Languages.begin (); @@ -2715,6 +2718,8 @@ CEvent::DrawButtons () lang = "Polski"; else if (locale == "tr") lang = "Türk"; + else if (locale == "pt") + lang = "Portuguese"; lg = GetTextWidth (lang.c_str ()); pos.x = (54 + 40) - lg / 2 + LXOFFSET (); @@ -4083,6 +4088,8 @@ CEvent::GetStartLanguage () return Language::pl; if (this->m_LangStart == "tr") return Language::tr; + if (this->m_LangStart == "pt") + return Language::pt; return Language::en; } @@ -4126,6 +4133,9 @@ CEvent::SetLanguage (Language lang) case Language::tr: slang = "tr"; break; + case Language::pt: + slang = "pt"; + break; } snprintf (env, sizeof (env), "LANGUAGE=%s", slang); diff --git a/src/event.h b/src/event.h index 97b4f94..26abb23 100644 --- a/src/event.h +++ b/src/event.h @@ -86,6 +86,7 @@ enum class Language { it = 4, pl = 5, tr = 6, + pt = 7, end, }; -- cgit v1.2.3 From 25e2bee262f58ec9155abdc3247767a560fe449f Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 13:26:45 +0100 Subject: Fix typo (thanks to punctdan) --- src/event.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/event.cxx b/src/event.cxx index cf2a8ab..16cc979 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2717,7 +2717,7 @@ CEvent::DrawButtons () else if (locale == "pl") lang = "Polski"; else if (locale == "tr") - lang = "Türk"; + lang = "Türkçe"; else if (locale == "pt") lang = "Portuguese"; -- cgit v1.2.3 From 24e891bcd3669129ba122b80738cc09aeff73e9f Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 13:55:53 +0100 Subject: Add README for Blupi voices --- README.voices.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 README.voices.md diff --git a/README.voices.md b/README.voices.md new file mode 100644 index 0000000..b36c82e --- /dev/null +++ b/README.voices.md @@ -0,0 +1,40 @@ +# Blupi voices + +| File | en | en_US | fr | pl (proposal) | +| ------------- | --------------------- | ----------------------- | ----------------------- | --------------------- | +| sound002 | Yes? | Yes? | Oui ? | Tak? | +| sound003 | Hi! | Hi! | Ohé | Cześć! | +| sound004 | Master? | Yes Master! | Maître ? | Tak szefie? | +| sound005 | It won't be long | Okay | D'accord ! | Okej | +| sound006 | Let's go! | Let's go! | J'y vais | Idziemy! | +| sound007 | Just a sec | Just a sec | Un instant | Chwilunia | +| sound008 | There you are | There you are | Et voilà | I gotowe | +| sound009 | Done that | All done | J'y suis | Wszystko zrobione | +| sound010 | Finish! | Finished! | Terminé | Już! | +| sound014 | Hop! | Ha! | Hop! | Hop! | +| sound017 | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Ałłłć! | +| sound018 | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff... [hennnn...] | Fiu...[pssst...] | +| sound019 | Yummy-yummy | Yumm-yumm | Miam-miam | Mniam-mniam | +| sound027 | A-tissue! | A-chu! | A-tchou | A-psik! | +| sound033 | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala ♪♫ | TROLOLOLOLO... ♪♫ | +| sound037 | Au-aaa...! | AAAAa! | Aie | Ajjj! | +| sound056 | I can't do that | I can't do it | J'y arrive pas | Nie mogę tego zrobić | +| sound057 | Impossible | Impossible | Impossible | Niemożliwe | +| sound058 | Oh no | No way | Mais non | Nie ma mowy | +| sound059 | What's the news? | What do you want? | C'est à quel sujet ? | W czym mogę pomóc? | +| sound060 | Hello boss | Hey boss | A vos ordres ! | Cześć szefie! | +| sound061 | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Co tam? | +| sound062 | Not again | Not again | Ouaip ! | Tylko nie to | +| sound063 | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Przepraszam? | +| sound064 | Now what? | Now what? | Quoi encore ! | I co teraz? | +| sound065 | I'm fed up | I'm fed up | Ca suffit maint'nant. | Mam już dosyć | +| sound066 | Leave me alone | Leave me alone | Laissez-moi tranquille. | Zostaw mnie w spokoju | +| sound067 | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | Denerwujesz mnie | +| [sound068](1) | You're the boss | You're the boss | C'est vous l'patron | Ty jesteś tu szefem | +| [sound069](1) | Why not? | Why not? | C'est d'accord | Czemu nie? | +| [sound070](1) | Right! | Alright! | Entendu | Jasne! | +| sound071 | It's done | It's done | C'est fait | Zrobione | +| sound072 | It's finished | It's finished | C'est fini | Skończone | +| sound073 | I've finished | I've finished | J'ai fini | Skończyłem | + +[1]: if multiple selection -- cgit v1.2.3 From c71aac674d70ee2e5bbf83961d16152ec92e9c46 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 13:58:53 +0100 Subject: Use footnotes --- README.voices.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.voices.md b/README.voices.md index b36c82e..1d0d6bb 100644 --- a/README.voices.md +++ b/README.voices.md @@ -30,11 +30,11 @@ | sound065 | I'm fed up | I'm fed up | Ca suffit maint'nant. | Mam już dosyć | | sound066 | Leave me alone | Leave me alone | Laissez-moi tranquille. | Zostaw mnie w spokoju | | sound067 | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | Denerwujesz mnie | -| [sound068](1) | You're the boss | You're the boss | C'est vous l'patron | Ty jesteś tu szefem | -| [sound069](1) | Why not? | Why not? | C'est d'accord | Czemu nie? | -| [sound070](1) | Right! | Alright! | Entendu | Jasne! | +| sound068 [^1] | You're the boss | You're the boss | C'est vous l'patron | Ty jesteś tu szefem | +| sound069 [^1] | Why not? | Why not? | C'est d'accord | Czemu nie? | +| sound070 [^1] | Right! | Alright! | Entendu | Jasne! | | sound071 | It's done | It's done | C'est fait | Zrobione | | sound072 | It's finished | It's finished | C'est fini | Skończone | | sound073 | I've finished | I've finished | J'ai fini | Skończyłem | -[1]: if multiple selection +[^1]: if multiple selection -- cgit v1.2.3 From f07e786cb251c7c81fe34f4d4c681a3d4fa903da Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 14:15:11 +0100 Subject: Add context for the voices --- README.voices.md | 74 +++++++++++++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/README.voices.md b/README.voices.md index 1d0d6bb..184b040 100644 --- a/README.voices.md +++ b/README.voices.md @@ -1,40 +1,38 @@ # Blupi voices -| File | en | en_US | fr | pl (proposal) | -| ------------- | --------------------- | ----------------------- | ----------------------- | --------------------- | -| sound002 | Yes? | Yes? | Oui ? | Tak? | -| sound003 | Hi! | Hi! | Ohé | Cześć! | -| sound004 | Master? | Yes Master! | Maître ? | Tak szefie? | -| sound005 | It won't be long | Okay | D'accord ! | Okej | -| sound006 | Let's go! | Let's go! | J'y vais | Idziemy! | -| sound007 | Just a sec | Just a sec | Un instant | Chwilunia | -| sound008 | There you are | There you are | Et voilà | I gotowe | -| sound009 | Done that | All done | J'y suis | Wszystko zrobione | -| sound010 | Finish! | Finished! | Terminé | Już! | -| sound014 | Hop! | Ha! | Hop! | Hop! | -| sound017 | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Ałłłć! | -| sound018 | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff... [hennnn...] | Fiu...[pssst...] | -| sound019 | Yummy-yummy | Yumm-yumm | Miam-miam | Mniam-mniam | -| sound027 | A-tissue! | A-chu! | A-tchou | A-psik! | -| sound033 | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala ♪♫ | TROLOLOLOLO... ♪♫ | -| sound037 | Au-aaa...! | AAAAa! | Aie | Ajjj! | -| sound056 | I can't do that | I can't do it | J'y arrive pas | Nie mogę tego zrobić | -| sound057 | Impossible | Impossible | Impossible | Niemożliwe | -| sound058 | Oh no | No way | Mais non | Nie ma mowy | -| sound059 | What's the news? | What do you want? | C'est à quel sujet ? | W czym mogę pomóc? | -| sound060 | Hello boss | Hey boss | A vos ordres ! | Cześć szefie! | -| sound061 | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Co tam? | -| sound062 | Not again | Not again | Ouaip ! | Tylko nie to | -| sound063 | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Przepraszam? | -| sound064 | Now what? | Now what? | Quoi encore ! | I co teraz? | -| sound065 | I'm fed up | I'm fed up | Ca suffit maint'nant. | Mam już dosyć | -| sound066 | Leave me alone | Leave me alone | Laissez-moi tranquille. | Zostaw mnie w spokoju | -| sound067 | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | Denerwujesz mnie | -| sound068 [^1] | You're the boss | You're the boss | C'est vous l'patron | Ty jesteś tu szefem | -| sound069 [^1] | Why not? | Why not? | C'est d'accord | Czemu nie? | -| sound070 [^1] | Right! | Alright! | Entendu | Jasne! | -| sound071 | It's done | It's done | C'est fait | Zrobione | -| sound072 | It's finished | It's finished | C'est fini | Skończone | -| sound073 | I've finished | I've finished | J'ai fini | Skończyłem | - -[^1]: if multiple selection +| File | Context | en | en_US | fr | pl (proposal) | +| -------- | ---------------------------------- | --------------------- | ----------------------- | ----------------------- | --------------------- | +| sound056 | Blupi can't do what is asked for | I can't do that | I can't do it | J'y arrive pas | Nie mogę tego zrobić | +| sound057 | " | Impossible | Impossible | Impossible | Niemożliwe | +| sound058 | " | Oh no | No way | Mais non | Nie ma mowy | +| sound002 | Blupi is selected | Yes? | Yes? | Oui ? | Tak? | +| sound003 | " | Hi! | Hi! | Ohé | Cześć! | +| sound004 | " | Master? | Yes Master! | Maître ? | Tak szefie? | +| sound059 | " | What's the news? | What do you want? | C'est à quel sujet ? | W czym mogę pomóc? | +| sound060 | " | Hello boss | Hey boss | A vos ordres ! | Cześć szefie! | +| sound061 | " | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Co tam? | +| sound062 | Blupi is selected when he is tired | Not again | Not again | Ouaip ! | Tylko nie to | +| sound063 | " | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Przepraszam? | +| sound064 | " | Now what? | Now what? | Quoi encore ! | I co teraz? | +| sound065 | Blupi is selected too many times | I'm fed up | I'm fed up | Ca suffit maint'nant. | Mam już dosyć | +| sound066 | " | Leave me alone | Leave me alone | Laissez-moi tranquille. | Zostaw mnie w spokoju | +| sound067 | " | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | Denerwujesz mnie | +| sound005 | Blupi begins an action | It won't be long | Okay | D'accord ! | Okej | +| sound006 | " | Let's go! | Let's go! | J'y vais | Idziemy! | +| sound007 | " | Just a sec | Just a sec | Un instant | Chwilunia | +| sound068 | " ... if multiple selection | You're the boss | You're the boss | C'est vous l'patron | Ty jesteś tu szefem | +| sound069 | " ... " | Why not? | Why not? | C'est d'accord | Czemu nie? | +| sound070 | " ... " | Right! | Alright! | Entendu | Jasne! | +| sound008 | Blupi has finished an action | There you are | There you are | Et voilà | I gotowe | +| sound009 | " | Done that | All done | J'y suis | Wszystko zrobione | +| sound010 | " | Finish! | Finished! | Terminé | Już! | +| sound071 | " | It's done | It's done | C'est fait | Zrobione | +| sound072 | " | It's finished | It's finished | C'est fini | Skończone | +| sound073 | " | I've finished | I've finished | J'ai fini | Skończyłem | +| sound014 | Blupi takes his momentum to jump | Hop! | Ha! | Hop! | Hop! | +| sound017 | Blupi is burning | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Ałłłć! | +| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff... [hennnn...] | Fiu...[pssst...] | +| sound019 | Blupi eats tomatoes | Yummy-yummy | Yumm-yumm | Miam-miam | Mniam-mniam | +| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou | A-psik! | +| sound033 | Blupi picks flowers | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala ♪♫ | TROLOLOLOLO... ♪♫ | +| sound037 | Blupi is crushed by a bulldozer | Au-aaa...! | AAAAa! | Aie | Ajjj! | -- cgit v1.2.3 From b36e2419d56e903151572ad3cba271b4cad689b3 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 14:36:20 +0100 Subject: Try to complete with the german voices --- README.voices.md | 72 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/README.voices.md b/README.voices.md index 184b040..98c2479 100644 --- a/README.voices.md +++ b/README.voices.md @@ -1,38 +1,38 @@ # Blupi voices -| File | Context | en | en_US | fr | pl (proposal) | -| -------- | ---------------------------------- | --------------------- | ----------------------- | ----------------------- | --------------------- | -| sound056 | Blupi can't do what is asked for | I can't do that | I can't do it | J'y arrive pas | Nie mogę tego zrobić | -| sound057 | " | Impossible | Impossible | Impossible | Niemożliwe | -| sound058 | " | Oh no | No way | Mais non | Nie ma mowy | -| sound002 | Blupi is selected | Yes? | Yes? | Oui ? | Tak? | -| sound003 | " | Hi! | Hi! | Ohé | Cześć! | -| sound004 | " | Master? | Yes Master! | Maître ? | Tak szefie? | -| sound059 | " | What's the news? | What do you want? | C'est à quel sujet ? | W czym mogę pomóc? | -| sound060 | " | Hello boss | Hey boss | A vos ordres ! | Cześć szefie! | -| sound061 | " | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Co tam? | -| sound062 | Blupi is selected when he is tired | Not again | Not again | Ouaip ! | Tylko nie to | -| sound063 | " | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Przepraszam? | -| sound064 | " | Now what? | Now what? | Quoi encore ! | I co teraz? | -| sound065 | Blupi is selected too many times | I'm fed up | I'm fed up | Ca suffit maint'nant. | Mam już dosyć | -| sound066 | " | Leave me alone | Leave me alone | Laissez-moi tranquille. | Zostaw mnie w spokoju | -| sound067 | " | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | Denerwujesz mnie | -| sound005 | Blupi begins an action | It won't be long | Okay | D'accord ! | Okej | -| sound006 | " | Let's go! | Let's go! | J'y vais | Idziemy! | -| sound007 | " | Just a sec | Just a sec | Un instant | Chwilunia | -| sound068 | " ... if multiple selection | You're the boss | You're the boss | C'est vous l'patron | Ty jesteś tu szefem | -| sound069 | " ... " | Why not? | Why not? | C'est d'accord | Czemu nie? | -| sound070 | " ... " | Right! | Alright! | Entendu | Jasne! | -| sound008 | Blupi has finished an action | There you are | There you are | Et voilà | I gotowe | -| sound009 | " | Done that | All done | J'y suis | Wszystko zrobione | -| sound010 | " | Finish! | Finished! | Terminé | Już! | -| sound071 | " | It's done | It's done | C'est fait | Zrobione | -| sound072 | " | It's finished | It's finished | C'est fini | Skończone | -| sound073 | " | I've finished | I've finished | J'ai fini | Skończyłem | -| sound014 | Blupi takes his momentum to jump | Hop! | Ha! | Hop! | Hop! | -| sound017 | Blupi is burning | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Ałłłć! | -| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff... [hennnn...] | Fiu...[pssst...] | -| sound019 | Blupi eats tomatoes | Yummy-yummy | Yumm-yumm | Miam-miam | Mniam-mniam | -| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou | A-psik! | -| sound033 | Blupi picks flowers | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala ♪♫ | TROLOLOLOLO... ♪♫ | -| sound037 | Blupi is crushed by a bulldozer | Au-aaa...! | AAAAa! | Aie | Ajjj! | +| File | Context | en | en_US | fr | de | pl (proposal) | +| -------- | ---------------------------------- | --------------------- | ----------------------- | ----------------------- | ------------------- | --------------------- | +| sound056 | Blupi can't do what is asked for | I can't do that | I can't do it | J'y arrive pas | **?** | Nie mogę tego zrobić | +| sound057 | " | Impossible | Impossible | Impossible | **?** | Niemożliwe | +| sound058 | " | Oh no | No way | Mais non | Nein nein | Nie ma mowy | +| sound002 | Blupi is selected | Yes? | Yes? | Oui ? | Ja? | Tak? | +| sound003 | " | Hi! | Hi! | Ohé | **?** | Cześć! | +| sound004 | " | Master? | Yes Master! | Maître ? | Meister? | Tak szefie? | +| sound059 | " | What's the news? | What do you want? | C'est à quel sujet ? | **?** | W czym mogę pomóc? | +| sound060 | " | Hello boss | Hey boss | A vos ordres ! | **?** | Cześć szefie! | +| sound061 | " | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Was ist los? | Co tam? | +| sound062 | Blupi is selected when he is tired | Not again | Not again | Ouaip ! | **?** | Tylko nie to | +| sound063 | " | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Was ist los?! | Przepraszam? | +| sound064 | " | Now what? | Now what? | Quoi encore ! | Jaa! | I co teraz? | +| sound065 | Blupi is selected too many times | I'm fed up | I'm fed up | Ca suffit maint'nant. | **?** | Mam już dosyć | +| sound066 | " | Leave me alone | Leave me alone | Laissez-moi tranquille. | **?** | Zostaw mnie w spokoju | +| sound067 | " | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | **?** | Denerwujesz mnie | +| sound005 | Blupi begins an action | It won't be long | Okay | D'accord ! | Okay | Okej | +| sound006 | " | Let's go! | Let's go! | J'y vais | **?** | Idziemy! | +| sound007 | " | Just a sec | Just a sec | Un instant | **?** | Chwilunia | +| sound068 | " ... if multiple selection | You're the boss | You're the boss | C'est vous l'patron | In Ordnung | Ty jesteś tu szefem | +| sound069 | " ... " | Why not? | Why not? | C'est d'accord | Alles klar | Czemu nie? | +| sound070 | " ... " | Right! | Alright! | Entendu | **?** | Jasne! | +| sound008 | Blupi has finished an action | There you are | There you are | Et voilà | **?** | I gotowe | +| sound009 | " | Done that | All done | J'y suis | Fertig | Wszystko zrobione | +| sound010 | " | Finish! | Finished! | Terminé | Ich bin fertig | Już! | +| sound071 | " | It's done | It's done | C'est fait | **?** | Zrobione | +| sound072 | " | It's finished | It's finished | C'est fini | Fertig | Skończone | +| sound073 | " | I've finished | I've finished | J'ai fini | Ich bin fertig | Skończyłem | +| sound014 | Blupi takes his momentum to jump | Hop! | Ha! | Hop! | Hop! | Hop! | +| sound017 | Blupi is burning | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Aouaah-aouahh | Ałłłć! | +| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff... [hennnn...] | Pffouuuu... | Fiu...[pssst...] | +| sound019 | Blupi eats tomatoes | Yummy-yummy | Yumm-yumm | Miam-miam | Miam-miam | Mniam-mniam | +| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou | A-tchi | A-psik! | +| sound033 | Blupi picks flowers | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala... ♪♫ | Laa-lalalalaa... ♪♫ | TROLOLOLOLO... ♪♫ | +| sound037 | Blupi is crushed by a bulldozer | Au-aaa...! | AAAAa! | Aie | Aouuuu...! | Ajjj! | -- cgit v1.2.3 From 5cd6037511b1cd032c54429d5b5fcb14ac235cb6 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 14:38:54 +0100 Subject: Update README for voices --- README.voices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.voices.md b/README.voices.md index 98c2479..91c0442 100644 --- a/README.voices.md +++ b/README.voices.md @@ -31,8 +31,8 @@ | sound073 | " | I've finished | I've finished | J'ai fini | Ich bin fertig | Skończyłem | | sound014 | Blupi takes his momentum to jump | Hop! | Ha! | Hop! | Hop! | Hop! | | sound017 | Blupi is burning | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Aouaah-aouahh | Ałłłć! | -| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff... [hennnn...] | Pffouuuu... | Fiu...[pssst...] | +| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff...[hennnn...] | Pffouuuu... | Fiu...[pssst...] | | sound019 | Blupi eats tomatoes | Yummy-yummy | Yumm-yumm | Miam-miam | Miam-miam | Mniam-mniam | -| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou | A-tchi | A-psik! | +| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou! | A-tchi! | A-psik! | | sound033 | Blupi picks flowers | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala... ♪♫ | Laa-lalalalaa... ♪♫ | TROLOLOLOLO... ♪♫ | | sound037 | Blupi is crushed by a bulldozer | Au-aaa...! | AAAAa! | Aie | Aouuuu...! | Ajjj! | -- cgit v1.2.3 From f8813bd1e6f6580106afd5466ed96d26c96457cd Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 14:46:49 +0100 Subject: Add It entry --- README.voices.md | 72 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/README.voices.md b/README.voices.md index 91c0442..bba64d6 100644 --- a/README.voices.md +++ b/README.voices.md @@ -1,38 +1,38 @@ # Blupi voices -| File | Context | en | en_US | fr | de | pl (proposal) | -| -------- | ---------------------------------- | --------------------- | ----------------------- | ----------------------- | ------------------- | --------------------- | -| sound056 | Blupi can't do what is asked for | I can't do that | I can't do it | J'y arrive pas | **?** | Nie mogę tego zrobić | -| sound057 | " | Impossible | Impossible | Impossible | **?** | Niemożliwe | -| sound058 | " | Oh no | No way | Mais non | Nein nein | Nie ma mowy | -| sound002 | Blupi is selected | Yes? | Yes? | Oui ? | Ja? | Tak? | -| sound003 | " | Hi! | Hi! | Ohé | **?** | Cześć! | -| sound004 | " | Master? | Yes Master! | Maître ? | Meister? | Tak szefie? | -| sound059 | " | What's the news? | What do you want? | C'est à quel sujet ? | **?** | W czym mogę pomóc? | -| sound060 | " | Hello boss | Hey boss | A vos ordres ! | **?** | Cześć szefie! | -| sound061 | " | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Was ist los? | Co tam? | -| sound062 | Blupi is selected when he is tired | Not again | Not again | Ouaip ! | **?** | Tylko nie to | -| sound063 | " | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Was ist los?! | Przepraszam? | -| sound064 | " | Now what? | Now what? | Quoi encore ! | Jaa! | I co teraz? | -| sound065 | Blupi is selected too many times | I'm fed up | I'm fed up | Ca suffit maint'nant. | **?** | Mam już dosyć | -| sound066 | " | Leave me alone | Leave me alone | Laissez-moi tranquille. | **?** | Zostaw mnie w spokoju | -| sound067 | " | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | **?** | Denerwujesz mnie | -| sound005 | Blupi begins an action | It won't be long | Okay | D'accord ! | Okay | Okej | -| sound006 | " | Let's go! | Let's go! | J'y vais | **?** | Idziemy! | -| sound007 | " | Just a sec | Just a sec | Un instant | **?** | Chwilunia | -| sound068 | " ... if multiple selection | You're the boss | You're the boss | C'est vous l'patron | In Ordnung | Ty jesteś tu szefem | -| sound069 | " ... " | Why not? | Why not? | C'est d'accord | Alles klar | Czemu nie? | -| sound070 | " ... " | Right! | Alright! | Entendu | **?** | Jasne! | -| sound008 | Blupi has finished an action | There you are | There you are | Et voilà | **?** | I gotowe | -| sound009 | " | Done that | All done | J'y suis | Fertig | Wszystko zrobione | -| sound010 | " | Finish! | Finished! | Terminé | Ich bin fertig | Już! | -| sound071 | " | It's done | It's done | C'est fait | **?** | Zrobione | -| sound072 | " | It's finished | It's finished | C'est fini | Fertig | Skończone | -| sound073 | " | I've finished | I've finished | J'ai fini | Ich bin fertig | Skończyłem | -| sound014 | Blupi takes his momentum to jump | Hop! | Ha! | Hop! | Hop! | Hop! | -| sound017 | Blupi is burning | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Aouaah-aouahh | Ałłłć! | -| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff...[hennnn...] | Pffouuuu... | Fiu...[pssst...] | -| sound019 | Blupi eats tomatoes | Yummy-yummy | Yumm-yumm | Miam-miam | Miam-miam | Mniam-mniam | -| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou! | A-tchi! | A-psik! | -| sound033 | Blupi picks flowers | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala... ♪♫ | Laa-lalalalaa... ♪♫ | TROLOLOLOLO... ♪♫ | -| sound037 | Blupi is crushed by a bulldozer | Au-aaa...! | AAAAa! | Aie | Aouuuu...! | Ajjj! | +| File | Context | en | en_US | fr | de | it | pl (proposal) | +| -------- | ---------------------------------- | --------------------- | ----------------------- | ----------------------- | ------------------- | ----------------- | --------------------- | +| sound056 | Blupi can't do what is asked for | I can't do that | I can't do it | J'y arrive pas | **?** | **?** | Nie mogę tego zrobić | +| sound057 | " | Impossible | Impossible | Impossible | **?** | **?** | Niemożliwe | +| sound058 | " | Oh no | No way | Mais non | Nein nein | **?** | Nie ma mowy | +| sound002 | Blupi is selected | Yes? | Yes? | Oui ? | Ja? | Si? | Tak? | +| sound003 | " | Hi! | Hi! | Ohé | **?** | **?** | Cześć! | +| sound004 | " | Master? | Yes Master! | Maître ? | Meister? | **?** | Tak szefie? | +| sound059 | " | What's the news? | What do you want? | C'est à quel sujet ? | **?** | **?** | W czym mogę pomóc? | +| sound060 | " | Hello boss | Hey boss | A vos ordres ! | **?** | **?** | Cześć szefie! | +| sound061 | " | What's up? | What's up? | Qu'est-ce qu'y y'a ? | Was ist los? | **?** | Co tam? | +| sound062 | Blupi is selected when he is tired | Not again | Not again | Ouaip ! | **?** | **?** | Tylko nie to | +| sound063 | " | I beg your pardon? | Pardon me? | J'vous demande pardon ? | Was ist los?! | **?** | Przepraszam? | +| sound064 | " | Now what? | Now what? | Quoi encore ! | Jaa! | **?** | I co teraz? | +| sound065 | Blupi is selected too many times | I'm fed up | I'm fed up | Ca suffit maint'nant. | **?** | **?** | Mam już dosyć | +| sound066 | " | Leave me alone | Leave me alone | Laissez-moi tranquille. | **?** | **?** | Zostaw mnie w spokoju | +| sound067 | " | You're driving me mad | You're driving me crazy | J'vais m'fâcher ! | **?** | **?** | Denerwujesz mnie | +| sound005 | Blupi begins an action | It won't be long | Okay | D'accord ! | Okay | Okay | Okej | +| sound006 | " | Let's go! | Let's go! | J'y vais | **?** | **?** | Idziemy! | +| sound007 | " | Just a sec | Just a sec | Un instant | **?** | Un momento | Chwilunia | +| sound068 | " ... if multiple selection | You're the boss | You're the boss | C'est vous l'patron | In Ordnung | **?** | Ty jesteś tu szefem | +| sound069 | " ... " | Why not? | Why not? | C'est d'accord | Alles klar | **?** | Czemu nie? | +| sound070 | " ... " | Right! | Alright! | Entendu | **?** | **?** | Jasne! | +| sound008 | Blupi has finished an action | There you are | There you are | Et voilà | **?** | **?** | I gotowe | +| sound009 | " | Done that | All done | J'y suis | Fertig | **?** | Wszystko zrobione | +| sound010 | " | Finish! | Finished! | Terminé! | Ich bin fertig | Finito! | Już! | +| sound071 | " | It's done | It's done | C'est fait | **?** | **?** | Zrobione | +| sound072 | " | It's finished | It's finished | C'est fini | Fertig | **?** | Skończone | +| sound073 | " | I've finished | I've finished | J'ai fini | Ich bin fertig | **?** | Skończyłem | +| sound014 | Blupi takes his momentum to jump | Hop! | Ha! | Hop! | Hop! | Boal! | Hop! | +| sound017 | Blupi is burning | Aaaouch! | AAAAaaaaahh! | Aaaaaaaahhhh... | Aouaah-aouahh | Aaaaaaaahhhh... | Ałłłć! | +| sound018 | Blupi dies of exhaustion | Chiuu...[pssst...] | Haaa...[pssst...] | Pffff...[hennnn...] | **?** | Haaa...[pffff...] | Fiu...[pssst...] | +| sound019 | Blupi eats tomatoes | Yummy-yummy | Yumm-yumm | Miam-miam | Mjam-mjam | **?** | Mniam-mniam | +| sound027 | Blupi catches a virus | A-tissue! | A-chu! | A-tchou! | **?** | **?** | A-psik! | +| sound033 | Blupi picks flowers | La-la-lalalala... ♪♫ | Laa-lalala... ♪♫ | Lalalalala... ♪♫ | Laa-lalalalaa... ♪♫ | **?** | TROLOLOLOLO... ♪♫ | +| sound037 | Blupi is crushed by a bulldozer | Au-aaa...! | AAAAa! | Aie | Aouuuu...! | **?** | Ajjj! | -- cgit v1.2.3 From be58d6317ee32b75edfee3916706a9374bdbef55 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 15:27:36 +0100 Subject: Fix typo in Portuguese story --- resources/data/pt/stories.blp | 126 +++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/resources/data/pt/stories.blp b/resources/data/pt/stories.blp index 15c16d3..c3f2a52 100644 --- a/resources/data/pt/stories.blp +++ b/resources/data/pt/stories.blp @@ -28,11 +28,11 @@ $1 clique no dado abaixo para jogar. $2 -Existe um segundo treino um pouco mais -complicado: +Existe um segundo treino um pouco mais +complicado : 1|Transportar ambas pilhas de madeiras -1|para o pavimento de pedra na +1|para o pavimento de pedra na 1|direita. 1| 1|Blupi deve comer tomates para @@ -42,12 +42,12 @@ complicado: 2|torna-se azul. Isso 2|indica seu nivel de energia. 2| -2| vermelho = cansado -2| azul= energia +2| vermelho = cansado +2| azul = energia -Dica: +Dica : Para arrastar sua tela, você pode arrastar seu mouse para o lado da tela ou usar as setas do seu @@ -56,7 +56,7 @@ teclado. $3 1|Encontre os ovos ... 1| -1|Colocando-os na incubadora, +1|Colocando-os na incubadora, 1|quatro novos Blupis 1|nascerao dos ovos. @@ -65,7 +65,7 @@ $3 -Dica: +Dica : é mais eficiente usar o mouse e o teclado ao mesmo tempo. @@ -87,9 +87,9 @@ $5 2|Para isso você deve cortar as 2|plantas e construir uma casa do -2|jardim, plantar os tomates e +2|jardim, plantar os tomates e 2|depositar dois grupos de tomates -2| no pavimento de pedra (sem comer). +2|no pavimento de pedra (sem comer). $6 1|Objetivo : @@ -98,7 +98,7 @@ $6 1|em uma pequena ilha. 1|Infelizmente existe comida suficiente 1|para apenas um Blupi. -2|Você vai precisar encontrar uma +2|Você vai precisar encontrar uma 2|forma de produzir comida suficiente 2|para todos os outros. 2| @@ -129,7 +129,7 @@ Bem, o estranho meteorito parece ser uma nave espacial. Restou somente um sobrevivente na batida, e parecer ser um robo. E a unica - coisa que ele quer é construir +coisa que ele quer é construir fabricas para produzir todo tipo de maquinas perversas para acabar com o planeta do Blupi. @@ -144,11 +144,11 @@ A nave espacial colocou fogo na floresta. Agora a vila do Blupi pode estar em perigo. -1|Objetivo: +1|Objetivo : 1| 1|Impedir que a vila seja queimada. 1|Para fazer isso, existe apenas uma -1|maneira: Cortar algumas plantas do +1|maneira : Cortar algumas plantas do 1|lado esquerdo. @@ -189,14 +189,14 @@ pode estar em perigo. 2| -2|Tenha cuidado: +2|Tenha cuidado : 2| 2|Algumas coisas incomuns 2|podem acontecer. @2 -1|Dicas: +1|Dicas : 1| 1|Primeiro, você deve construir 1|duas barreiras no norte @@ -210,7 +210,7 @@ pode estar em perigo. #3 -1|Objetivo: +1|Objetivo : 1| 1|Evitar que os quatro Blupis 1|se queimem. @@ -220,9 +220,9 @@ pode estar em perigo. -2|Tenha cuidado: +2|Tenha cuidado : 2| -2|O terreno é feito de musgo +2|O terreno é feito de musgo 2|que queima mais facilmente. @3 @@ -238,14 +238,14 @@ pode estar em perigo. 2|3) Espere até que o fogo acabe. #4 -1|Objetivo: +1|Objetivo : 1| 1|Faça os quatro Blupis 1|alcançarem o pavimento 1|de pedra @4 -1|Soluçao: +1|Soluçao : 1| 1|1) Corte uma planta 1| @@ -253,7 +253,7 @@ pode estar em perigo. 1| perto da margem. 1| 1|3) Construa uma ponte entre -1| os dois Blupis cansados. +1| os dois Blupis cansados. 2|4) Repita estes passos 2| três vezes. @@ -263,17 +263,17 @@ pode estar em perigo. 2|o pavimento de pedras. #5 -1|A armadilha: +1|A armadilha : 1|Cuidado, o terreno onde os 1|Blupis estao prisioneiros 1|podem se queimar. 1| -1|Objetivo: -1|Resista até quando o fogo +1|Objetivo : +1|Resista até quando o fogo 1|tiver apagado. 2|Tome Cuidado : -2|Construir uma parede é trabalho +2|Construir uma parede é trabalho 2|muito cansativo para o Blupi. 2|Quando ele terminar, vai morrer ! @@ -282,7 +282,7 @@ pode estar em perigo. Dica : Se o jogo estiver muito devagar para você, pressione a tecla F6 -para aumentar a velocidade. E +para aumentar a velocidade. E F5 para voltar ao normal. @5 @@ -290,7 +290,7 @@ F5 para voltar ao normal. 1| 1|Você deve construir quatro 1|paredes no pavimento cinza. -1Você |vai ter que cortar duas +1|Você vai ter que cortar duas 1|plantas para construir uma casa 1|do jardim e uma incubadora. @@ -299,9 +299,9 @@ F5 para voltar ao normal. 2|esperar até o fogo acabar. #6 -1|Objetivo: +1|Objetivo : 1| -1|Um perigo esta presente: proteja +1|Um perigo esta presente : proteja 1|o campo o mais depressa possivel 1|com quatro torres. @@ -317,7 +317,7 @@ F5 para voltar ao normal. -Dica: +Dica : Você pode selecionar muitos Blupis ao mesmo tempo mantendo @@ -347,26 +347,26 @@ clica em cada Blupi. 2|sudeste. #7 -1|Objetivo: +1|Objetivo : 1| -1|Os quatro Blupis devem -1|alcançar o pavimento de +1|Os quatro Blupis devem +1|alcançar o pavimento de 1|pedras. Você devera tomar 1|cuidado com o Blupi -1| mais distante. +1|mais distante. -2|Tome cuidado: +2|Tome cuidado : 2| 2|O terreno é inapropriado 2|para construir uma casa do 2|jardim. @7 -1|Soluçao: +1|Soluçao : 1| 1|Faça um Blupi guardar um 1|tomate rapidamente para que @@ -387,8 +387,8 @@ clica em cada Blupi. 1|se contaminem e encontrar um 1|remedio para curar os outros. 1| -1|Finalmente cada Blupi deve -1|entrar em uma casa. +1|Finalmente cada Blupi deve +1|entrar em uma casa. @@ -404,7 +404,7 @@ clica em cada Blupi. 1|Soluçao : 1| 1|Um laboratorio de pedra deve -1|ser feito. Ele vai permitir que +1|ser feito. Ele vai permitir que 1|você transforme as flores 1|amarelas em remedio para 1|curar os Blupis. @@ -416,7 +416,7 @@ clica em cada Blupi. 2|As casas ficam no sudeste da ilha. #9 -1|Objetivo: +1|Objetivo : 1| 1|Encontrar uma forma para 1|atravessar a pista de gelo. @@ -528,14 +528,14 @@ clica em cada Blupi. 2|dois virus escondidos. #13 -1|Objetivo: +1|Objetivo : 1| 1|Conseguir se livrar das seis 1|aranhas. 1| -1|As quatro primeiras serao +1|As quatro primeiras serao 1|faceis. As duas restantes -1|serao mais dificeis. +1|serao mais dificeis. @@ -570,13 +570,13 @@ clica em cada Blupi. 1|Objetivo : 1| 1|O Blupi deve simplesmente -1| ir para casa. +1|ir para casa. 1| @14 1|Soluçao : 1| -1|Procure por ferro sobre o +1|Procure por ferro sobre o 1|terreno rochoso. Coloque uma 1|madeira na bandeira e 1|construa uma mina. @@ -593,7 +593,7 @@ clica em cada Blupi. 2|Quando você chegar na barreira, 2|você deve deixar o seu jeep 2|rapidamente, deixar a bomba , -2| liga-la, entrar no jeep e +2|liga-la, entrar no jeep e 2|fugir #15 @@ -610,8 +610,8 @@ clica em cada Blupi. @15 1|Dicas : 1| -1|Construa uma casa do jardim -1|e duas torres no pavimento +1|Construa uma casa do jardim +1|e duas torres no pavimento 1|cinza escuro. 1| 1|Construa uma ponte para ligar @@ -625,7 +625,7 @@ clica em cada Blupi. 2|armadilhas pegajosas e 2|fora com as dinamites. 2| -2|Quando você achar que possui +2|Quando você achar que possui 2|dinamites e armadilhas suficientes, 2|mande um pequeno comando para 2|o nordeste de destrua o campo @@ -650,7 +650,7 @@ clica em cada Blupi. 1|Dicas : 1| 1|Encontre a mina no nordeste, -1|esculpa uma rocha e construa +1|esculpa uma rocha e construa 1|uma oficina, faça uma bomba 1|e dois jeeps, e procure o 1|campo inimigo no sudoeste. @@ -669,7 +669,7 @@ clica em cada Blupi. 1|Os cinco Blupis devem 1|alcançar uma casa. -2|Cuidado, uma casa fica +2|Cuidado, uma casa fica 2|atras do campo inimigo. @@ -723,7 +723,7 @@ enquanto clica em cada Blupi. -2|Objetivo: +2|Objetivo : 2| 2|Blupi deve fugir e encontrar 2|uma forma para voltar para casa. @@ -737,7 +737,7 @@ enquanto clica em cada Blupi. 1|virus espalhados em volta. 2|Com o bote, você pode -2|atravessar e desembarcar +2|atravessar e desembarcar 2|na margem. 2| 2|A casa esta perto agora. Tenha @@ -798,7 +798,7 @@ enquanto clica em cada Blupi. 1|Situaçao : 1| 1|Blupi foi capturado por um -1|robo asqueroso. Ele é um +1|robo asqueroso. Ele é um 1|prisioneiro na base de campo 1|do robo. @@ -817,7 +817,7 @@ enquanto clica em cada Blupi. 1|Coloque-a perto da barreira 1|azul no espaço vazio nas 1|rochas. Quando as escavadoras -1|passarem pelas dinamites, elas +1|passarem pelas dinamites, elas 1|podem destruir as barreiras. 2|Corra para o leste ate alcançar @@ -888,7 +888,7 @@ enquanto clica em cada Blupi. 2|o Blupi perdido. #24 -1|Situaçao: +1|Situaçao : 1| 1|O lugar possui muitos inimigos. 1| @@ -986,7 +986,7 @@ enquanto clica em cada Blupi. #27 1|Situaçao : 1| -1|O robo teve o atrevimento de +1|O robo teve o atrevimento de 1|instalar a sua vila perto da 1|vila do Blupi. @@ -1006,7 +1006,7 @@ enquanto clica em cada Blupi. 1|alcançar a ilha com os ovos. 1|Construir duas torres nas 1|pedras na cor cinza escuro. -1|Construir uma barreira na +1|Construir uma barreira na 1|esquerda e direita de cada 1|torre. @@ -1016,14 +1016,14 @@ enquanto clica em cada Blupi. 2|alcançar o campo inimigo no 2|norte, pelo bote ou 2|construindo uma ponte. -2| +2| 2|Você pode escolher ! #28 1|Situaçao : 1| 1|Enquanto estava construindo -1|sua casa, Blupi fez um erro: +1|sua casa, Blupi fez um erro : 1|ele construiu uma parede em 1|volta dela. @@ -1031,7 +1031,7 @@ enquanto clica em cada Blupi. -2|Objetivo: +2|Objetivo : 2| 2|Blupi deve simplesmente 2|ir para casa. @@ -1102,7 +1102,7 @@ enquanto clica em cada Blupi. 1| 1|Esta guerra precisa acabar logo. 1|Blupi e o robo tiveram que -1|fazer um acordo: +1|fazer um acordo : 1|Ele precisa ajudar o robo a voltar 1|para o seu foguete, em retorno, 1|o robo vai deixar de forma -- cgit v1.2.3 From ebb2865948aa374d7e8d123832470ec2182de7e4 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 15:30:38 +0100 Subject: Use a space before ':' only in french --- resources/data/de/stories.blp | 148 ++++++++++++++++----------------- resources/data/en/stories.blp | 186 ++++++++++++++++++++--------------------- resources/data/it/stories.blp | 186 ++++++++++++++++++++--------------------- resources/data/pt/stories.blp | 188 +++++++++++++++++++++--------------------- resources/data/tr/stories.blp | 182 ++++++++++++++++++++-------------------- 5 files changed, 445 insertions(+), 445 deletions(-) diff --git a/resources/data/de/stories.blp b/resources/data/de/stories.blp index 896dd6b..049ded8 100644 --- a/resources/data/de/stories.blp +++ b/resources/data/de/stories.blp @@ -47,7 +47,7 @@ schwieriger: 2| blau = voll in Form -Trick : +Trick: Wenn du das Sichtfenster verschieben willst, bringe entweder den Mauszeiger @@ -65,7 +65,7 @@ $3 -Trick : +Trick: Wenn Du besonders schnell sein willst, dann halte die Maus mit der rechten @@ -73,7 +73,7 @@ Hand und drücke auf die Pfeiltasten mit der linken Hand (oder umgekehrt). $4 -1|Ziel : +1|Ziel: 1| 1|Alle vier Blupis müssen die Häuser 1|auf den Inseln im Norden erreichen. @@ -83,12 +83,12 @@ $4 2|zu haben. $5 -1|Ziel : +1|Ziel: 1| 1|Lege zwei Tomatenhaufen auf die 1|gestreiften Quadrate. 1| -1|Gehe folgendermassen vor : +1|Gehe folgendermassen vor: 1| 1|1) Fälle einen Baum @@ -101,7 +101,7 @@ $5 2| die Tomaten nicht essen). $6 -1|Ziel : +1|Ziel: 1| 1|Alle Blupis müssen eines der Häuser 1|auf einer kleinen Insel erreichen. @@ -166,7 +166,7 @@ ist bedroht ! -2|Trick : +2|Trick: 2| 2|Wenn Blupi von einem Baum ver- 2|deckt ist, kannst Du die Bäume @@ -176,7 +176,7 @@ ist bedroht ! @1 -1|Lösung : +1|Lösung: 1| 1|Befehle einem Blupi Bäume zu 1|fällen, und befehle den zwei @@ -198,12 +198,12 @@ ist bedroht ! 2| essen und suche das Dorf. 2| 2| -2|Achtung : +2|Achtung: 2|Ein unvorhergesehenes Ereignis 2|wird eintreten. @2 -1|Hinweise : +1|Hinweise: 1| 1|Baue zwei Palisaden, um die 1|Spinne daran zu hindern, die @@ -213,20 +213,20 @@ ist bedroht ! 2|im Osten. #3 -1|Ziel : +1|Ziel: 1| 1|Verhindere, dass die zwei 1|Blupis verbrennen, indem Du 1|eine Mauer baust. -2|Achtung : +2|Achtung: 2| 2|Der Moosuntergrund brennt 2|sehr gut... @3 -1|Lösung : +1|Lösung: 1| 1|1) Bearbeite einen Felsen 1| @@ -241,13 +241,13 @@ ist bedroht ! #4 -1|Ziel : +1|Ziel: 1| 1|Alle vier Blupis müssen die 1|gestreiften Quadrate erreichen. @4 -1|Lösung : +1|Lösung: 1| 1|1) Fälle einen Baum. 1| @@ -262,13 +262,13 @@ ist bedroht ! 2|nun die Brücke überqueren. #5 -1|Die Falle : +1|Die Falle: 1|Achtung, der Boden wo die Blupis 1|gefangen sind ist brennbar, und 1|die Feuersbrunst kommt immer 1|näher. 1| -1|Ziel : +1|Ziel: 1|Alle Blupis müssen überleben, bis 1|das Feuer ausgegangen ist. @@ -277,7 +277,7 @@ ist bedroht ! 2|anstrengend, dass der Blupi 2|danach stirbt ! -Trick : +Trick: Wenn Du das Spiel zu langsam findest, kannst Du es schneller machen indem Du auf die Taste @@ -285,7 +285,7 @@ F6 drückst. Mit F5 wird das Spiel dann wieder langsamer. @5 -1|Hinweise : +1|Hinweise: 1| 1|Du musst vier Mauern auf den 1|grauen Platten bauen. Dazu @@ -299,7 +299,7 @@ Spiel dann wieder langsamer. 2|ausgegangen ist. #6 -1|Ziel : +1|Ziel: 1| 1|Beschütze das Lager so schnell 1|wie möglich mit vier Wachtürmen. @@ -308,14 +308,14 @@ Spiel dann wieder langsamer. 1|Quadrate im Osten erreichen. -2|Trick : +2|Trick: 2|Du kannst mehrere Blupis auf 2|einmal auswählen, indem Du die 2|Umschalt Taste drückst, während 2|Du auf die Blupis klickst. @6 -1|Lösung : +1|Lösung: 1| 1|Befehle vier Blupis Felsen zu 1|bearbeiten (bei kleine Felsen @@ -333,7 +333,7 @@ Spiel dann wieder langsamer. 2|Quadrate im Osten erreichen. #7 -1|Ziel : +1|Ziel: 1| 1|Die vier Blupis müssen die 1|gestreiften Quadrate erreichen: @@ -343,13 +343,13 @@ Spiel dann wieder langsamer. -2|Achtung : +2|Achtung: 2| 2|Du kannst hier leider kein 2|Gartenhäuschen bauen. @7 -1|Lösung : +1|Lösung: 1| 1|Befehle einem der Blupis die 1|Tomaten zu nehmen, um diese @@ -367,7 +367,7 @@ Spiel dann wieder langsamer. 2|genügend Kraft um zu gehen. #8 -Ziel : +Ziel: 1|Vermeide die Ansteckung von 1|einem oder zwei Blupis, und finde @@ -378,12 +378,12 @@ Ziel : 1|Haus gelangen. -2|Hinweis : +2|Hinweis: 2| 2|Baue ein Labor... @8 -1|Hinweise : +1|Hinweise: 1| 1|Aus Steinen kannst Du ein Labor 1|bauen. Im Labor kannst Du dann @@ -398,7 +398,7 @@ Ziel : #9 -1|Ziel : +1|Ziel: 1| 1|Finde heraus, wie Du die Eisbahn 1|überqueren kannst. @@ -410,7 +410,7 @@ Ziel : 2|Kraft ! @9 -1|Hinweise : +1|Hinweise: 1| 1|Baue zwei Wachtürme, um die 1|Spinnen abzuhalten. @@ -425,7 +425,7 @@ Ziel : 2|der Eisbahn verspeisen. #10 -1|Ziel : +1|Ziel: 1| 1|Erreiche die Insel im Westen und 1|sprenge die Palisade. @@ -434,7 +434,7 @@ Ziel : 2|gestreiften Quadrate. @10 -1|Hinweise : +1|Hinweise: 1| 1|Baue eine Brücke zu den vier 1|gefangenen Blupis. Bearbeite @@ -448,14 +448,14 @@ Ziel : #11 -1|Ziel : +1|Ziel: 1| 1|Erreiche die Häuser im Norden. 1|Pass aber auf, denn sie sind 1|sehr gut bewacht. @11 -1|Hinweise : +1|Hinweise: 1| 1|Baue eine Brücke zu der Insel 1|im Nordwesten, und fabriziere @@ -468,7 +468,7 @@ Ziel : #12 -1|Ziel : +1|Ziel: 1| 1|Drei Blupis müssen zu dem ver- 1|lassenen Blupi auf der Insel @@ -476,7 +476,7 @@ Ziel : 1| @12 -1|Hinweise : +1|Hinweise: 1| 1|Baue ein Gartenhäuschen und 1|pflanze Tomaten an. @@ -490,7 +490,7 @@ Ziel : #13 -1|Ziel : +1|Ziel: 1| 1|Entledige Dich der sechs Spinnen. 1|Die vier ersten sind einfache, aber @@ -499,14 +499,14 @@ Ziel : -2|Trick : +2|Trick: 2| 2|Finde heraus wie Du Gift im Labor 2|herstellen kannst. @13 -1|Hinweise : +1|Hinweise: 1| 1|Die vier ersten Spinnen kannst 1|Du fangen, indem Du mit Hilfe @@ -525,13 +525,13 @@ Ziel : #14 -1|Ziel : +1|Ziel: 1| 1|Blupi muss nur zu seinem Haus 1|zurückfinden. @14 -1|Hinweise : +1|Hinweise: 1| 1|Untersuche den Untergrund, da 1|wo sich die Kieselsteine @@ -551,7 +551,7 @@ Ziel : #15 -1|Ziel : +1|Ziel: 1| 1|Ein einziger Blupi muss das Haus 1|im Norden erreichen. @@ -561,7 +561,7 @@ Ziel : 2|vernichten. @15 -1|Hinweise : +1|Hinweise: 1| 1|Baue ein Gartenhäuschen und 1|zwei Wachtürme auf den grauen @@ -588,7 +588,7 @@ Ziel : @16 -1|Hinweise : +1|Hinweise: 1| 1|Im Nordosten befindet sich ein 1|Bergwerk. Baue eine Werkstatt @@ -606,7 +606,7 @@ Ziel : 2|und baue eine Beammaschine. #17 -1|Ziel : +1|Ziel: 1| 1|Alle fünf Blupis müssen ein 1|Haus erreichen. @@ -615,7 +615,7 @@ Ziel : 2|sich hinter dem feindlichen Lager. -Trick : +Trick: Du kannst mehrere Blupis auf einmal auswählen, indem Du die @@ -652,7 +652,7 @@ Du auf die Blupis klickst. 2|finden. @18 -1|Hinweise : +1|Hinweise: 1| 1|Baue ein Boot am Ufer des Sees 1|im Westen und lande auf der @@ -672,7 +672,7 @@ Du auf die Blupis klickst. @19 -1|Hinweise : +1|Hinweise: 1| 1|Baue Eisen ab und baue eine 1|Rüstung. Die Rüstung schützt @@ -694,13 +694,13 @@ Du auf die Blupis klickst. 2|Planierraupen in die Luft sprengen #20 -1|Ziel : +1|Ziel: 1| 1|Zerstöre alle feindliche Gebäude. 1| @20 -1|Hinweise : +1|Hinweise: 1| 1|Produziere ein Maximum an 1|Dynamit, Fallen, usw. und @@ -717,7 +717,7 @@ Du auf die Blupis klickst. 2|Haus wiederfinden. @21 -1|Hinweise : +1|Hinweise: 1| 1|Lege das Dynamit in die Nähe 1|des Durchgangs durch die Felsen. @@ -736,7 +736,7 @@ Du auf die Blupis klickst. 2|ganz im Osten zu zerstören. #22 -1|Ziel : +1|Ziel: 1| 1|1) Baue Boote. 1| @@ -746,7 +746,7 @@ Du auf die Blupis klickst. 2| Feindeinrichtungen. @22 -1|Hinweise : +1|Hinweise: 1| 1|Auf der Insel im Nordwesten gibt 1|es Eisenvorkommen. @@ -766,7 +766,7 @@ Du auf die Blupis klickst. @23 -1|Hinweise : +1|Hinweise: 1| 1|Der isolierte Blupi muss sich 1|vom Roboter entfernen und zum @@ -789,12 +789,12 @@ Du auf die Blupis klickst. 1| 1| 2| -2|Ziel : +2|Ziel: 2| 2|Zerstöre alle Feinde. @24 -1|Hinweise : +1|Hinweise: 1| 1|Lauf schnell nach rechts und 1|baue ein Boot. @@ -812,7 +812,7 @@ Du auf die Blupis klickst. 1|Blupi die Existenz eines 1|geheimnisvollen Elements, 1|das von dem Roboter mitge- -1|bracht worden ist : +1|bracht worden ist: 1| 1| das Platinium 1| @@ -821,14 +821,14 @@ Du auf die Blupis klickst. 1|logischen Fortschritt. -2|Ziel : +2|Ziel: 2| 2|Lege das Platinium auf die 2|gestreiften Quadrate. Es 2|befindet sich neben der Rakete. @25 -1|Hinweise : +1|Hinweise: 1| 1|Neutralisiere die beiden Planier- 1|raupen mit Klebefallen. @@ -850,13 +850,13 @@ Du auf die Blupis klickst. 1|Weise. -2|Ziel : +2|Ziel: 2| 2|Hilf Blupi sein Haus 2|wiederzufinden. @26 -1|Hinweise : +1|Hinweise: 1| 1|Mit dem Platiniumwürfel kannst 1|Du in der Werkstatt einen @@ -872,21 +872,21 @@ Du auf die Blupis klickst. 2|die Eisbahn. #27 -1|Situation : +1|Situation: 1| 1|Der Roboter besitzt die Unver- 1|schämtheit, seine Basis direkt 1|neben Blupis Dorf zu bauen. -2|Ziel : +2|Ziel: 2| 2|Erreiche das Feindliche Lager 2|und sprenge alles in 2|die Luft. @27 -1|Hinweise : +1|Hinweise: 1| 1|Baue so schnell wie möglich 1|eine Beammaschine, mit der Du @@ -902,26 +902,26 @@ Du auf die Blupis klickst. 2| 2|Du kannst das feindliche Lager 2|im Norden auf zwei verschiedene -2|Weisen erreichen : +2|Weisen erreichen: 2| 2|1) mit Booten 2|2) mit einer Brücke #28 -1|Situation : +1|Situation: 1| 1|Blupi hat versehentlich eine 1|Mauer rund um sein Haus gebaut. -2|Ziel : +2|Ziel: 2| 2|Blupi muss (nur ?) in sein 2|Haus gelangen. @28 -1|Hinweise : +1|Hinweise: 1| 1|Auf der kleinen Insel im Norden 1|gibt es Eier. @@ -935,14 +935,14 @@ Du auf die Blupis klickst. #29 -1|Situation : +1|Situation: 1| 1|Blupis Lebensraum wird mehr und 1|mehr durch den Roboter und seine 1|Schergen bedroht. -2|Ziel : +2|Ziel: 2| 2|Blupi muss zuerst ein gut 2|befestigtes Dorf bauen, um @@ -950,7 +950,7 @@ Du auf die Blupis klickst. 2|und alle Feinde zu vernichten. @29 -1|Hinweise : +1|Hinweise: 1| 1|Beschütze das Dorf mit Wach- 1|türmen. @@ -968,7 +968,7 @@ Du auf die Blupis klickst. 2|Rüstungen herstellen. #30 -1|Situation : +1|Situation: 1| 1|Der Krieg hat nun lange genug 1|gedauert. Blupi hat mit dem @@ -981,7 +981,7 @@ Du auf die Blupis klickst. 1|immer zu verlassen. -2|Ziel : +2|Ziel: 2| 2|Bereite den Weg vor, so dass der 2|Roboter seine Rakete erreichen. @@ -991,7 +991,7 @@ Du auf die Blupis klickst. 2|fertig ist. @30 -1|Hinweise : +1|Hinweise: 1| 1|Die Rakete befindet sich im 1|Südosten. diff --git a/resources/data/en/stories.blp b/resources/data/en/stories.blp index 3d1e2a7..4f96ebc 100644 --- a/resources/data/en/stories.blp +++ b/resources/data/en/stories.blp @@ -1,5 +1,5 @@ $1 -1|Goal : +1|Goal: 1| 1|Each Blupi must enter a house. To 1|do so, always use the left button of @@ -29,7 +29,7 @@ $1 $2 Here is a second exercise a bit more -complicated : +complicated: 1|Transport both piles of planks on 1|the striped paving stones on @@ -47,7 +47,7 @@ complicated : -Clue : +Clue: To scroll your screen, you may draw your mouse to the side of the screen or use the keyboard @@ -65,14 +65,14 @@ $3 -Clue : +Clue: It is more efficient to use the mouse in one hand and use the other hand for the keyboard arrows. $4 -1|Goal : +1|Goal: 1| 1|The four Blupis must reach the 1|houses on the northern islands. @@ -81,7 +81,7 @@ $4 2|enough strength to jump. $5 -1|Goal : +1|Goal: 1| 1|Drop two batches of tomatoes 1|on the striped paving stones. @@ -93,7 +93,7 @@ $5 2|stones (do not eat them). $6 -1|Goal : +1|Goal: 1| 1|Each Blupi must reach a house on 1|a small island. @@ -138,10 +138,10 @@ The spaceship crash has set fire to the forest. Blupi' village is now threatened. -1|Goal : +1|Goal: 1| 1|Prevent the village from burning. -1|To do so, there is only one way : +1|To do so, there is only one way: 1|Cut some trees down on the left. @@ -149,7 +149,7 @@ now threatened. -2|Clue : +2|Clue: 2| 2|If a Blupi is hidden by trees, 2|press space bar. Doing so will @@ -157,7 +157,7 @@ now threatened. 2|transparent. @1 -1|Solution : +1|Solution: 1| 1|Order the Blupi on the left to 1|cut several trees down. The @@ -165,7 +165,7 @@ now threatened. 1|the planks away. #2 -1|Situation : +1|Situation: 1| 1|Blupi is far away from his village 1|and lost. He must organize himself @@ -182,14 +182,14 @@ now threatened. 2| -2|Watch out : +2|Watch out: 2| 2|Something unusual is going to 2|happen. @2 -1|Clues : +1|Clues: 1| 1|First of, all you must build 1|two palisades in the north @@ -203,7 +203,7 @@ now threatened. #3 -1|Goal : +1|Goal: 1| 1|Prevent the four lost Blupis from 1|burning. @@ -213,13 +213,13 @@ now threatened. -2|Watch out : +2|Watch out: 2| 2|The ground is made of moss 2|which burns very easily. @3 -1|Solution : +1|Solution: 1| 1|1) Carve a rock. 1| Smaller rocks are quicker to @@ -231,13 +231,13 @@ now threatened. 2|3) Wait for the fire to stop. #4 -1|Goal : +1|Goal: 1| 1|Make the four Blupis reach the 1|striped paving stones. @4 -1|Solution : +1|Solution: 1| 1|1) Cut a tree down 1| @@ -255,30 +255,30 @@ now threatened. 2|the striped paving stones. #5 -1|The trap : +1|The trap: 1|Careful, the ground where the 1|Blupis are prisoners can easily 1|burn and fire is approaching. 1| -1|Goal : +1|Goal: 1|Resist until the fire has 1|burnt out. -2|Watch out : +2|Watch out: 2|Building a wall is a very 2|exhausting job for Blupi. Once 2|finished, he will die ! -Clue : +Clue: If the game does not run fast enough for you, press key F6 to speed it up. F5 runs the game at it's normal speed. @5 -1|Clues : +1|Clues: 1| 1|You must build four walls on 1|the gray paving stones. You @@ -291,7 +291,7 @@ game at it's normal speed. 2|the fire comes and stops. #6 -1|Goal : +1|Goal: 1| 1|A danger is present: protect 1|the camp as fast as possible @@ -309,7 +309,7 @@ game at it's normal speed. -Clue : +Clue: You may select several Blupis at the same time by maintaining @@ -318,7 +318,7 @@ clicking on each Blupi. @6 -1|Solution : +1|Solution: 1| 1|You must ask four Blupis to 1|quickly carve a rock each. @@ -339,7 +339,7 @@ clicking on each Blupi. 2|south-east. #7 -1|Goal : +1|Goal: 1| 1|The four Blupis must reach 1|the striped paving stones. @@ -350,13 +350,13 @@ clicking on each Blupi. -2|Watch out : +2|Watch out: 2| 2|The ground is inappropriate 2|for building a garden shed. @7 -1|Solution : +1|Solution: 1| 1|Ask a Blupi to remove the 1|tomatoes so that the spiders @@ -372,7 +372,7 @@ clicking on each Blupi. 2|he can eat them. #8 -1|Goal : +1|Goal: 1| 1|Avoid one or two Blupis from 1|being contaminated and find a @@ -387,12 +387,12 @@ clicking on each Blupi. -2|Clue : +2|Clue: 2| 2|Construct a laboratory. @8 -1|Clues : +1|Clues: 1| 1|A laboratory must be made of 1|stones. It will enable you to @@ -407,7 +407,7 @@ clicking on each Blupi. 2|The houses are in the south-east. #9 -1|Goal : +1|Goal: 1| 1|Find a way to cross the ice rink. 1| @@ -417,14 +417,14 @@ clicking on each Blupi. -2|Note : +2|Note: 2| 2|Blupi can walk on ice. However 2|the ice being slippery, he will 2|loose a lot of strength. @9 -1|Clues : +1|Clues: 1| 1|Two towers will have to be built 1|to protect the Blupis from the @@ -440,7 +440,7 @@ clicking on each Blupi. 2|tomatoes before he crosses. #10 -1|Goal : +1|Goal: 1| 1|Reach the island in the 1|north-east and blow the @@ -451,7 +451,7 @@ clicking on each Blupi. 2|striped paving stones. @10 -1|Clues : +1|Clues: 1| 1|Build a bridge in the direction of 1|the four prisoners. This enables @@ -473,14 +473,14 @@ clicking on each Blupi. 2|protect them from the explosion. #11 -1|Goal : +1|Goal: 1| 1|Reach the houses in the 1|north-east. Be careful, 1|they are well guarded. @11 -1|Clues : +1|Clues: 1| 1|Build a bridge towards the 1|north-west island and then @@ -497,14 +497,14 @@ clicking on each Blupi. 2|bulldozers. #12 -1|Goal : +1|Goal: 1| 1|Three Blupis must join the 1|isolated Blupi on an island 1|in the north-west. @12 -1|Clues : +1|Clues: 1| 1|Build a garden shed and grow 1|tomatoes. @@ -520,7 +520,7 @@ clicking on each Blupi. 2|hides two viruses. #13 -1|Goal : +1|Goal: 1| 1|Get rid of the six spiders. 1| @@ -533,13 +533,13 @@ clicking on each Blupi. -2|Clue : +2|Clue: 2| 2|Find out how to produce poison 2|in the laboratory. @13 -1|Clues : +1|Clues: 1| 1|The first four spiders will be 1|caught with traps made from @@ -558,13 +558,13 @@ clicking on each Blupi. 2|the tomatoes to the laboratory. #14 -1|Goal : +1|Goal: 1| 1|Blupi must simply go home. 1| @14 -1|Clues : +1|Clues: 1| 1|Prospect for iron under the 1|small pebbles. Drop the planks @@ -586,7 +586,7 @@ clicking on each Blupi. 2|into the jeep and buzz off. #15 -1|Goal : +1|Goal: 1| 1|Only one Blupi must reach 1|the house in the north-east. @@ -596,7 +596,7 @@ clicking on each Blupi. 2|installations. @15 -1|Clues : +1|Clues: 1| 1|Build a garden shed and two 1|protection towers on the gray @@ -619,7 +619,7 @@ clicking on each Blupi. 2|east to destroy the enemy camp. #16 -1|Situation : +1|Situation: 1| 1|Blupi is lost in an arid part of 1|his planet with no trees. @@ -627,13 +627,13 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|The two Blupis must go back 2|home to their village. @16 -1|Clues : +1|Clues: 1| 1|Find the mine in the north-east, 1|carve a rock to build a @@ -649,7 +649,7 @@ clicking on each Blupi. 2|tree and make a teleporter. #17 -1|Goal : +1|Goal: 1| 1|The five Blupis must reach 1|a house. @@ -668,7 +668,7 @@ clicking on each Blupi. -Clue : +Clue: You may select several Blupis at the same time by maintaining @@ -676,7 +676,7 @@ the Shift key pressed while clicking on each Blupi. @17 -1|Clues : +1|Clues: 1| 1|A Blupi can now go to the house 1|on the western side of the island. @@ -694,7 +694,7 @@ clicking on each Blupi. 2|witha time bomb. #18 -1|Situation : +1|Situation: 1| 1|While Blupi was collecting 1|flowers, he did not realize @@ -706,13 +706,13 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Blupi must flee and find a 2|way of getting home. @18 -1|Clues : +1|Clues: 1| 1|Find the water stretch to the 1|west. Make a boat. Be careful, @@ -728,7 +728,7 @@ clicking on each Blupi. 2|bulldozers. #19 -1|Situation : +1|Situation: 1| 1|Four bulldozers are threatening 1|Blupi's village. @@ -737,12 +737,12 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Destroy the bulldozers @19 -1|Clues : +1|Clues: 1| 1|Ask a Blupi to extract iron 1|and build an armour. It will @@ -763,13 +763,13 @@ clicking on each Blupi. 2|the bulldozers. #20 -1|Goal : +1|Goal: 1| 1|Destroy all enemy installations. 1| @20 -1|Clues : +1|Clues: 1| 1|Produce as much dynamite, 1|traps, etc. as possible before @@ -777,7 +777,7 @@ clicking on each Blupi. 1|protect the enemy camp. #21 -1|Situation : +1|Situation: 1| 1|Blupi has been captured by 1|a nasty robot. He is held @@ -787,13 +787,13 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Blupi must escape and find 2|his house. @21 -1|Clues : +1|Clues: 1| 1|Take the dynamite from the 1|northeast. Place it next to a @@ -813,7 +813,7 @@ clicking on each Blupi. 2|the blue barrier in the east. #22 -1|Goals : +1|Goals: 1| 1|1) Make boats. 1| @@ -822,7 +822,7 @@ clicking on each Blupi. 1|3) Destroy all enemy installations. @22 -1|Clues : +1|Clues: 1| 1|The island in the north-east 1|has a lot of iron. @@ -832,7 +832,7 @@ clicking on each Blupi. 2|dynamite and sticky traps. #23 -1|Situation : +1|Situation: 1| 1|Blupi is very curious: after 1|having observed the robot @@ -843,14 +843,14 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Bring in support and destroy 2|the enemy ! @23 -1|Clues : +1|Clues: 1| 1|The isolated Blupi must go 1|away from the robot and go @@ -871,19 +871,19 @@ clicking on each Blupi. 2|Blupi. #24 -1|Situation : +1|Situation: 1| 1|The region is full of enemies. 1| -2|Goal : +2|Goal: 2| 2|Destroy all enemies. @24 -1|Clues : +1|Clues: 1| 1|Go south-east to avoid the 1|fire and make a boat with @@ -899,7 +899,7 @@ clicking on each Blupi. 1|Blupi has been suspecting 1|that the robot brought 1|something strange on his -1|planet : +1|planet: 1| 1| Platinium.... 1| @@ -910,12 +910,12 @@ clicking on each Blupi. 2| -2|Goal : +2|Goal: 2|Bring a cube of platinum onto 2|the striped paving stones. @25 -1|Clues : +1|Clues: 1| 1|Destroy the two bulldozers with 1|the sticky traps. Make a boat in @@ -943,12 +943,12 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Help Blupi find his house. @26 -1|Clues : +1|Clues: 1| 1|Make a helping robot with the 1|cube of platinum in the factory @@ -966,7 +966,7 @@ clicking on each Blupi. 2|the first jump. #27 -1|Situation : +1|Situation: 1| 1|The robot has had the cheek 1|to install his village nearby @@ -975,13 +975,13 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Reach enemy camp and 2|destroy everything. @27 -1|Clues : +1|Clues: 1| 1|Make a teleporter as fast as 1|possible so that you reach @@ -1002,22 +1002,22 @@ clicking on each Blupi. 2|Up to you to choose ! #28 -1|Situation : +1|Situation: 1| 1|Whilst building his house, -1|Blupi made a mistake : +1|Blupi made a mistake: 1|he built a wall around it. -2|Goal : +2|Goal: 2| 2|Blupi must simply go home. @28 -1|Clues : +1|Clues: 1| 1|A small island in the north 1|has a lot of eggs. @@ -1038,7 +1038,7 @@ clicking on each Blupi. 2|protection wall. #29 -1|Situation : +1|Situation: 1| 1|The free space is being more 1|and more occupied by the robot @@ -1048,7 +1048,7 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Blupi must build his village 2|and work out good defense @@ -1058,7 +1058,7 @@ clicking on each Blupi. 2|eliminate all of his enemies. @29 -1|Clues : +1|Clues: 1| 1|He must build protection towers 1|on the north-west side, on the @@ -1078,11 +1078,11 @@ clicking on each Blupi. 2|and make bombs and armours. #30 -1|Situation : +1|Situation: 1| 1|This war can no longer last. 1|Blupi and the last robot have -1|come to an agreement : +1|come to an agreement: 1|He will help the robot back to 1|his rocket and, in return, 1|the robot will definitively @@ -1091,7 +1091,7 @@ clicking on each Blupi. -2|Goal : +2|Goal: 2| 2|Prepare the path to the rocket 2|so that the robot can leave @@ -1101,7 +1101,7 @@ clicking on each Blupi. 2|path is finished. @30 -1|Clues : +1|Clues: 1| 1|Carve a rock in the southeast. 1|Cut a tree down and make a diff --git a/resources/data/it/stories.blp b/resources/data/it/stories.blp index 887ae52..1209664 100644 --- a/resources/data/it/stories.blp +++ b/resources/data/it/stories.blp @@ -1,5 +1,5 @@ $1 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Ogni Blupi deve entrare in una casa. 1|Per fare ciò, utilizza il pulsante @@ -30,7 +30,7 @@ $1 $2 Ecco un altro esercizio un pochino più -difficile : +difficile: 1|E' sufficiente trasportare due cumuli 1|di legno sulle lastre tratteggiate @@ -41,14 +41,14 @@ difficile : 2|necessaria. Ti accorgerai che quando 2|mangia l'anello rosso ai suoi piedi 2|diventa blu. Questo anello indica il -2|suo livello d'energia : +2|suo livello d'energia: 2| 2| rosso = stanco 2| blu = in piena forma -Trucco : +Trucco: Per far scorrere la parte visibile puoi portare il mouse sul bordo dello schermo, oppure utilizzare i tasti freccia della @@ -65,14 +65,14 @@ $3 -Trucco : +Trucco: Potrai ottenere migliori risultati tenendo il mouse con la mano destra, e azionando i tasti freccia della tastiera con la mano sinistra ! $4 -1|Obbiettivo : +1|Obbiettivo: 1| 1|I quattro Blupi devono raggiungere 1|le case che si trovano su altre isole @@ -82,11 +82,11 @@ $4 2|la forza di saltare ! $5 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Deporre due lotti di pomodori sulle 1|lastre tratteggiate. Per fare ciò è -1|necessario : +1|necessario: 1| 1|1) Abbattere il boschetto. @@ -98,7 +98,7 @@ $5 2| lastre tratteggiate (senza mangiarli). $6 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Ogni Blupi deve raggiungere una 1|casa su una piccola isola. @@ -149,7 +149,7 @@ la foresta, in lontananza. Il villaggio di Blupi è in pericolo ! -1|Obbiettivo : +1|Obbiettivo: 1| 1|Impedire che le case del villaggio 1|brucino. Per fare ciò vi è un solo @@ -161,7 +161,7 @@ Il villaggio di Blupi è in pericolo ! -2|Trucco : +2|Trucco: 2| 2|Se un Blupi è nascosto tra gli 2|alberi, premi la barra spaziatrice @@ -169,7 +169,7 @@ Il villaggio di Blupi è in pericolo ! 2|alberi trasparenti. @1 -1|Soluzione : +1|Soluzione: 1| 1|Ordinare al Blupi di sinistra di 1|abbattere degli alberi poco più @@ -181,7 +181,7 @@ Il villaggio di Blupi è in pericolo ! 2|dal fuoco ! #2 -1|Situazione : +1|Situazione: 1| 1|Blupi si è perso in una radura 1|distante dal suo villaggio. Deve @@ -199,13 +199,13 @@ Il villaggio di Blupi è in pericolo ! 2| -2|Attenzione : +2|Attenzione: 2| 2|Qualche cosa di strano sta per 2|accadere ! @2 -1|Indizi : +1|Indizi: 1| 1|E' prima di tutto necessario 1|costruire due palizzate a nord, @@ -218,7 +218,7 @@ Il villaggio di Blupi è in pericolo ! 2|bisogna cercare in direzione est. #3 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Impedire che i quattro Blupi 1|smarriti nella foresta muoiano @@ -230,14 +230,14 @@ Il villaggio di Blupi è in pericolo ! -2|Attenzione : +2|Attenzione: 2| 2|Quando il terreno è costituito 2|da muschio, brucia 2|meravigliosamente bene ... @3 -1|Soluzione : +1|Soluzione: 1| 1|1) Spaccare una roccia. 1| Le rocce più piccole si spaccano @@ -250,13 +250,13 @@ Il villaggio di Blupi è in pericolo ! 2| spenga ... #4 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Consentire ai quattro Blupi di 1|raggiungere le lastre tratteggiate. @4 -1|Soluzione : +1|Soluzione: 1| 1|1) Abbattere un albero. 1| @@ -273,22 +273,22 @@ Il villaggio di Blupi è in pericolo ! 2|le lastre tratteggiate. #5 -1|La trappola : +1|La trappola: 1|Attenzione, il terreno dove sono 1|prigionieri i Blupi è molto 1|infiammabile e l'incendio avanza ... 1| -1|Obbiettivo : +1|Obbiettivo: 1|Resistere sino a che l'incendio non 1|è stato domato. -2|Attenzione : +2|Attenzione: 2|La costruzione di un muro è un 2|lavoro massacrante. E' inevitabile 2|che Blupi muoia una volta 2|concluso un muro ! -Trucco : +Trucco: Se il gioco si svolge troppo lentamente per i tuoi gusti, premi il tasto F6 per accelerarlo. @@ -296,7 +296,7 @@ Premendo il tasto F5 potrai ristabilire la velocità normale. @5 -1|Indizi : +1|Indizi: 1| 1|E' necessario costruire quattro 1|muri sulle lastre grigie. Per @@ -311,7 +311,7 @@ ristabilire la velocità normale. 2|sua estinzione ... #6 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Proteggi il più rapidamente 1|possibile il campo trincerato @@ -326,7 +326,7 @@ ristabilire la velocità normale. -Trucco : +Trucco: E' possibile selezionare diversi Blupi contemporaneamente mantenendo premuto il tasto @@ -334,7 +334,7 @@ Maiuscolo e cliccando al tempo stesso su ogni Blupi. @6 -1|Soluzione : +1|Soluzione: 1| 1|Bisogna chiedere in fretta ai 1|quattro Blupi di spaccare ognuno @@ -355,20 +355,20 @@ stesso su ogni Blupi. 2|tratteggiate a sud-est. #7 -1|Obbiettivo : +1|Obbiettivo: 1| 1|I quattro Blupi devono raggiungere 1|le lastre tratteggiate. 1|Sarà necessario prendersi cura del 1|povero Blupi più lontano ... -2|Attenzione : +2|Attenzione: 2| 2|Il terreno non consente di costruire 2|un capanno da giardino ! @7 -1|Soluzione : +1|Soluzione: 1| 1|Chiedere ad un Blupi di prendere 1|dei pomodori per salvarli dai @@ -383,7 +383,7 @@ stesso su ogni Blupi. 2|possa nutrire prima di spostarsi. #8 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Cerca di evitare che uno o due 1|Blupi vengano contaminati, poi @@ -395,12 +395,12 @@ stesso su ogni Blupi. -2|Indizio : +2|Indizio: 2| 2|Costruisci un laboratorio ... @8 -1|Indizi : +1|Indizi: 1| 1|E' necessario costruire un 1|laboratorio usando delle pietre. @@ -415,7 +415,7 @@ stesso su ogni Blupi. 2|Le case si trovano a sud-est ... #9 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Trova il modo per passare oltre 1|la pista di pattinaggio ... @@ -423,7 +423,7 @@ stesso su ogni Blupi. -2|Nota : +2|Nota: 2| 2|Blupi può camminare sul ghiaccio. 2|L'unico inconveniente è che Blupi @@ -431,7 +431,7 @@ stesso su ogni Blupi. 2|facendo perde molte forze ! @9 -1|Indizi : +1|Indizi: 1| 1|E' necessario costruire due torri 1|per proteggersi dai ragni. @@ -450,7 +450,7 @@ stesso su ogni Blupi. 2|prima di attraversarla ! #10 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Raggiungere l'isola a nord-est, 1|poi saltare la palizzata. @@ -460,7 +460,7 @@ stesso su ogni Blupi. 2|tratteggiate ... @10 -1|Indizi : +1|Indizi: 1| 1|E' necessario costruire un ponte in 1|direzione dei quattro prigionieri. @@ -482,14 +482,14 @@ stesso su ogni Blupi. 2|proteggerli dall'esplosione ... #11 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Raggiungere le case a nord-est. 1|Ma attenzione, sono ben 1|custodite ... @11 -1|Indizi : +1|Indizi: 1| 1|Costruisci un ponte verso l'isola 1|situata a nord-ovest, poi produci @@ -507,14 +507,14 @@ stesso su ogni Blupi. 2|bulldozer ... #12 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Tre Blupi devono raggiungere 1|il Blupi isolato su un'isola lontana 1|in direzione nord-ovest. @12 -1|Indizi : +1|Indizi: 1| 1|Costruisci un capanno da giardino 1|e coltiva pomodori. @@ -532,7 +532,7 @@ stesso su ogni Blupi. 2|pericolosi ... #13 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Sbarazzarsi dei sei ragni. 1| @@ -541,13 +541,13 @@ stesso su ogni Blupi. 1|ultimi due, dovrai ricorrere a dei 1|trucchi ... -2|Trucco : +2|Trucco: 2| 2|Trova il modo di produrre del 2|veleno nel laboratorio. @13 -1|Indizi : +1|Indizi: 1| 1|I primi quattro ragni vengono 1|catturati con delle trappole @@ -567,13 +567,13 @@ stesso su ogni Blupi. 2|al laboratorio. #14 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Blupi deve semplicemente tornare 1|nella sua casa ... @14 -1|Indizi : +1|Indizi: 1| 1|Sonda il terreno costituito da 1|piccoli sassi alla ricerca di ferro. @@ -596,7 +596,7 @@ stesso su ogni Blupi. 2|e allontanarti ... #15 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Un solo Blupi deve raggiungere 1|la casa situata a nord-est. @@ -606,7 +606,7 @@ stesso su ogni Blupi. 2|postazioni nemiche. @15 -1|Indizi : +1|Indizi: 1| 1|Costruisci un capanno da giardino 1|e due torri di protezione sulle @@ -629,19 +629,19 @@ stesso su ogni Blupi. 2|il campo nemico ... #16 -1|Situazione : +1|Situazione: 1| 1|Blupi si è smarrito in una regione 1|arida e priva di alberi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|I due Blupi devono rientrare 2|al villaggio nelle loro case ... @16 -1|Indizi : +1|Indizi: 1| 1|Trova la miniera di ferro a 1|nord-est poi taglia una roccia @@ -662,7 +662,7 @@ stesso su ogni Blupi. 2|teletrasporto ... #17 -1|Obbiettivo : +1|Obbiettivo: 1| 1|I cinque Blupi devono raggiungere 1|ognuno una casa. @@ -671,7 +671,7 @@ stesso su ogni Blupi. 2|dietro il campo nemico ! -Trucco : +Trucco: E' possibile selezionare diversi Blupi contemporaneamente mantenendo premuto il tasto @@ -679,7 +679,7 @@ Maiuscolo e cliccando al tempo stesso sui Blupi. @17 -1|Indizi : +1|Indizi: 1| 1|Un Blupi può immediatamente 1|raggiungere la casa sull'isola @@ -700,7 +700,7 @@ stesso sui Blupi. 2|scoppio ritardato ... #18 -1|Situazione : +1|Situazione: 1| 1|Mentre Blupi coglieva 1|tranquillamente dei fiori, @@ -713,13 +713,13 @@ stesso sui Blupi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Blupi deve fuggire e trovare un 2|modo per tornare a casa sua. @18 -1|Indizi : +1|Indizi: 1| 1|Trova la distesa d'acqua che si 1|trova a ovest e costruisci @@ -738,18 +738,18 @@ stesso sui Blupi. 2|bulldozer ! #19 -1|Situazione : +1|Situazione: 1| 1|Quattro bulldozer terrorizzano 1|il villaggio di Blupi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Eliminare i bulldozer ... @19 -1|Indizi : +1|Indizi: 1| 1|Chiedi a un Blupi di estrarre 1|del ferro e di costruire poi una @@ -772,13 +772,13 @@ stesso sui Blupi. 2|bulldozer ! #20 -1|Obbiettivo : +1|Obbiettivo: 1| 1|Distruggere tutte le postazioni 1|nemiche. @20 -1|Indizi : +1|Indizi: 1| 1|Produrre più dinamite possibile, 1|più trappole possibili, ecc ... @@ -786,7 +786,7 @@ stesso sui Blupi. 1|che circonda il campo nemico ... #21 -1|Situazione : +1|Situazione: 1| 1|Blupi è stato catturato dal 1|robot cattivo. @@ -795,13 +795,13 @@ stesso sui Blupi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Blupi deve fuggire ... 2|e tornare a casa sua. @21 -1|Indizi : +1|Indizi: 1| 1|Prendi la dinamite a nord-est. 1|Posizionala in seguito contro una @@ -822,7 +822,7 @@ stesso sui Blupi. 2|la barriera blu a est. #22 -1|Obbiettivo : +1|Obbiettivo: 1| 1|1) Costruire delle barche. 1| @@ -832,7 +832,7 @@ stesso sui Blupi. 2| postazioni nemiche. @22 -1|Indizi : +1|Indizi: 1| 1|L'isola a nord-est contiene del 1|minerale di ferro. @@ -842,7 +842,7 @@ stesso sui Blupi. 2|dinamite e delle trappole collose. #23 -1|Situazione : +1|Situazione: 1| 1|Blupi è un gran curiosone: dopo 1|avere osservato il robot, per lungo @@ -850,13 +850,13 @@ stesso sui Blupi. 1|smarrito ... -2|Obbiettivo : +2|Obbiettivo: 2| 2|Far arrivare dei rinforzi poi 2|distruggere tutti i nemici ! @23 -1|Indizi : +1|Indizi: 1| 1|Il Blupi isolato deve allontanarsi 1|dal robot e andare verso ovest. @@ -876,18 +876,18 @@ stesso sui Blupi. 2|e aiutare il Blupi smarrito ... #24 -1|Situazione : +1|Situazione: 1| 1|La regione è infestata dai nemici. 1| -2|Obbiettivo : +2|Obbiettivo: 2| 2|Eliminare tutti i nemici ... @24 -1|Indizi : +1|Indizi: 1| 1|Fuggi verso sud-est per evitare 1|l'incendio, poi costruisci una barca @@ -904,7 +904,7 @@ stesso sui Blupi. 1|Da qualche tempo Blupi sospetta 1|dell'esistenza di uno strano 1|materiale portato sul suo -1|pianeta dal robot : +1|pianeta dal robot: 1| 1| il Platinium ... 1| @@ -914,13 +914,13 @@ stesso sui Blupi. 2|tecnologia nemica. 2| -2|Obbiettivo : +2|Obbiettivo: 2| 2|Riporta un cubo di Platinium 2|sulle lastre tratteggiate. @25 -1|Indizi : +1|Indizi: 1| 1|Elimina i due bulldozer con le 1|trappole collose. Costruisci una @@ -943,13 +943,13 @@ stesso sui Blupi. 1|l'accesso alla tecnologia nemica 1|se utilizzato correttamente. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Aiuta Blupi a ritrovare la sua 2|casa ... @26 -1|Indizi : +1|Indizi: 1| 1|Costruisci un robot-aiutante con 1|il cubo di Platinium in fabbrica. @@ -968,7 +968,7 @@ stesso sui Blupi. 2|del primo salto. #27 -1|Situazione : +1|Situazione: 1| 1|Con gran faccia tosta, il robot 1|ha posto la sua base proprio @@ -976,13 +976,13 @@ stesso sui Blupi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Raggiungere il campo nemico 2|poi distruggere tutto ... @27 -1|Indizi : +1|Indizi: 1| 1|Costruisci il più rapidamente 1|che puoi un teletrasporto, al fine @@ -996,7 +996,7 @@ stesso sui Blupi. 2|sollievo ! 2| 2|Hai due possibilità per raggiungere -2|il campo nemico a nord : +2|il campo nemico a nord: 2| 2|1) delle barche 2|2) un ponte @@ -1004,7 +1004,7 @@ stesso sui Blupi. 2|A te la scelta ... #28 -1|Situazione : +1|Situazione: 1| 1|Blupi è un gran distratto. 1|Infatti ha costruito un muro @@ -1012,13 +1012,13 @@ stesso sui Blupi. 1|sbaglio ... -2|Obbiettivo : +2|Obbiettivo: 2| 2|Blupi deve semplicemente 2|rientrare a casa ... @28 -1|Indizi : +1|Indizi: 1| 1|In un'isoletta a nord si trovano 1|molte uova. @@ -1037,7 +1037,7 @@ stesso sui Blupi. 2|di cinta. #29 -1|Situazione : +1|Situazione: 1| 1|Lo spazio libero è sempre più 1|occupato dal robot e dai suoi @@ -1046,7 +1046,7 @@ stesso sui Blupi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Blupi deve costruire il suo villaggio 2|prevedendo delle difese efficaci. @@ -1055,7 +1055,7 @@ stesso sui Blupi. 2|nemici ... @29 -1|Indizi : +1|Indizi: 1| 1|Costruire delle torri a nord-est, 1|a nord-ovest e a sud-est. @@ -1076,7 +1076,7 @@ stesso sui Blupi. 2|armature ... #30 -1|Situazione : +1|Situazione: 1| 1|Questa guerra non può più durare. 1|Un accordo è stato concluso con @@ -1089,7 +1089,7 @@ stesso sui Blupi. -2|Obbiettivo : +2|Obbiettivo: 2| 2|Preparare il cammino affinché il 2|robot possa raggiungere il suo @@ -1099,7 +1099,7 @@ stesso sui Blupi. 2|terminato ! @30 -1|Indizi : +1|Indizi: 1| 1|Spaccare della roccia a sud-est. 1|Abbattere un albero e costruire diff --git a/resources/data/pt/stories.blp b/resources/data/pt/stories.blp index c3f2a52..bd23555 100644 --- a/resources/data/pt/stories.blp +++ b/resources/data/pt/stories.blp @@ -1,5 +1,5 @@ $1 -1|Objetivo : +1|Objetivo: 1| 1|Cada Blupi deve entrar em uma casa. 1|Para fazer isso, sempre use o botao @@ -29,7 +29,7 @@ $1 $2 Existe um segundo treino um pouco mais -complicado : +complicado: 1|Transportar ambas pilhas de madeiras 1|para o pavimento de pedra na @@ -47,7 +47,7 @@ complicado : -Dica : +Dica: Para arrastar sua tela, você pode arrastar seu mouse para o lado da tela ou usar as setas do seu @@ -65,13 +65,13 @@ $3 -Dica : +Dica: é mais eficiente usar o mouse e o teclado ao mesmo tempo. $4 -1|Objetivo : +1|Objetivo: 1| 1|Os quatro Blupis devem chegar nas 1|casas ao norte da ilha. @@ -80,7 +80,7 @@ $4 2|energia suficiente para pular. $5 -1|Objetivo : +1|Objetivo: 1| 1|Colocar dois grupos de tomates 1|no pavimento de pedra. @@ -92,7 +92,7 @@ $5 2|no pavimento de pedra (sem comer). $6 -1|Objetivo : +1|Objetivo: 1| 1|Cada Blupi deve chegar em casa 1|em uma pequena ilha. @@ -144,18 +144,18 @@ A nave espacial colocou fogo na floresta. Agora a vila do Blupi pode estar em perigo. -1|Objetivo : +1|Objetivo: 1| 1|Impedir que a vila seja queimada. 1|Para fazer isso, existe apenas uma -1|maneira : Cortar algumas plantas do +1|maneira: Cortar algumas plantas do 1|lado esquerdo. -2|Dica : +2|Dica: 2| 2|Se um Blupi ficar escondido atras 2|de uma planta, pressione a barra de @@ -164,7 +164,7 @@ pode estar em perigo. 2|instantes. @1 -1|Soluçao : +1|Soluçao: 1| 1|Levar o Blupi para a esquerda 1|para cortar algumas plantas. Os @@ -172,7 +172,7 @@ pode estar em perigo. 1|carregar as madeiras. #2 -1|Objetivo : +1|Objetivo: 1| 1|Blupi esta longe e perdido da 1| sua vila. Ele deve se organizar @@ -189,14 +189,14 @@ pode estar em perigo. 2| -2|Tenha cuidado : +2|Tenha cuidado: 2| 2|Algumas coisas incomuns 2|podem acontecer. @2 -1|Dicas : +1|Dicas: 1| 1|Primeiro, você deve construir 1|duas barreiras no norte @@ -210,7 +210,7 @@ pode estar em perigo. #3 -1|Objetivo : +1|Objetivo: 1| 1|Evitar que os quatro Blupis 1|se queimem. @@ -220,13 +220,13 @@ pode estar em perigo. -2|Tenha cuidado : +2|Tenha cuidado: 2| 2|O terreno é feito de musgo 2|que queima mais facilmente. @3 -1|Soluçao : +1|Soluçao: 1| 1|1) Esculpir uma pedra. 1| As pedras menores ficam @@ -238,14 +238,14 @@ pode estar em perigo. 2|3) Espere até que o fogo acabe. #4 -1|Objetivo : +1|Objetivo: 1| 1|Faça os quatro Blupis 1|alcançarem o pavimento 1|de pedra @4 -1|Soluçao : +1|Soluçao: 1| 1|1) Corte uma planta 1| @@ -263,30 +263,30 @@ pode estar em perigo. 2|o pavimento de pedras. #5 -1|A armadilha : +1|A armadilha: 1|Cuidado, o terreno onde os 1|Blupis estao prisioneiros 1|podem se queimar. 1| -1|Objetivo : +1|Objetivo: 1|Resista até quando o fogo 1|tiver apagado. -2|Tome Cuidado : +2|Tome Cuidado: 2|Construir uma parede é trabalho 2|muito cansativo para o Blupi. 2|Quando ele terminar, vai morrer ! -Dica : +Dica: Se o jogo estiver muito devagar para você, pressione a tecla F6 para aumentar a velocidade. E F5 para voltar ao normal. @5 -1|Dicas : +1|Dicas: 1| 1|Você deve construir quatro 1|paredes no pavimento cinza. @@ -299,9 +299,9 @@ F5 para voltar ao normal. 2|esperar até o fogo acabar. #6 -1|Objetivo : +1|Objetivo: 1| -1|Um perigo esta presente : proteja +1|Um perigo esta presente: proteja 1|o campo o mais depressa possivel 1|com quatro torres. @@ -317,7 +317,7 @@ F5 para voltar ao normal. -Dica : +Dica: Você pode selecionar muitos Blupis ao mesmo tempo mantendo @@ -326,7 +326,7 @@ clica em cada Blupi. @6 -1|Soluçao : +1|Soluçao: 1| 1|Você deve colocar quatro Blupis 1|para esculpir as pedras rapidamente. @@ -347,7 +347,7 @@ clica em cada Blupi. 2|sudeste. #7 -1|Objetivo : +1|Objetivo: 1| 1|Os quatro Blupis devem 1|alcançar o pavimento de @@ -359,14 +359,14 @@ clica em cada Blupi. -2|Tome cuidado : +2|Tome cuidado: 2| 2|O terreno é inapropriado 2|para construir uma casa do 2|jardim. @7 -1|Soluçao : +1|Soluçao: 1| 1|Faça um Blupi guardar um 1|tomate rapidamente para que @@ -381,7 +381,7 @@ clica em cada Blupi. 2|possa comer. #8 -1|Objetivo : +1|Objetivo: 1| 1|Evitar que um ou dois Blupis 1|se contaminem e encontrar um @@ -396,12 +396,12 @@ clica em cada Blupi. -2|Dica : +2|Dica: 2| 2|Construa um laboratorio. @8 -1|Soluçao : +1|Soluçao: 1| 1|Um laboratorio de pedra deve 1|ser feito. Ele vai permitir que @@ -416,7 +416,7 @@ clica em cada Blupi. 2|As casas ficam no sudeste da ilha. #9 -1|Objetivo : +1|Objetivo: 1| 1|Encontrar uma forma para 1|atravessar a pista de gelo. @@ -426,14 +426,14 @@ clica em cada Blupi. -2|Nota : +2|Nota: 2| 2|Blupi pode andar no gelo. Mas 2|como o gelo é muito escorregadio, 2|ele vai perder muita energia. @9 -1|Soluçao : +1|Soluçao: 1| 1|Construa duas torres para 1|proteger os Blupis das @@ -449,7 +449,7 @@ clica em cada Blupi. 2|levar os tomates antes da pista. #10 -1|Objetivo : +1|Objetivo: 1| 1|Alcançar a ilha no 1|nordeste e explodir @@ -460,7 +460,7 @@ clica em cada Blupi. 2|Blupis no pavimento de pedra. @10 -1|Soluçao : +1|Soluçao: 1| 1|Construa uma ponta na direçao 1|dos quatro prisioneiros. Você pode @@ -481,14 +481,14 @@ clica em cada Blupi. 2|protegê-los da explosao. #11 -1|Objetivo : +1|Objetivo: 1| 1|Alcançar as casas no 1|nordeste. Tome cuidado, 1|elas estao bem guardadas. @11 -1|Dicas : +1|Dicas: 1| 1|Construa uma ponte no sentido 1|da ilha noroeste e depois @@ -505,14 +505,14 @@ clica em cada Blupi. 2|escavadoras. #12 -1|Objetivo : +1|Objetivo: 1| 1|Três Blupis devem se unir 1| com o Blupi isolado na ilha 1|no lado noroeste. @12 -1|Dica : +1|Dica: 1| 1|Construa uma casa do jardim 1|e plante tomates. @@ -528,7 +528,7 @@ clica em cada Blupi. 2|dois virus escondidos. #13 -1|Objetivo : +1|Objetivo: 1| 1|Conseguir se livrar das seis 1|aranhas. @@ -542,13 +542,13 @@ clica em cada Blupi. -2|Dica : +2|Dica: 2| 2|Descubra como produzir 2|remedio no laboratorio. @13 -1|Soluçao : +1|Soluçao: 1| 1|As primeiras quatro aranhas 1|podem ser capturadas com @@ -567,14 +567,14 @@ clica em cada Blupi. 2|os tomates para o laboratorio. #14 -1|Objetivo : +1|Objetivo: 1| 1|O Blupi deve simplesmente 1|ir para casa. 1| @14 -1|Soluçao : +1|Soluçao: 1| 1|Procure por ferro sobre o 1|terreno rochoso. Coloque uma @@ -597,7 +597,7 @@ clica em cada Blupi. 2|fugir #15 -1|Objetivo : +1|Objetivo: 1| 1|Somente um Blupi 1|deve alcançar a casa no @@ -608,7 +608,7 @@ clica em cada Blupi. 2|instalaçoes inimigas. @15 -1|Dicas : +1|Dicas: 1| 1|Construa uma casa do jardim 1|e duas torres no pavimento @@ -632,7 +632,7 @@ clica em cada Blupi. 2|inimigo #16 -1|Situaçao : +1|Situaçao: 1| 1|Blupi esta perdido em uma parte 1|arida do planeta sem nenhuma @@ -641,13 +641,13 @@ clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Os dois Blupis devem voltar 2|para casa em sua vila. @16 -1|Dicas : +1|Dicas: 1| 1|Encontre a mina no nordeste, 1|esculpa uma rocha e construa @@ -664,7 +664,7 @@ clica em cada Blupi. 2|um teletransportador. #17 -1|Objetivo : +1|Objetivo: 1| 1|Os cinco Blupis devem 1|alcançar uma casa. @@ -683,7 +683,7 @@ clica em cada Blupi. -Dica : +Dica: Você pode selecionar alguns Blupis ao mesmo tempo @@ -691,7 +691,7 @@ mantendo a tecla Shift selecionada enquanto clica em cada Blupi. @17 -1|Soluçao : +1|Soluçao: 1| 1|Um Blupi pode ir para a casa 1|no lado oeste da ilha. @@ -711,7 +711,7 @@ enquanto clica em cada Blupi. 2|uma bomba. #18 -1|Situaçao : +1|Situaçao: 1| 1|Enquanto Blupi estava 1|colhendo flores, ele nao percebeu @@ -723,13 +723,13 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Blupi deve fugir e encontrar 2|uma forma para voltar para casa. @18 -1|Dicas : +1|Dicas: 1| 1|Encontre a agua localizada no 1|oeste. Faça um bote. Cuidado, @@ -745,7 +745,7 @@ enquanto clica em cada Blupi. 2|as escavadoras. #19 -1|Situaçao : +1|Situaçao: 1| 1|Quatro escavadoras parecem 1|ameaçando a vila do Blupi. @@ -754,12 +754,12 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Destruir as escavadoras @19 -1|Dicas : +1|Dicas: 1| 1|Faça um Blupi extrair ferro 1|e construir uma armadura. Ela vai @@ -780,14 +780,14 @@ enquanto clica em cada Blupi. 2|as escavadoras. #20 -1|Objetivo : +1|Objetivo: 1| 1|Destruir todas as instalaçoes 1|inimigas. 1| @20 -1|Dicas : +1|Dicas: 1| 1|Produza muitas dinamites, 1|armadilhas, etc. possiveis antes @@ -795,7 +795,7 @@ enquanto clica em cada Blupi. 1|protegem o campo inimigo. #21 -1|Situaçao : +1|Situaçao: 1| 1|Blupi foi capturado por um 1|robo asqueroso. Ele é um @@ -805,13 +805,13 @@ enquanto clica em cada Blupi. -2|Objeto : +2|Objeto: 2| 2|Blupi deve escapar e achar 2|sua casa. @21 -1|Dicas : +1|Dicas: 1| 1|Pegue a dinamite do nordeste. 1|Coloque-a perto da barreira @@ -831,7 +831,7 @@ enquanto clica em cada Blupi. 2|azul no leste. #22 -1|Objetivo : +1|Objetivo: 1| 1|1) Fazer botes. 1| @@ -841,7 +841,7 @@ enquanto clica em cada Blupi. 1| inimigas. @22 -1|Dicas : +1|Dicas: 1| 1|A ilha no nordeste tem 1|muito ferro. @@ -851,7 +851,7 @@ enquanto clica em cada Blupi. 2|dinamite e armadilhas pegajosas. #23 -1|Situaçao : +1|Situaçao: 1| 1|Blupi parece estar curioso. 1|Depois de ter observado o robo @@ -861,14 +861,14 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Trazer ajuda e destruir 2|os inimigos! @23 -1|Dicas : +1|Dicas: 1| 1|O Blupi isolado deve ir 1|longe do robo e ir para o @@ -888,19 +888,19 @@ enquanto clica em cada Blupi. 2|o Blupi perdido. #24 -1|Situaçao : +1|Situaçao: 1| 1|O lugar possui muitos inimigos. 1| -2|Objetivo : +2|Objetivo: 2| 2|Destruir todos os inimigos. @24 -1|Dicas : +1|Dicas: 1| 1|Vai para o sudeste para evitar 1|o fogo e faça um bote com @@ -916,7 +916,7 @@ enquanto clica em cada Blupi. 1|Blupi ficou desconfiado 1|porque o trouxe algumas 1|coisas estranhas para o -1|seu planeta : +1|seu planeta: 1| 1| Platina.... 1| @@ -927,12 +927,12 @@ enquanto clica em cada Blupi. 2| -2|Objetivo : +2|Objetivo: 2|Trazer cubo de platina para 2|o pavimento de pedra. @25 -1|Soluçao : +1|Soluçao: 1| 1|Destruir duas escavadoras com 1|armadilhas pegajosas. Fazer um @@ -960,13 +960,13 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Ajudar o Blupi a encontrar a 2|sua casa. @26 -1|Dicas : +1|Dicas: 1| 1|Fazer um robo ajudante com o 1|cubo de platina na fabrica e @@ -984,7 +984,7 @@ enquanto clica em cada Blupi. 2|pular. #27 -1|Situaçao : +1|Situaçao: 1| 1|O robo teve o atrevimento de 1|instalar a sua vila perto da @@ -993,13 +993,13 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Alcançar o campo inimigo e 2|destruir tudo. @27 -1|Dicas : +1|Dicas: 1| 1|Fazer um teletransportador o 1|mais rapido possivel para você @@ -1020,10 +1020,10 @@ enquanto clica em cada Blupi. 2|Você pode escolher ! #28 -1|Situaçao : +1|Situaçao: 1| 1|Enquanto estava construindo -1|sua casa, Blupi fez um erro : +1|sua casa, Blupi fez um erro: 1|ele construiu uma parede em 1|volta dela. @@ -1031,13 +1031,13 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Blupi deve simplesmente 2|ir para casa. @28 -1|Dicas : +1|Dicas: 1| 1|Uma pequena ilha no norte 1|tem muitos ovos. @@ -1058,7 +1058,7 @@ enquanto clica em cada Blupi. 2|da parede de proteçao. #29 -1|Situaçao : +1|Situaçao: 1| 1|O espaço livre parece estar sendo 1|ocupado mais e mais pelo robo @@ -1068,7 +1068,7 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Blupi deve construir sua vila 2|e elaborar uma boa tatica @@ -1078,7 +1078,7 @@ enquanto clica em cada Blupi. 2|eliminar todos os seus inimigos. @29 -1|Dicas : +1|Dicas: 1| 1|Ele deve construir torres de 1|proteçao no noroeste, @@ -1098,11 +1098,11 @@ enquanto clica em cada Blupi. 2|bombas e armadilhas. #30 -1|Situaçao : +1|Situaçao: 1| 1|Esta guerra precisa acabar logo. 1|Blupi e o robo tiveram que -1|fazer um acordo : +1|fazer um acordo: 1|Ele precisa ajudar o robo a voltar 1|para o seu foguete, em retorno, 1|o robo vai deixar de forma @@ -1111,7 +1111,7 @@ enquanto clica em cada Blupi. -2|Objetivo : +2|Objetivo: 2| 2|Preparar o caminho para o foguete 2|para que o robo possa deixar @@ -1121,7 +1121,7 @@ enquanto clica em cada Blupi. 2|o caminho esteja terminado. @30 -1|Dicas : +1|Dicas: 1| 1|Esculpa uma rocha no sudeste. 1|Corte uma planta e faça um bote. diff --git a/resources/data/tr/stories.blp b/resources/data/tr/stories.blp index 960f733..d7a5985 100644 --- a/resources/data/tr/stories.blp +++ b/resources/data/tr/stories.blp @@ -1,5 +1,5 @@ $1 -1|Hedef : +1|Hedef: 1| 1|Her Blupi bir eve girmek zorunda. 1|Bunu yapmak için, her zaman sol @@ -28,7 +28,7 @@ $1 $2 İşte daha karışık olan ikinci -alıştırma : +alıştırma: 1|Her iki kalas yığınını sağdaki 1|çizgili parke taşına taşı. @@ -45,7 +45,7 @@ alıştırma : -İpucu : +İpucu: Ekranı kaydırmak için, fareni ekranın kenarına çekebilir veya klavye yön tuşlarını @@ -63,13 +63,13 @@ $3 -İpucu : +İpucu: Bir elle fareyi kullanırken diğeriyle klavye yön oklarını kullanmak daha etkili. $4 -1|Hedef : +1|Hedef: 1| 1|Dört Blupi kuzeydeki adalarda 1|bulunan evlere ulaşmalı. @@ -78,7 +78,7 @@ $4 2|gücü almak için yemek yemeli. $5 -1|Hedef : +1|Hedef: 1| 1|İki grup domatesi çizgili 1|parke taşının üzerine koy. @@ -92,7 +92,7 @@ $5 2|yeme). $6 -1|Hedef : +1|Hedef: 1| 1|Her Blupi, küçük bir adada 1|bulunan bir eve ulaşmalı. @@ -136,11 +136,11 @@ Uzay gemisi çarpışması ormanda yangın çıkardı. Blupi'lerin köyü şimdi tehlikede. -1|Hedef : +1|Hedef: 1| 1|Köyün yanmasını engelle. 1|Bunu yapmak için sadece bir yol -1|var : +1|var: 1|Solda bulunan ağaçların 1|bazılarını kes. @@ -149,7 +149,7 @@ köyü şimdi tehlikede. -2|İpucu : +2|İpucu: 2| 2|Eğer bir Blupi ağaçların arkasına 2|gizlenmişse, boşluk tuşuna bas. @@ -157,14 +157,14 @@ köyü şimdi tehlikede. 2|olarak saydam hale getirecek. @1 -1|Çözüm : +1|Çözüm: 1| 1|Soldaki Blupi'ye birçok ağacı 1|kesmesi için buyur. Diğer iki 1|Blupi kalasları uzağa taşıyacak. #2 -1|Durum : +1|Durum: 1| 1|Blupi köyünden uzakta ve 1|kayboldu. O, köyünü aramadan @@ -181,13 +181,13 @@ köyü şimdi tehlikede. 2| -2|Dikkat et : +2|Dikkat et: 2| 2|Sıradışı bir şey olacak. @2 -1|İpuçları : +1|İpuçları: 1| 1|Öncelikle, örümceğin gelmesini 1|engellemek için kuzeye iki @@ -202,7 +202,7 @@ köyü şimdi tehlikede. #3 -1|Hedef : +1|Hedef: 1| 1|Dört kayıp Blupi'nin yanmasını 1|engelle. @@ -212,13 +212,13 @@ köyü şimdi tehlikede. -2|Dikkat et : +2|Dikkat et: 2| 2|Zemin, kolay yanabilen 2|yosunlardan ibaret. @3 -1|Çözüm : +1|Çözüm: 1| 1|1) Kaya kes. 1| Ufak kayaları kesmek daha @@ -230,13 +230,13 @@ köyü şimdi tehlikede. 2|3) Yangının durmasını bekle. #4 -1|Hedef : +1|Hedef: 1| 1|Dört Blupi'nin çizgili parke 1|taşına ulaşmasını sağla. @4 -1|Çözüm : +1|Çözüm: 1| 1|1) Bir ağaç kes. 1| @@ -259,17 +259,17 @@ köyü şimdi tehlikede. 1|almakta ve yangın daha da 1|yaklaşmakta. 1| -1|Hedef : +1|Hedef: 1|Yangın sönene kadar dayan. -2|Dikkat et : +2|Dikkat et: 2|Duvar yapmak Blupi için çok 2|yorucu bir iş. Duvarı 2|bitirdiğinde, Blupi ölür ! -İpucu : +İpucu: Eğer oyun senin için yeterince hızlı değilse, oyunu hızlandırmak için F6'ya bas. @@ -277,7 +277,7 @@ F5, oyunu normal hızda çalıştırır. @5 -1|İpuçları : +1|İpuçları: 1| 1|Gri parke taşlarının üzerine 1|dört duvar inşa etmelisin. @@ -289,7 +289,7 @@ F5, oyunu normal hızda 2|durana kadar beklemelisin. #6 -1|Hedef : +1|Hedef: 1| 1|Bir tehlike söz konusu: 1|kampı derhal dört kuleyle @@ -306,7 +306,7 @@ F5, oyunu normal hızda -İpucu : +İpucu: Shift tuşu basılıyken her bir Blupi'ye tıklarsan, birkaç @@ -314,7 +314,7 @@ Blupi'yi aynı anda seçebilirsin. @6 -1|Çözüm : +1|Çözüm: 1| 1|Dört Blupi'nin hemen kaya 1|kesmesini talep etmelisin. @@ -333,7 +333,7 @@ Blupi'yi aynı anda seçebilirsin. 2|gidebilir. #7 -1|Hedef : +1|Hedef: 1| 1|Dört Blupi çizgili parke 1|taşına ulaşmalı. En uzaktaki @@ -344,13 +344,13 @@ Blupi'yi aynı anda seçebilirsin. -2|Dikkat et : +2|Dikkat et: 2| 2|Toprak, bahçe kulübesi inşa 2|etmek için uygun değil. @7 -1|Çözüm : +1|Çözüm: 1| 1|Bir Blupi'ye domatesleri 1|kaldırmasını talep et, böylece @@ -366,7 +366,7 @@ Blupi'yi aynı anda seçebilirsin. 2|yiyebilir. #8 -1|Hedef : +1|Hedef: 1| 1|Bir veya iki Blupi'ye mikrop 1|bulaşmasını önle ve hasta @@ -381,12 +381,12 @@ Blupi'yi aynı anda seçebilirsin. -2|İpucu : +2|İpucu: 2| 2|Bir laboratuvar kur. @8 -1|İpuçları : +1|İpuçları: 1| 1|Laboratuvar taştan yapılmalı 1|O, sarı çiçekleri, hasta @@ -400,7 +400,7 @@ Blupi'yi aynı anda seçebilirsin. 2|Evler güneydoğuda bulunmakta. #9 -1|Hedef : +1|Hedef: 1| 1|Buz pistini geçmek için bir 1|yol bul. @@ -411,14 +411,14 @@ Blupi'yi aynı anda seçebilirsin. -2|Not : +2|Not: 2| 2|Blupi buzda yürüyebilir. Ancak 2|kaygan buzda, o bir sürü güç 2|kaybeder. @9 -1|İpuçları : +1|İpuçları: 1| 1|Blupi'leri örümcüklerden 1|korumak için iki kule inşa @@ -434,7 +434,7 @@ Blupi'yi aynı anda seçebilirsin. 2|domates getirmelisin. #10 -1|Hedef : +1|Hedef: 1| 1|Kuzeydoğudaki adaya ulaş ve 1|kazıklı çiti havaya uçur. @@ -444,7 +444,7 @@ Blupi'yi aynı anda seçebilirsin. 2|taşına yerleştirmek. @10 -1|İpuçları : +1|İpuçları: 1| 1|Dört esirin doğrultusunda 1|bir köprü inşa et. Bu, @@ -465,14 +465,14 @@ Blupi'yi aynı anda seçebilirsin. 2|korumak için geriye çek. #11 -1|Hedef : +1|Hedef: 1| 1|Kuzeydoğudaki evlere ulaş. 1|Dikkatli ol, orası sımsıkı 1|koruma altında. @11 -1|İpuçları : +1|İpuçları: 1| 1|Kuzeybatıdaki adaya doğru bir 1|köprü inşa et ve sonra en az @@ -488,14 +488,14 @@ Blupi'yi aynı anda seçebilirsin. 2|çekersin. #12 -1|Hedef : +1|Hedef: 1| 1|Üç Blupi, yalnız bir Blupi'nin 1|bulunduğu kuzeybatıdaki bir 1|adaya varmalı. @12 -1|İpuçları : +1|İpuçları: 1| 1|Bir bahçe kulübesi inşa et ve 1|domates yetiştir. @@ -511,7 +511,7 @@ Blupi'yi aynı anda seçebilirsin. 2|gizleniyor. #13 -1|Hedef : +1|Hedef: 1| 1|Altı örümcekten kurtul. 1| @@ -524,13 +524,13 @@ Blupi'yi aynı anda seçebilirsin. -2|İpucu : +2|İpucu: 2| 2|Laboratuvarda nasıl zehir 2|üretebileceğini öğren. @13 -1|İpuçları : +1|İpuçları: 1| 1|İlk dört örümcek, laboratuvarda 1|yeşil çiçeklerden yapılan tuzakla @@ -547,13 +547,13 @@ Blupi'yi aynı anda seçebilirsin. 2|taşımak için bir köprü inşa et. #14 -1|Hedef : +1|Hedef: 1| 1|Blupi yalnızca eve gitmeli. 1| @14 -1|İpuçları : +1|İpuçları: 1| 1|Küçük çakıl taşlarının altında 1|demir ara. Kalasları bayrağın @@ -575,7 +575,7 @@ Blupi'yi aynı anda seçebilirsin. 2|uzaklaşmalısın. #15 -1|Hedef : +1|Hedef: 1| 1|Yalnız bir Blupi kuzeydoğudaki 1|eve ulaşmalı. @@ -584,7 +584,7 @@ Blupi'yi aynı anda seçebilirsin. 2|düşman tesisini yok etmelisin. @15 -1|İpuçları : +1|İpuçları: 1| 1|Çizgili parke taşının olduğu 1|yere bir bahçe kulübesi ve @@ -608,7 +608,7 @@ Blupi'yi aynı anda seçebilirsin. 2|birliği gönder. #16 -1|Durum : +1|Durum: 1| 1|Blupi, gezegeninin ağaç olmayan, 1|kurak bir yerinde kayıp. @@ -616,13 +616,13 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|İki Blupi kendi köylerine geri 2|dönmeli. @16 -1|İpuçları : +1|İpuçları: 1| 1|Kuzeydoğudaki madeni bul, bir 1|atölye inşa etmek için kaya kes, @@ -638,7 +638,7 @@ Blupi'yi aynı anda seçebilirsin. 2|ağacı ara ve ışınlayıcı inşa et. #17 -1|Hedef : +1|Hedef: 1| 1|Beş Blupi bir eve ulaşmalı. 1| @@ -657,14 +657,14 @@ Blupi'yi aynı anda seçebilirsin. -İpucu : +İpucu: Shift tuşu basılıyken her bir Blupi'ye tıklarsan, birkaç Blupi'yi aynı anda seçebilirsin. @17 -1|İpuçları : +1|İpuçları: 1| 1|Bir Blupi şimdi adanın 1|batısındaki eve gidebilir. @@ -683,7 +683,7 @@ Blupi'yi aynı anda seçebilirsin. 2|bomba ile kuzeydoğuya git. #18 -1|Durum : +1|Durum: 1| 1|Blupi çiçek toplarken, evinden 1|çok uzakta olduğunu farketmedi. @@ -694,13 +694,13 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Blupi kaçmalı ve eve dönmenin 2|bir yolunu bulmalı. @18 -1|İpuçları : +1|İpuçları: 1| 1|Batıya uzanan nehri bul ve bir 1|kayık yap. Dikkatli ol, bir @@ -714,7 +714,7 @@ Blupi'yi aynı anda seçebilirsin. 2|konusunda dikkatli ol. #19 -1|Durum : +1|Durum: 1| 1|Dört buldozer, Blupi'lerin 1|evini tehlike altına sokuyor. @@ -723,12 +723,12 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Buldozerleri yok et. @19 -1|İpuçları : +1|İpuçları: 1| 1|Bir Blupi'nin demir aramasını 1|ve zırh yapmasını talep et. @@ -748,14 +748,14 @@ Blupi'yi aynı anda seçebilirsin. 2|buldozerleri yok edebilirsin. #20 -1|Hedef : +1|Hedef: 1| 1|Bütün düşman tesislerini yok 1|et. 1| @20 -1|İpuçları : +1|İpuçları: 1| 1|Düşman kampını koruyan 1|bariyerleri yok etmeden önce, @@ -763,7 +763,7 @@ Blupi'yi aynı anda seçebilirsin. 1|tuzak, vb. üret. #21 -1|Durum : +1|Durum: 1| 1|Blupi, kötü bir robot 1|tarafından ele geçirildi. @@ -773,13 +773,13 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Blupi kaçmalı ve evini 2|bulmalı. @21 -1|İpuçları : +1|İpuçları: 1| 1|Kuzeydoğuda bulunan dinamiti 1|al. Onu, kayalardaki bir @@ -801,7 +801,7 @@ Blupi'yi aynı anda seçebilirsin. 2|bir bombayla yok etmelisin. #22 -1|Hedefler : +1|Hedefler: 1| 1|1) Kayıklar yap. 1| @@ -811,7 +811,7 @@ Blupi'yi aynı anda seçebilirsin. 1| yok et @22 -1|İpuçları : +1|İpuçları: 1| 1|Kuzeydoğudaki ada bir sürü 1|demire sahip. @@ -821,7 +821,7 @@ Blupi'yi aynı anda seçebilirsin. 2|gereken her şeye sahip. #23 -1|Durum : +1|Durum: 1| 1|Blupi çok meraklı: Robotu iyice 1|gözlemledikten sonra, şimdi @@ -832,14 +832,14 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Destek getir ve düşmanı yok 2|et. @23 -1|İpuçları : +1|İpuçları: 1| 1|Ayrı olan Blupi, robottan 1|uzaklaşmalı ve batıya gitmeli. @@ -859,19 +859,19 @@ Blupi'yi aynı anda seçebilirsin. 2|ışınlayıcı inşa edebilirsin. #24 -1|Durum : +1|Durum: 1| 1|Bölge düşmanlarla dolu. 1| -2|Hedef : +2|Hedef: 2| 2|Bütün düşmanları yok et. @24 -1|İpuçları : +1|İpuçları: 1| 1|Yangından uzak durmak için 1|güneydoğuya git ve kalan @@ -886,7 +886,7 @@ Blupi'yi aynı anda seçebilirsin. #25 1|Blupi robotun kendi gezegeninden 1|garip bir şey getirdiğinden -1|şüpheleniyor : +1|şüpheleniyor: 1| 1| Platin.... 1| @@ -897,12 +897,12 @@ Blupi'yi aynı anda seçebilirsin. 2| -2|Hedef : +2|Hedef: 2|Bir küp platini çizgili parke 2|taşının üzerine koy. @25 -1|İpuçları : +1|İpuçları: 1| 1|İki buldozeri yapışkan tuzaklar 1|ile imha et. İlk düşman kampının @@ -929,13 +929,13 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Blupi'nin evini bulmasına 2|yardım et. @26 -1|İpuçları : +1|İpuçları: 1| 1|Atölyede platin küpü kullanarak 1|yardımcı bir robot yap ve saatli @@ -952,7 +952,7 @@ Blupi'yi aynı anda seçebilirsin. 2|yere bırak. #27 -1|Durum : +1|Durum: 1| 1|Robot, Blupi köyünün yakınına 1|kendi köyünü kurma @@ -961,13 +961,13 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Düşman kampına ulaş ve 2|her şeyi yok et. @27 -1|İpuçları : +1|İpuçları: 1| 1|Hemen bir ışınlayıcı inşa et, 1|böylece yumurtalı adaya @@ -986,22 +986,22 @@ Blupi'yi aynı anda seçebilirsin. 2|Seçmek sana düşüyor ! #28 -1|Durum : +1|Durum: 1| 1|Blupi, evini inşa ederken bir -1|hata yaptı : etrafına bir duvar +1|hata yaptı: etrafına bir duvar 1|ördü. -2|Hedef : +2|Hedef: 2| 2|Blupi yalnızca eve gitmeli. @28 -1|İpuçları : +1|İpuçları: 1| 1|Kuzeyde küçük bir adada bir 1|sürü yumurta var. @@ -1020,7 +1020,7 @@ Blupi'yi aynı anda seçebilirsin. 2|bulunuyor. #29 -1|Durum : +1|Durum: 1| 1|Boş alanlar, robot ve destekçileri 1|tarafından git gide dolduruluyor. @@ -1029,7 +1029,7 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Blupi köyünü kurmalı ve iyi 2|savunma taktikleri geliştirmeli. @@ -1058,11 +1058,11 @@ Blupi'yi aynı anda seçebilirsin. 2|bombalar ve zırhlar yap. #30 -1|Durum : +1|Durum: 1| 1|Bu savaş daha fazla süremez. 1|Blupi ve son robot bir -1|anlaşmaya vardılar : Robotun, +1|anlaşmaya vardılar: Robotun, 1|Blupi'nin gezegeninden ayrılması 1|karşılığında, Blupi, robotun 1|roketine dönmesine yardım @@ -1071,7 +1071,7 @@ Blupi'yi aynı anda seçebilirsin. -2|Hedef : +2|Hedef: 2| 2|Rokete giden patikayı hazırla, 2|böylece robot, gezegenden @@ -1081,7 +1081,7 @@ Blupi'yi aynı anda seçebilirsin. 2|reddediyor. @30 -1|İpuçları : +1|İpuçları: 1| 1|Güneydoğuda bir kaya kes. Bir 1|ağaç kes ve bir kayık yap. -- cgit v1.2.3 From 2ed49562b33cb9b35d314d5100a03bcaba707a46 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 15:34:29 +0100 Subject: Update copyright date where appropriate --- src/blupi.cxx | 2 +- src/event.cxx | 2 +- src/sound.h | 2 +- src/text.cxx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/blupi.cxx b/src/blupi.cxx index 83c49c8..e55aab0 100644 --- a/src/blupi.cxx +++ b/src/blupi.cxx @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017-2018, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify diff --git a/src/event.cxx b/src/event.cxx index 16cc979..8f4fbc8 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017-2018, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound.h b/src/sound.h index f651ff2..93e611e 100644 --- a/src/sound.h +++ b/src/sound.h @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017-2018, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify diff --git a/src/text.cxx b/src/text.cxx index 5488807..226a622 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017-2018, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify -- cgit v1.2.3 From 376c9f92a99abfa1b623a9c88899a138b8e0c820 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 26 Jan 2019 23:08:29 +0100 Subject: Update setup00 background with country flags --- resources/image/setup00.png | Bin 203607 -> 211545 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/image/setup00.png b/resources/image/setup00.png index c7049f8..19ca024 100644 Binary files a/resources/image/setup00.png and b/resources/image/setup00.png differ -- cgit v1.2.3 From 00efb111fd3ec2a321101b8586b1db13ef6dd885 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 27 Jan 2019 23:53:57 +0100 Subject: Fix game name for Portuguese --- resources/po/planetblupi.pot | 2 +- resources/po/pt.po | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/po/planetblupi.pot b/resources/po/planetblupi.pot index 50474d9..aaebff5 100644 --- a/resources/po/planetblupi.pot +++ b/resources/po/planetblupi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-25 23:40+0100\n" +"POT-Creation-Date: 2019-01-27 23:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/resources/po/pt.po b/resources/po/pt.po index 6372135..22683d5 100644 --- a/resources/po/pt.po +++ b/resources/po/pt.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-25 23:40+0100\n" -"PO-Revision-Date: 2019-01-25 23:42+0100\n" +"PO-Revision-Date: 2019-01-27 23:43+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: pt\n" @@ -679,10 +679,10 @@ msgid "Paving stones" msgstr "Pavimento de pedra" msgid "Planet Blupi" -msgstr "Planet Blupi" +msgstr "Planeta Blupi" msgid "Planet Blupi -- stop" -msgstr "Planet Blupi -- parar" +msgstr "Planeta Blupi -- parar" msgid "Planks" msgstr "Madeiras" -- cgit v1.2.3 From 8224e3bd6019fb7c2b8bc66789e5d057558cd53a Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 27 Jan 2019 23:55:14 +0100 Subject: WIP: add hebrew chars support The text right alignment is not done. --- resources/image/little.png | Bin 1945 -> 2150 bytes resources/image/text.png | Bin 18786 -> 20422 bytes src/blupi.cxx | 4 ++-- src/text.cxx | 25 +++++++++++++++++++++++-- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/resources/image/little.png b/resources/image/little.png index ce1552d..0249e75 100644 Binary files a/resources/image/little.png and b/resources/image/little.png differ diff --git a/resources/image/text.png b/resources/image/text.png index bdb0722..fc1677e 100644 Binary files a/resources/image/text.png and b/resources/image/text.png differ diff --git a/src/blupi.cxx b/src/blupi.cxx index e55aab0..e8178b7 100644 --- a/src/blupi.cxx +++ b/src/blupi.cxx @@ -981,7 +981,7 @@ DoInit (int argc, char * argv[], bool & exit) } totalDim.x = DIMTEXTX * 16; - totalDim.y = DIMTEXTY * 14 * 3; + totalDim.y = DIMTEXTY * 16 * 3; iconDim.x = DIMTEXTX; iconDim.y = DIMTEXTY; if (!g_pPixmap->Cache (CHTEXT, "image/text.png", totalDim, iconDim)) @@ -991,7 +991,7 @@ DoInit (int argc, char * argv[], bool & exit) } totalDim.x = DIMLITTLEX * 16; - totalDim.y = DIMLITTLEY * 14; + totalDim.y = DIMLITTLEY * 16; iconDim.x = DIMLITTLEX; iconDim.y = DIMLITTLEY; if (!g_pPixmap->Cache (CHLITTLE, "image/little.png", totalDim, iconDim)) diff --git a/src/text.cxx b/src/text.cxx index 226a622..cb42645 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -56,6 +56,17 @@ GetOffset (const char *& c) /* ń ź ż ł ś Ş ş */ 0x84, 0xBA, 0xBC, 0x82, 0x9B, 0x9E, 0x9F, }; + + static const unsigned char table_d7[] = { + /*a ז ו ה ד ג ב א */ + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, + /*a מ ל ך כ י ט ח */ + 0x97, 0x98, 0x99, 0x9B, 0x9A, 0x9C, 0x9E, + /*a ף פ ע ס ן נ ם */ + 0x9D, 0xA0, 0x9F, 0xA1, 0xA2, 0xA4, 0xA3, + /*a ת ש ר ק ץ צ */ + 0xA6, 0xA5, 0xA7, 0xA8, 0xA9, 0xAA, + }; /* clang-format on */ int offset = 0; @@ -83,6 +94,12 @@ GetOffset (const char *& c) size = countof (table_c5); inc = 1; break; + case 0xD7: + offset = 128 + 96; + table = table_d7; + size = countof (table_d7); + inc = 1; + break; } for (size_t i = 0; i < size; ++i) @@ -122,6 +139,8 @@ GetCharWidth (const char *& c, Sint32 font) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 7, 6, 7, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 9, 9, 10, 6, 8, 10, 11, 7, 9, 9, 11, 11, 10, 7, + 7, 10, 10, 9, 10, 10, 11, 9, 9, 13, 11, 0, 0, 0, 0, 0, }; static const Uint8 table_width_little[] = @@ -140,6 +159,8 @@ GetCharWidth (const char *& c, Sint32 font) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 5, 4, 5, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 7, 7, 8, 4, 6, 8, 9, 5, 7, 7, 9, 9, 8, 5, + 5, 8, 8, 7, 8, 8, 9, 7, 7, 11, 9, 0, 0, 0, 0, 0, }; // clang-format on @@ -168,7 +189,7 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) if (font != FONTLITTLE) { - rank += 224 * font; + rank += 256 * font; pPixmap->DrawIcon (-1, CHTEXT, rank, pos); } else @@ -197,7 +218,7 @@ DrawTextPente ( rank = GetOffset (pText); auto inc = rank > 127; - rank += 224 * font; + rank += 256 * font; pPixmap->DrawIcon (-1, CHTEXT, rank, pos); lg = GetCharWidth (pText, font); -- cgit v1.2.3 From 16dfd943a7afc480c949b85bb47872e1836ed216 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 27 Jan 2019 23:56:02 +0100 Subject: WIP: add hebrew translation (broken) --- resources/data/he/stories.blp | 1112 +++++++++++++++++++++++++++++++++++++++++ resources/po/he.po | 963 +++++++++++++++++++++++++++++++++++ src/event.cxx | 10 + src/event.h | 1 + 4 files changed, 2086 insertions(+) create mode 100644 resources/data/he/stories.blp create mode 100644 resources/po/he.po diff --git a/resources/data/he/stories.blp b/resources/data/he/stories.blp new file mode 100644 index 0000000..42637fc --- /dev/null +++ b/resources/data/he/stories.blp @@ -0,0 +1,1112 @@ +$1 +1|מטרה: +1| +1|כל בלופי חייב להכנס לבית. כדי +1|לעשות זאת, תמיד השתמשו בלחצן השמאלי +1|של העכבר + +2|1) לחצו על בלופי +2| טבעת כחולה תופיעה מסביבו +2| ותעיד כי הוא הדמות הנבחרת. +2| +2|2) לחצו על הבית שלו +2| +2|3) לחצו על כפתור "המשך" +2| +2|4) חזרו על הפעולה עבור +2| הבלופי השני. + + + + + + + + + + לאחר שקראתם את ההוראות הללו + לחצו על הקוביות שבתחתית. + +$2 +הנה עוד תרגיל, מעט יותר +מסובך: + +1|העבירו את שתי ערימות הקרשים +1|למרצפות המפוספסות שנמצאות +1|בצד ימין +1| +1|בלופי חייב לאכול עגבניות כדי +1|לאגור מספיק כח לביצוע +1|הפעולה הזאת. זיכרו שכאשר +2|הוא אוכל, הטבעת האדומה שעל +2|רגלו הופכת לכחולה. הדבר +2|מעיד על רמת האנרגיה שלו. +2| +2| אדום = עייף +2| כחול = בכושר מלא + + + +רמז: +לגלילת המסך, אתם יכולים +למשוך את העכבר לצידי המסך או +להשתמש בחיצי המקלדת. + + +$3 +1|מצאו את הביצים... +1| +1|על ידי הנחתם על המדגרה, +1|ארבעה בלופים חדשים +1|יבקעו. + + + + + + +רמז: +יהיה יותר יעיל להשתמש +בעכבר ביד אחד, ובחיצי +המקלדת ביד השניה. + + +$4 +1|מטרה: +1| +1|ארבעת הבלופים חייבים להגיע +1|לבתים באיים הצפוניים. + +2|כל בלופי חייב לאכול על מנת +2|שיהיה לו כח לקפוץ. + +$5 +1|מטרה: +1| +1|עליכם להפיל שתי קבוצות של עגבניות +1|על המרצפות המחוספסות. + +2|כדי להצליח, עליכם לכרות את העצים +2|לבנות צריף, לגדל עגבניות, +2|לשים שתי קבוצות של עגבניות +2|על המרצפות המחוספסות. +2|(לא לאכול אותם). + +$6 +1|מטרה: +1| +1|כל בלופי חייב להגיע לבית שנמצא על +1|אי קטן. +1|לצערינו, אין מספיק +1|אוכל עבור בלופי אחד. +2|אתם תצטרכו למצוא דרך +2|לייצר מספיק אוכל עבור +2|כולם. +2| +2|למזלנו, יש באי +2|הרבה עצים. + +#h1 +בלופי חי לו בשלווה באי שלו +כאשר מטאור מוזר נפל לו +באיזור צחיח. +רק מאוחר יותר, בלופי הבין +שהיבול שלו תמיד מושמד על ידי +עכביש ענקי. + +למרות שהמצב הגופני של בלופי +מצויין, עכשיו הוא מתעטש +והוא נדבק במחלה נדירה. + +#h2 +מה קורה? + +למעשה, המטאור המוזר הוא +ספינת החלל הנושאת בתוכה +רובוט מיוחד. +הרובוט הזה בונה בתי חרושת +שמייצרים אוייבים. + +בלופי חייב לנצל את כל המשאבים +הטבעיים כדי להיפטר +מהמפריעים. + +#1 +ספינת החלל שהתרסקה, הציתה שריפה +בכל היער. הכפר של בלופי נמצא +עכשיו בסכנה. + +1|מטרה: +1| +1|למנוע מהשריפה להגיע לכפר. +1|יש רק דרך אחת להצליח בפעולה: +1|לכרת כמה עצים משמאל. + + + + + + +2|רמז: +2| +2|אם בלופי חבוי בין העצים +2|לחץ על מקש הרווח, וכך יהפכו +2|העצים לשקופים באופן +2|זמני. + +@1 +1|פתרון: +1| +1|הורה לבלופי השמאלי לכרת +1|מספר עצים. שני הבלופים +1|הנותרים יעבירו את +1|הקרשים הרחק מהשריפה. + +#2 +1|המצב: +1| +1|בלופי נאבד, ונמצא רחוק מהכפר שלו +1|הוא חייב לארגן את עצמו לפני +1|שיתחיל לחפש את הכפר שלו. +1| +1|1) לבנות צריף ולגדל +1| עגבניות + +2|2) לבנות מדגרה כדי להשיג +2| הספקה. +2| +2|3) להאכיל את ארבעת הבלופים +2| ולמצוא את הכפר. +2| + + +2|זהירות: +2| +2|משהו יוצא דופן עומד +2|להתרחש. + + +@2 +1|רמזים: +1| +1|בתחילה, עליכם לבנות +1|בצפון שתי גדרות +1|שימנעו מהעכביש להגיע. +1|רק אז תהיה אפשרות לבנות +2|בשלווה צריף, ולגדל +2|עגבניות. +2| +2|כדי להגיע לארבעת הבתים +2|אתם חייבים ללכת מזרחה. + + +#3 +1|מטרה: +1| +1|למנוע את הישרפותם של ארבעת +1|הבלופים. +1| +1|לסיים את החומה. + + + + +2|זהירות: +2| +2|הקרקע עשויה טחב, +2|חומר שנישרף בקלות. + +@3 +1|פתרון: +1| +1|1) חיצבו בסלע. +1| סלעים קטנים, קל +1| יותר לחצוב. + +2|2) בנו חומה בין שתי החומות +2| שכבר קיימות. +2| +2|3) חכו שהשריפה תיפסק. + +#4 +1|מטרה: +1| +1|לעזור לארבעת הבלופים +1|להגיע למרצפות המפוספסות. + +@4 +1|פתרון: +1| +1|1) כרתו עץ אחד. +1| +1|2) העבר את הקרשים +1| לשפת המים. +1| +1|3) בנה גשר לעבר שני +1| הבלופים העייפים. + +2|4) חזרו על פעולה זו +2| שלוש פעמים. +2| +2|הבלופים העייפים יוכלו כעת +2|לחצות את הגשר ולהגיע +2|למרצפות המפוספסות. + +#5 +1|המלכודת: +1|זהירות, הקרקע שבה כלואים +1|הבלופים, יכולה בקלות להישרף, +1|והאש מתקרבת. +1| +1|מטרה: +1|התנגדו לאש עד +1|שתחלש. + +2|זהירות: +2|בניית חומה היא עבודה מאוד +2|מתישה עבור בלופי. ברגע +2|שיסיים, הוא ימות! + + + +רמז: +אם המשחק איטי מדי בשבילכם, +לחצו על מקש 6f כדי להגביר +את המהירות. מקש 5f מחזיר +את המשחק למהירות הנורמלית. + +@5 +1|רמזים: +1| +1|אתם חייבים לבנות ארבע חומות +1|על המרצפות האפורות. תצטרכו +1|לכרת שני עצים כדי לבנות +1|צריף ומדגרה. +1| + +2|כאשר החומות תהינה גמורות. +2|תצטרכו לחכות עד שהאש תגיע +2|ותיפסק. + +#6 +1|מטרה: +1| +1|קיימת סכנה: צריך להגן על המחנה +1|במהירות האפשרית בעזרת +1|ארבעה מגדלים. + +2|הגיעו אל המרצפות +2|המפוספסות שנמצאות +2|בדרום מזרח. + + + + + + + + + +רמז: + +ישנה אפשרות לבחור מספר בלופים +בו זמנית על ידי לחיצה רצופה על +המקש tfihs ועל כל אחד +מהבלופים. + + +@6 +1|פתרון: +1| +1|עליכם לתת לארבעת הבלופים +1|לחצוב בסלע במהירות. סלעים +1|קטנים קל יותר לחצוב +1| +1| +1|העבירו את ארבעת ערימות הסלעים +1|למרצפות האפורות, והתחילו +1|לבנות הגנה על המגדלים. +1| + +2|חכו להגעת הוירוס +2|ולמותו על ידי הזרם. +2| +2|ארבעת הבלופים האחרים +2|יכולים ללכת בשקט +2|למרצפות המפוספסות +2|שנמצאות בדרום מזרח. + +#7 +1|מטרה: +1| +1|ארבעת הבלופים צריכים להגיע +1|למרצפות המפוספסות. +1|יהיה עליכם לשמור על +1|על הבלופי הרחוק ביותר. + + + + +2|הזהרו: +2| +2|האדמה לא מתאימה כדי +2|לבנות עליה צריף. + +@7 +1|פתרון: +1| +1|בקש מבלופי להזיז את +1|העגבניות כדי שהעכבישים +1|לא יאכלו אותם. +1| +1|בעזרת בלופי אחר, קפוץ לאי +1|המזרחי, ובנה גשר שיחבר +1|את האי עם המרצפות המפוספסות. +1| + +2|קחו את העגבניות לעבר +2|הבלופי העייף, כדי +2|שיאכל אותם. + +#8 +1|מטרה: +1| +1|מנעו מבלופי אחד או שניים +1|להידבק במחלה, ומצאו תרופה עבור +1|אלו שכבר נידבקו. +1| +1|בסוף, כל בלופי חייב להכנס לתוך +1|ביתו. + + + + + + + +2|רמז: +2| +2|הרכיבו מעבדה. + +@8 +1|רמזים: +1| +1|על המעבדה להיות עשויה מסלעים. +1|הדבר יאפשר לכם להפוך את הפרחים +1|הצהובים לתרופה עבור +1|הבלופים החולים. +1| + +2|עליכם לבנות גשר כדי +2|להביא את התרופה לבלופים +2|החולים. +2| +2|הבתים נמצאים בדרום מזרח. + +#9 +1|מטרה: +1| +1|מצאו את הדרך לחצות את רחבת הקרח. +1|ולהגיע אל המרצפות המפוספסות. + + + + + + +2|הערה: +2| +2|בלופי יכול ללכת על הקרח, אבל +2|הקרח מאוד חלק, ובלופי יאבד +2|הרבה מכוחו. +@9 +1|רמזים: +1| +1|צריך לבנות שני מגדלים כדי +1|להגן על הבלופים מפני העכבישים. +1| +1| +1|תצטרכו לבנות צריף ומדגרה כדי +1|שהביצים יוכלו לבקוע. +1| + +2|בלופי מאבד הרבה כח כאשר +2|הוא חוצה את רחבת הקרח. לכן, +2|צריך לתת לו עגבניות לפני +2|שהוא חוצה את הרחבה. + +#10 +1|מטרה: +1| +1|להגיע אל האי שנמצא בצפון +1|מזרח, ושם לפוצץ את הגדר. +1| + +2|כל מה שצריך לעשות עכשיו זה +2|להגיע עם ארבעת הבלופים +2|על המרצפות המפוספסות. + +@10 +1|רמזים: +1| +1|צריך לבנות גשר בכיוון ארבעת +1|האסירים הבלופים. הדבר יעזור לכם +1|לחצוב בסלע, שאותו תיקח מאוחר +1|יותר כדי לבנות מעבדה. +1| +1| +1|הפרחים הכחולים נמצאים +1|בדרום מזרח. בזכות המעבדה +1|הם יהפכו לחומר נפץ. +1| + +2|היעזרו בחומר הנפץ כדי להרוס +2|את הגדר שלוכדת בתוכה את +2|ארבעת האסירים הבלופים. +2| +2|בתחילה יש צורך להוציא את +2|האסירים ובכך, להגן עליהם +2|מפני התפוצצות. + +#11 +1|מטרה: +1| +1|להגיע אל הבתים שבצפון +1|מזרח. הזהרו! הבתים הללו +1|מוגנים כהלכה. + +@11 +1|רמזים: +1| +1|צריך לבנות גשר לעבר האי +1|שנמצא בצפון מערב. ואז +1|להכין לפחות ארבע חבילות +1|של חומר נפץ. + +2|הורידו את חומר הנפץ בצפון, +2|באיזור של הדחפורים. +2| +2| +2|כל עוד חומר הנפץ אינו מוכן, +2|הימנעו מלהגיע לאיזור הצפון, +2|אחרת תתוקפו על ידי הדחפורים. +2| + +#12 +1|מטרה: +1| +1|שלושת הבלופים צריכים להצטרף +1|לבלופי המבודד שנמצא על האי +1|בכיוון צפון מערב. + +@12 +1|רמזים: +1| +1|צריך לבנות צריף ולגדל +1|עגבניות. +1| +1|יצירת חומר נפץ נעשית מפרחים +1|כחולים שאותם ניתן למצוא +1|בצפון מזרח. + +2|העבירו את חומר הנפץ אל האי +2|שממוקם במערב. +2| +2|היזהרו! בדרך מסתתרים +2|שני וירוסים. + +#13 +1|מטרה: +1| +1|להיפטר משישה עכבישים. +1| +1|ארבעת הראשונים יהיו קלים. +1|השניים הנותרים יהיו יותר +1|קשים. + + + + + + +2|רמז: +2| +2|מיצאו איך מכינים רעל +2|במעבדה. + +@13 +1|רמזים: +1| +1|ארבעת העכבישים הראשונים יתפסו +1|על ידי מלכודות שהוכנו מפרחים +1|ירוקים במעבדה. +1| +1| +1|את המלכודות צריך למקם קרוב +1|לעכבישים. + +2|שני האחרונים יורעלו מעגבניות +2|ששונו במעבדה. +2| +2| +2| +2|צריך לבנות גשר כדי להעביר את +2|העגבניות למעבדה. + +#14 +1|מטרה: +1| +1|בלופי פשוט צריך להגיע הביתה. +1| + +@14 +1|רמז: +1| +1|חפשו ברזל באזור האבנים הקטנות +1|הורידו את הקרשים על הדגל שתמצאו +1|ובנו מכרה. +1| +1|חיצבו בסלע כדי לבנות בית מלאכה. +1|שם תוכלו להשתמש בברזל. +1| + +2|קחו את הפצצה, קיפצו אל תוך הג'יפ +2|וסעו מזרחה. הג'יפ יגן עליכם +2|מהדחפורים. +2| +2| +2|כאשר תשיגו את הגדר, תהיו חייבים +2|לעזוב את הג'יפ במהירות, להוריד +2|את פצצת הזמן, להפעיל אותה, +2|לחזור אל הג'יפ ולהתרחק מהפצצה. +2| + +#15 +1|מטרה: +1| +1|על בלופי אחד בלבד להגיע +1|אל הבית שבצפון מזרחה. + +2|כדי לפעול כך, עליכם להרוס +2|את מתקני האוייב. +2| + +@15 +1|רמזים: +1| +1|צריך לבנות צריף ושני מגדלי +1|שמירה על המרצפות האפורות. +1| +1| +1|צריך לבנות גשר כדי לחבר את האי +1|במזרח. בחרו סוג אחר של פרחים +1|והביאו אותם בחזרה למחנה. +1| + +2|צריך לבנות מעבדה, צרו חומרי נפץ +2|ומלכודות דביקות. הגנת המחנה +2|מתבצעת על ידי הנחת מלכודות דביקות +2|בתוך המחנה, והנחת חומרי נפץ +2|מחוצה לו. +2| +2|כאשר יהיו לכם מספיק חומרי נפץ +2|ומלכודות, שילחו בלופי אחד +2|לכיוון צפון מזרחה כדי להרוס +2|מחנה האוייב. + +#16 +1|המצב: +1| +1|בלופי אבד באיזור צחיח +1|ללא עצים. + + + + +2|מטרה: +2| +2|שני הבלופים חייבים לחזור +2|הביתה לכפר שלהם. + +@16 +1|רמזים: +1| +1|מיצאו את המכרה שבצפון מערב. +1|חיצבו בסלע כדי לבנות בית - +1|מלאכה, הכינו פצצת זמן, שני +1|ג'יפים וחפשו את מחנה האוייב +1|בדרום מערב. + +2|פוצצו את המחסומים שמגנים +2|על מחנה האוייב. נסו לפוצץ +2|גם את הדחפורים. +2| +2|לכו דרומה, חפשו עץ +2|ובנו ממנו משגר. + +#17 +1|מטרה: +1| +1|חמשת הבלופים חייבים +1|להגיע הביתה. + +2|זהירות! אחד מהבתים נמצא +2|מאחורי מחנה האוייב. + + + + + + + + + + + + +רמז: + +ישנה אפשרות לבחור מספר בלופים +בו זמנית על ידי לחיצה רצופה על +המקש tfihs ועל כל אחד +מהבלופים. + +@17 +1|רמזים: +1| +1|בלופי יכול עכשיו ללכת לבית שנמצא +1|בצד המערבי של האי. +1|הארבעה האחרים חייבים לעזוב במהירות +1|בגלל הדחפורים. +1|הבלופים חייבים ללכת צפון מזרחה. + +2|בהמשך, בצפון מזרח, אתם תמצאו +2|מחנה שמוקף בחומות. +2| +2|מצפון לכפר יש הרבה +2|ברזל. +2| +2|הכינו סירה, ושוטו איתה לצפון מזרח +2|עם פצצת זמן. + +#18 +1|המצב: +1| +1|בזמן שבלופי אסף פרחים +1|הוא לא תאר לעצמו שהוא +1|נמצא רחוק מהבית שלו. +1|עכשיו הוא אבוד באיזור +1|מלא באויבים. + + + + + +2|מטרה: +2| +2|בלופי חייב להימלט +2|ולמצוא את דרכו הביתה. + +@18 +1|רמזים: +1| +|1מצאו את את פלג המים במערב. +1|בנו סירה. היזהרו, +1|הרבה וירוסים מסתובבים +1|בסביבה. + +|2בעזרת הסירה, תוכלו לעבור +2|את החומה ולרדת מהסירה +2|בגדת הנהר. +2| +2|הבית כבר לא רחוק עכשיו. +2|היזהרו! אתם חייבים להימנע +2|ממפגש עם הדחפורים. + +#19 +1|המצב: +1| +1|ארבעה דחפורים מאיימים +1|על הכפר של בלופי. + + + + + +2|מטרה: +2| +2|להשמיד את הדחפורים. + +@19 +1|רמזים: +1| +1|בקשו מבלופי לחלץ ברזל, +1|ולהכין ממנו מגן. זה +1|יגן עליו מהאש. +1| +1|לכו מזרחה ובנו סירה. עלו על +1|הסירה וחפשו אי שעליו יש עץ. +1|כירתו את העץ ושימו אותו על +1|אי גדול יותר. הכינו משגר. +2|המשגר יביא אתכם לסדנת נשק. +2| +2| +2| +2|שימו קצת חומר נפץ ליד +2|החומה ופוצצו אותה. +2|בשאר חומרי הנפץ אתם +2|יכולים להשמיד את +2|הדחפורים. + +#20 +1|מטרה: +1| +1|השמדת מיתקני האוייב. +1| + +@20 +1|רמזים: +1| +1|יצרו כמה שיותר חומר נפץ +1|ומלכודות לפני שאתם מפוצצים +1|את המחסומים שמגינים על מחנה +1|האוייב. + +#21 +1|המצב: +1| +1|בלופי נלכד על ידי רובוט. +1|הוא מוחזק כאסיר בתחנה +1|של הרובוט במחנה. +1| + + + + +2|מטרה: +2| +2|בלופי חייב לברוח ולמצוא +2|את ביתו. +@21 +1|רמזים: +1| +1|קחו את חומר הנפץ מצפון מזרח. +1|מקמו אותו בסמוך למחסום הכחול, +1|מול הרווח בין הסלעים. הדחפורים +1|יגיעו, ויגרמו לחומר הנפץ להתפוצץ. +1|ההתפוצצות תשמיד את המחסום. +1| + +2|ברחו למזרח עד שתגיעו לנהר. +2|הכינו לכם סירה בעזרת הקרשים. +2|אתם תיזדקקו לערימת הקרשים השניה +2|כדי לבנות סירה מאוחר יותר. +2|אך לפני כן, עליכם לתפוס "מחשמל" +|2בעזרת המלכודות הדביקות, וליצור +2|פצצת זמן שתשמיד את המחסום +2|הכחול שנמצא במזרח. +2| + +#22 +1|מטרות: +1| +1|1) הכנת סירות. +1| +1|2) חקירת כל האיים. +1| +1|3) השמדת כל מתקני האוייב. + +@22 +1|רמזים: +1| +1|באי שבצפון מזרח +1|יש הרבה ברזל. + +2|באי שבמזרח יש את כל +2|הדרוש כדי להכין חומר +2|נפץ ומלכודות דביקות. + +#23 +1|המצב: +1| +1|בלופי מאוד סקרן: לאחר +1|שהתבונן ברובוט זמן רב +1|בלופי הבין שגם הוא +1|אבוד בעצמו. + + + + + +2|מטרה: +2| +2|להכניס הספקה ולהשמיד +2|את האוייב. + + +@23 +1|רמזים: +1| +1|הבלופי המבודד חייב להתרחק +1|מהרובוט וללכת לכיוון מזרח. +1|בלופי חייב לחצוב בסלע, כך +1|שיוכל להגיע אל העצים, ושם +1|להכין משגר. +1| + +2|עם קבוצה נוספת של בלופים, +2|אתם צריכים להכין סירה, +2|למצוא את הפצצה בצפון מזרח, +2|ולפוצץ את המחסום בדרום. +2|פעולות אלו יאפשרו לכם +2|להביא את העצים אל האי +2|העזוב כדי להכין משגר. +2|זה יעזור לכם להצטרף ולעזור +2|לבלופי האבוד. +2| + +#24 +1|המצב: +1| +1|האיזור מלא באוייבים. +1| + + + +2|מטרה: +2| +2|השמדת כל האוייבים. + +@24 +1|רמזים: +1| +1|לכו צפון מזרחה כדי להימנע +1|ממגע עם האש, והכינו סירה +1|עם העץ האחרון שנשאר. +1| +1|במחנה אתם תמצאו +1|ברזל. +2|מצפון למחנה, תמצאו +2|ארבעה ביצים. + +#25 +1|בלופי חושד שהרובוט +1|הביא משהו מוזר לעולם +1|שלו: +1| +1| +1| פלטינה... +1| +1|הפלטינה, מונחת לצד הטיל. +2|תוכלו בעזרתה להשיג גישה +2|לטכנולוגיה של האוייב. +2| +2| + + +2|מטרה: +2|להביא קוביה של פלטינה +2|אל המרצפות המפוספסות. + +@25 +1|רמזים: +1| +1|צריך להרוס שני דחפורים בעזרת +1|מלכודות דביקות. להכין סירה +1|מצפון למחנה הראשון של האוייב, +1|ואז לעלות לסירה עם פצצת זמן +1|ולשוט מזרחה. +1| +1|חפשו נתיב בין סלעים אשר +1|נע דרומה. מחנה האוייב +2|נמצא רחוק במזרח. +2|שם תצטרכו לפוצץ את המחסום +2|כדי להגיע אל הפלטינה. +2| +2| +2| +2|החזירו את הפלטינה בחזרה +2|למחנה. + +#26 +1|קוביית הפלטינה תשיג עבורכם +1|גישה לטנולוגיה של האוייב. +1|השתמשו בה בצורה נכונה. + + + + + +2|מטרה: +2| +2|עיזרו לבלופי למצוא את ביתו. + +@26 +1|רמזים: +1| +1|הרכיבו מקובית הפלטינה רובוט +1|שיעזור לכם והכינו פצצת +1|זמן. +1| +1|קחו את הרובוט והפצצה. +1|הרובוט יכול לחצות את המחנה +1|המערבי של האוייב בלי שיבחינו +2|בו. פוצצו את המחסום שנמצא +2|בצפון, וקחו את העגבניות +2|כדי להאכיל את הבלופים +2|שנמצאים במחנה. +2| +2|הניחו את העגבניות +2|לפני הקפיצה הראשונה. + +#27 +1|המצב: +1| +1|לרובוט יש את החוצפה למקם +1|את הכפר שלו בסמוך לכפר +1|של הבלופים. + + + + +2|מטרה: +2| +2|להגיע אל מחנה האוייב +2|ולהשמיד הכל. + +@27 +1|רמזים: +1| +1|הכינו משגר במהירות האפשרית +1|כך שתוכלו להגיע אל האי +1|עם הביצים. +1|בנו שני מגדלי שמירה במקום +1|שנמצאות ערימות אבנים. +1|בנו גדר מצד שמאל, ומצד +1|ימין של כל מגדל שמירה. +1| + +2|עכשיו אתם יכולים להרגע! +2| +2|יש לכם שתי דרכים להגיע אל +2|מחנה האוייב שבצפון. +2|על ידי סירה או על ידי +2|בניית גשר. +2| +2|זה נתון לבחירתך! + +#28 +1|המצב: +1| +1|בזמן שבלופי בנה את ביתו +1|הוא עשה טעות: +1|הוא בנה חומה מסביב. + + + + + +2|מטרה: +2| +2|בלופי צריך פשוט להגיע הביתה. + +@28 +1|רמזים: +1| +1|באי קטן שנמצא בצפון +1|יש הרבה ביצים. +1| +1|עליכם לחצות את מחנה +1|האוייב במהירות כדי +1|להימנע ממגע עם הדחפורים +1|שמגיעים מהצפון ומהדרום, +1|כך שתוכלו לקטוף +2|פרחים כחולים. +2| +2|בלופי אחר יוכל לקחת אותם +2|ולייצר מהם חומר נפץ. +2| +2|הסלעים היחידים שתוכלו להשתמש +2|בהם, נמצאים מדרום למחנה האוייב, +2|ממש מחוץ לחומת ההגנה. +2| + +#29 +1|המצב: +1| +1|השטח הפנוי נכבש אט אט +1|על ידי הרובוט +1|ועוזריו. + + + + + +2|מטרה: +2| +2|בלופי חייב לבנות את הכפר שלו +2|ולפתח טקטיקות הגנה +2|טובות. +2| +2|אז הוא יוכל לתקוף +2|ולחסל את כל אוייביו. + +@29 +1|רמזים: +1| +1|בלופי חייב לבנות מגדלי שמירה +1|בצד הצפון מערבי, בצד הצפון +1|מזרחי, ובצד הדרום מזרחי. +1|כל הסלעים נמצאים +1|בצפון מערב. +1| +1|אל תכרתו את העצים שנמצאים +1|ליד הגדר. הם יוכלו להיות מועילים +1|כנגד הפצצה הקפיצית. + +2|הפרחים הירוקים שבמערב +2|מאפשרים לכם לייצר מלכודות +2|דביקות כדי להגן על הכפר. +2| +2|חלצו ברזל מדרום מערב, והכינו +2|ממנו פצצות ומגינים. + +#30 +1|המצב: +1| +1|המלחמה הזאת לא יכולה להמשך. +1|בלופי והרובוט האחרון הגיעו +1|להסכמה: +1|בלופי יעזור לרובוט לחזור +1|לטיל שלו, ובתמורה הרובוט +1|יעזוב את העולם של בלופי +1|לתמיד! + + + + +2|מטרה: +2| +2|להכין את נתיב הדרך לטיל +2|כדי שהרובוט יוכל לעזוב את +2|הפלנטה. הרובוט כועס על כך +2|שהפסיד בקרב ולכן הוא מסרב +2|לעבור עד שנתיב הדרך +2|יהיה מוכן. + +@30 +1|רמזים: +1| +1|חיצבו בסלע שבדרום מזרח. +1|כירתו עץ, והכינו ממנו סירה. +1|בעזרת הסירה, חפשו אי בצפון +1|מזרח, חפשו שם ברזל, והקימו +1|שם מכרה ומפעל. +1|צריך לייצר פצצה שתאפשר לכם +2|לפוצץ את המחסומים שנמצאים +2|בסביבת הרובוט. +2| +2| +2|כל מה שצריך לעשות, זה לבנות גשר +2|כדי שהרובוט יוכל לחזור +2|אל הטיל שלו. diff --git a/resources/po/he.po b/resources/po/he.po new file mode 100644 index 0000000..208a771 --- /dev/null +++ b/resources/po/he.po @@ -0,0 +1,963 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-27 15:19+0100\n" +"PO-Revision-Date: 2019-01-27 14:52+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? " +"2 : 3);\n" + +msgid " - FFmpeg (LGPLv2.1)" +msgstr " - FFmpeg (LGPLv2.1)" + +msgid " - GNU/gettext and GNU/libiconv (GPLv3)" +msgstr "" + +msgid " - SDL2, SDL2_image and SDL2_mixer (zlib license)" +msgstr "" + +msgid " - SDL_kitchensink (MIT)" +msgstr " - SDL_kitchensink (MIT)" + +msgid " - argagg (MIT)" +msgstr " - argagg (MIT)" + +msgid " - libasound (LGPLv2.1)" +msgstr " - libasound (LGPLv2.1)" + +msgid " - libcurl (MIT/X derivate)" +msgstr "" + +msgid " - libogg and libvorbis (own license)" +msgstr "" + +msgid " - libpng (own license)" +msgstr "" + +msgid " - libpulse (LGPLv2.1)" +msgstr " - libpulse (LGPLv2.1)" + +msgid " - libsndfile (LGPLv3)" +msgstr " - libsndfile (LGPLv3)" + +msgid " - zlib (own license)" +msgstr "" + +msgid "(isolated tower)" +msgstr "(מגדל מבודד)" + +msgid "" +"1: Cut down a tree \n" +"2: Build a bridge" +msgstr "" +"1: לכרות עץ\n" +"2: לבנות גשר" + +msgid "" +"1: Cut down a tree \n" +"2: Make a boat" +msgstr "" +"1: לכרות עץ\n" +"2: לבנות סירה" + +msgid "" +"1: Cut down a tree \n" +"2: Make a palisade" +msgstr "" +"1: לכרות עץ\n" +"2: לבנות גדר" + +msgid "" +"1: Extract iron\n" +"2: Make a Jeep" +msgstr "" +"1: להפיק ברזל\n" +"2: לבנות ג'יפ" + +msgid "" +"1: Extract iron\n" +"2: Make a bomb" +msgstr "" +"1: להפיק ברזל\n" +"2: לבנות פצצה" + +msgid "" +"1: Extract iron\n" +"2: Make an armour" +msgstr "" +"1: להפיק ברזל\n" +"2: לבנות מגן" + +msgid "" +"1: Grow tomatoes\n" +"2: Eat" +msgstr "" +"1: לגדל עגבניות\n" +"2: לאכול" + +msgid "" +"1: Make a bunch\n" +"2: Transform" +msgstr "" +"1: לאסוף\n" +"2: להפוך" + +msgid "" +"1: Take\n" +"2: Build a bridge" +msgstr "" +"1: לקחת\n" +"2: לבנות גשר" + +msgid "" +"1: Take\n" +"2: Build palisade" +msgstr "" +"1: לקחת\n" +"2: לבנות גדר" + +msgid "" +"1: Take\n" +"2: Make a boat" +msgstr "" +"1: לקחת\n" +"2: לבנות סירה" + +msgid "" +"1: Take\n" +"2: Transform" +msgstr "" +"1: לקחת\n" +"2: להפוך" + +msgid "" +"1|Drop planks on striped \n" +"1|paving stones." +msgstr "" +"1|הורידו את הקרשים על\n" +"1|המרצפות המפוספסות" + +msgid "" +"1|Drop platinium on striped \n" +"1|paving stones." +msgstr "" +"1|הורידו את הפלטינה על\n" +"1|המרצפות המפוספסות" + +msgid "" +"1|Drop tomatoes on striped \n" +"1|paving stones." +msgstr "" +"1|הורידו את העגבניות על\n" +"1|המרצפות המפוספסות" + +msgid "" +"1|Each Blupi in\n" +"1|his house." +msgstr "" +"1|כל בלופי\n" +"1|לביתו" + +msgid "" +"1|Go on striped\n" +"1|paving stones." +msgstr "" +"1|הגיעו אל המרצפות\n" +"1|המפוספסות" + +msgid "1|Goal :" +msgstr "1|מטרה:" + +msgid "" +"1|Kill all\n" +"1|enemies !" +msgstr "" +"1|הרגו את כל\n" +"1|האוייבים" + +msgid "" +"1|Resist until\n" +"1|fire extinction ..." +msgstr "" +"1|התנגדו לאש עד\n" +"1|שתכבה" + +#, c-format +msgid "" +"1|The Blupi population must\n" +"1|be of at least %d Blupi." +msgstr "" +"1|אוכלוסיית הבלופים חייבת \n" +"1|להיות לפחות %d בלופים" + +msgid "" +"1|The robot must reach\n" +"1|the striped paving stones." +msgstr "" +"1|הרובוט חייב להגיע אל\n" +"1|המרצפות המפוספסות" + +msgid "Aliasing" +msgstr "" + +msgid "All licenses are available under share/doc/planetblupi/copyright" +msgstr "" + +msgid "Already two teleporters" +msgstr "יש כבר שני משגרים" + +msgid "Another mistake..." +msgstr "עוד טעות!" + +msgid "Anti-aliasing" +msgstr "" + +msgid "Armour" +msgstr "מגן" + +msgid "Available buttons" +msgstr "כפתורים זמינים" + +msgid "Bang, failed again !" +msgstr "בום! שוב נכשלתם!" + +msgid "Bank" +msgstr "גדה" + +msgid "Blow up" +msgstr "לפוצץ" + +msgid "Blupi" +msgstr "בלופי" + +msgid "Blupi in house" +msgstr "בלופי בתוך הבית" + +msgid "Blupi on striped paving stones" +msgstr "בלופי על המרצפות המפוספסות" + +msgid "Blupi's energy" +msgstr "האנרגיה של בלופי" + +msgid "Blupi's house" +msgstr "הבית של בלופי" + +msgid "Boat" +msgstr "סירה" + +msgid "Bouncing bomb" +msgstr "להקפיץ פצצה" + +msgid "Bridge" +msgstr "גשר" + +msgid "Bridge finished" +msgstr "גשר גמור" + +msgid "Buildings" +msgstr "בניינים" + +msgid "Bulldozer" +msgstr "דחפור" + +msgid "Bunch of flowers" +msgstr "זר פרחים" + +msgid "Burnt ground" +msgstr "אדמה שרופה" + +msgid "Cancel last operation" +msgstr "בטל פעולה אחרונה" + +msgid "Carve a rock" +msgstr "לחצוב בסלע" + +msgid "Carve rocks" +msgstr "לחצוב סלעים" + +msgid "" +"Change the\n" +"display mode" +msgstr "" + +msgid "" +"Change the\n" +"render quality" +msgstr "" + +msgid "" +"Change the\n" +"window size" +msgstr "" + +msgid "" +"Choose the\n" +"music format" +msgstr "" + +msgid "Construct this game" +msgstr "הרכב את המשחק" + +msgid "Construction" +msgstr "בנייה" + +msgid "Construction number" +msgstr "בנייה מספר" + +msgid "Continue this game" +msgstr "המשך משחק נוכחי" + +msgid "Cut down a tree" +msgstr "לכרות עץ" + +msgid "Cut down trees" +msgstr "לכרות עצים" + +msgid "Decorative plants" +msgstr "צמחי נוי" + +msgid "Delete figure" +msgstr "בטל דמות" + +msgid "Delete fire" +msgstr "בטל אש" + +msgid "Delete item" +msgstr "בטל פריט" + +msgid "Demo" +msgstr "הדגמה" + +msgid "Desert" +msgstr "מדבר" + +msgid "Desktop" +msgstr "" + +msgid "Desktop mode" +msgstr "" + +msgid "Difficult" +msgstr "קשה" + +msgid "Disable anti-aliasing" +msgstr "" + +msgid "Drink" +msgstr "לשתות" + +msgid "Drop" +msgstr "להוריד" + +msgid "Dynamite" +msgstr "חומר נפץ" + +msgid "E" +msgstr "מז" + +msgid "Easy" +msgstr "קל" + +msgid "Eat" +msgstr "לאכול" + +msgid "Eggs" +msgstr "ביצים" + +msgid "Electrocutor" +msgstr "מחשמל" + +msgid "Enable anti-aliasing" +msgstr "" + +msgid "Ending conditions" +msgstr "תנאים לסיום" + +msgid "Enemy barrier" +msgstr "מחסום האויב" + +msgid "Enemy buildings" +msgstr "בנייני האויב" + +msgid "Enemy construction" +msgstr "מבנה האויב" + +msgid "Enemy ground" +msgstr "אדמת אויב" + +msgid "Enemy rocket" +msgstr "טיל האויב" + +msgid "Excellent..." +msgstr "שיגעון" + +msgid "Extract iron" +msgstr "להפיק ברזל" + +msgid "Faster" +msgstr "מהיר" + +msgid "Finish" +msgstr "סיום" + +msgid "Fire" +msgstr "אש" + +msgid "Fire out" +msgstr "אש רחוקה" + +msgid "Flag" +msgstr "דגל" + +msgid "Flowers" +msgstr "פרחים" + +msgid "Forest" +msgstr "יער" + +msgid "Forest under snow" +msgstr "יער מתחת לשלג" + +msgid "Fullscreen" +msgstr "" + +msgid "Game paused" +msgstr "המשחק נעצר" + +msgid "Garden shed" +msgstr "צריף" + +msgid "" +"Global game\n" +"speed" +msgstr "" +"המשחק\n" +"כולומהירות" + +msgid "Global settings" +msgstr "" + +msgid "Go" +msgstr "המשך" + +msgid "Grow tomatoes" +msgstr "לגדל עגבניות" + +msgid "Help" +msgstr "עזרה" + +msgid "Help number" +msgstr "עזרה מספר" + +msgid "Helper robot" +msgstr "רובוט עוזר" + +msgid "Ice" +msgstr "קרח" + +msgid "Impossible" +msgstr "בלתי אפשרי" + +#, c-format +msgid "Impossible to win if less than %d Blupi" +msgstr "בלתי אפשרי לנצח אם פחות מ %d בלופים" + +msgid "Inadequate ground" +msgstr "קרקע לא מתאימה" + +msgid "Increase volume" +msgstr "הוספת עוצמה" + +msgid "Increase window size" +msgstr "" + +msgid "Incubator" +msgstr "מדגרה" + +msgid "Incubator or teleporter" +msgstr "מדגרה או משגר" + +msgid "Inflammable ground" +msgstr "קרקע דליקה" + +msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." +msgstr "אנא הכנס את תקליטור המשחק וחכה מספר שניות" + +msgid "" +"Interface language\n" +"and sounds" +msgstr "" + +msgid "Interrupt" +msgstr "להפסיק" + +msgid "Iron" +msgstr "ברזל" + +msgid "Items" +msgstr "פריטים" + +msgid "Jeep" +msgstr "ג'יפ" + +msgid "Laboratory" +msgstr "מעבדה" + +msgid "Last construction resolved !" +msgstr "הבנייה האחרונה נפתרה!" + +msgid "Leave Jeep" +msgstr "לעזוב את הג'יפ" + +msgid "Legacy" +msgstr "" + +msgid "Legacy mode (640x480)" +msgstr "" + +#, c-format +msgid "Lost if less than %d Blupi" +msgstr "אבוד אם פחות מ %d בלופים" + +msgid "Make a Jeep" +msgstr "לבנות ג'יפ" + +msgid "Make a helper robot" +msgstr "הרכיבו רובוט לעזרתכם" + +msgid "Make a time bomb" +msgstr "לבנות פצצת זמן" + +msgid "Make armour" +msgstr "בנו מגן" + +msgid "Make bunch of flowers" +msgstr "לאסוף זר פרחים" + +msgid "Make bunches of flowers" +msgstr "לאסוף זרי פרחים" + +msgid "Master robot" +msgstr "הרובוט השליט" + +msgid "Medical potion" +msgstr "שיקוי רפואי" + +msgid "Midi" +msgstr "" + +msgid "Mine" +msgstr "מכרה" + +msgid "Miscellaneous ground" +msgstr "קרקע מגוונת" + +msgid "Mission number" +msgstr "פעולה מספר" + +msgid "Mission over..." +msgstr "הפעולה הסתיימה..." + +msgid "Missions" +msgstr "משימות" + +msgid "" +"Music\n" +"volume" +msgstr "" +"מוסיקה\n" +"עוצמה" + +msgid "Music choice" +msgstr "בחירת מוסיקה" + +msgid "Music number 1" +msgstr "מוסיקה מספר 1" + +msgid "Music number 10" +msgstr "מוסיקה מספר 01" + +msgid "Music number 2" +msgstr "מוסיקה מספר 2" + +msgid "Music number 3" +msgstr "מוסיקה מספר 3" + +msgid "Music number 4" +msgstr "מוסיקה מספר 4" + +msgid "Music number 5" +msgstr "מוסיקה מספר 5" + +msgid "Music number 6" +msgstr "מוסיקה מספר 6" + +msgid "Music number 7" +msgstr "מוסיקה מספר 7" + +msgid "Music number 8" +msgstr "מוסיקה מספר 8" + +msgid "Music number 9" +msgstr "מוסיקה מספר 9" + +msgid "N" +msgstr "צ" + +#, c-format +msgid "New version available for download on www.blupi.org (v%s)" +msgstr "" + +msgid "Next game" +msgstr "משחק הבא" + +msgid "Next language" +msgstr "" + +msgid "Next page" +msgstr "הדף הבא" + +msgid "No" +msgstr "לא" + +msgid "No more enemies" +msgstr "אין יותר אוייבים" + +msgid "No music" +msgstr "ללא מוסיקה" + +msgid "No video" +msgstr "בלי ווידאו" + +msgid "No, not that way !" +msgstr "לא! לא בדרך הזאת." + +msgid "No, wrong way ..." +msgstr "לא זאת הדרך הלא נכונה." + +msgid "None" +msgstr "ללא גלילה" + +msgid "Normal ground" +msgstr "קרקע רגילה" + +msgid "Not available" +msgstr "" + +msgid "Not enough energy" +msgstr "" + +msgid "Now go on mission." +msgstr "עכשיו התחילו בפעולה" + +msgid "Occupied ground" +msgstr "קרקע מאוכלסת" + +msgid "Ogg" +msgstr "" + +msgid "Open another game" +msgstr "טען משחק אחר" + +msgid "Opposite bank no good" +msgstr "הגדה ממול לא מתאימה" + +msgid "Palisade" +msgstr "גדר" + +msgid "Paving stones" +msgstr "מרצפות" + +msgid "Planet Blupi" +msgstr "בבלופי" + +msgid "Planet Blupi -- stop" +msgstr "בבלופי -- עצור" + +msgid "Planks" +msgstr "קרשים" + +msgid "Planks on striped paving stones" +msgstr "קרשים על האבנים המפוספסות" + +msgid "Platinium" +msgstr "פלטינה" + +msgid "Platinium on striped paving stones" +msgstr "פלטינה על המרצפות המפוספסות" + +msgid "Play this game" +msgstr "שחק משחק נוכחי" + +msgid "Poison" +msgstr "עגבניות מורעלות" + +msgid "Prairie" +msgstr "ערבה" + +msgid "Previous game" +msgstr "משחק קודם" + +msgid "Previous language" +msgstr "" + +msgid "Previous page" +msgstr "דף קודם" + +msgid "Prospect for iron" +msgstr "לחפש ברזל" + +msgid "Protection tower" +msgstr "מגדל שמירה" + +msgid "Quit" +msgstr "צא" + +msgid "Quit Planet Blupi" +msgstr "" + +msgid "Quit construction" +msgstr "יציאה מבנייה" + +msgid "Quit this game" +msgstr "צא ממשחק נוכחי" + +msgid "REC" +msgstr "הקלטה" + +msgid "Reduce volume" +msgstr "הפחתת עוצמה" + +msgid "Reduce window size" +msgstr "" + +msgid "Repeat" +msgstr "חזור" + +msgid "Restart this game" +msgstr "התחל מחדש משחק נוכחי" + +msgid "Robot on striped paving stones" +msgstr "רובוט על המרצפות המפוספסות" + +msgid "Rocks" +msgstr "סלעים" + +msgid "S" +msgstr "ד" + +msgid "Save" +msgstr "שמור" + +msgid "Save this game" +msgstr "שמור משחק נוכחי" + +msgid "Scenery choice" +msgstr "בחירת נוף" + +msgid "" +"Scroll speed\n" +"with mouse" +msgstr "" +"מהירות גלילה\n" +"בעזרת עכבר" + +msgid "" +"Select the\n" +"window mode" +msgstr "" + +msgid "Settings" +msgstr "הגדרות" + +msgid "Show videos" +msgstr "הצג ווידאו" + +msgid "Sick Blupi" +msgstr "בלופי חולה" + +msgid "Skill level" +msgstr "דרגת מיומנות" + +msgid "Slower" +msgstr "איטי" + +msgid "" +"Sound effect\n" +"volume" +msgstr "" +"אפקטים\n" +"קוליים עוצמה" + +msgid "Special pavings" +msgstr "ריצוף מיוחד" + +msgid "Spider" +msgstr "עכביש" + +msgid "Starting fire" +msgstr "הצת אש" + +msgid "Sterile ground" +msgstr "קרקע מחוטאת" + +msgid "Sticky trap" +msgstr "מלכודת דביקה" + +msgid "Stones" +msgstr "אבנים" + +msgid "Stop" +msgstr "עצור" + +msgid "Striped paving stones" +msgstr "מרצפות מפוספסות" + +msgid "Take" +msgstr "לקחת" + +msgid "Teleporter" +msgstr "משגר" + +msgid "" +"This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" +msgstr "" + +msgid "This game uses statically linked free and open-source libraries:" +msgstr "" + +msgid "Time bomb" +msgstr "פצצת זמן" + +msgid "Tired Blupi" +msgstr "בלופי עייף" + +msgid "Tomatoes" +msgstr "עגבניות" + +msgid "Tomatoes on striped paving stones" +msgstr "עגבניות על המרצפות המפוספסות" + +msgid "Too close to water" +msgstr "קרוב מדי למים" + +msgid "Training" +msgstr "אימון" + +msgid "Training number" +msgstr "אימון מספר" + +msgid "Transform" +msgstr "להפוך" + +msgid "Transport" +msgstr "להוביל" + +msgid "Trapped enemy" +msgstr "אויב לכוד" + +msgid "Tree" +msgstr "עץ" + +msgid "Tree trunks" +msgstr "גזע עץ" + +msgid "Use Midi music (original)" +msgstr "" + +msgid "Use Ogg music" +msgstr "" + +msgid "Version" +msgstr "" + +msgid "Very good, success on all missions !" +msgstr "יפה מאוד! הצלחתם בכל הפעולות!" + +msgid "Very good." +msgstr "ממש מעולה" + +msgid "" +"Video\n" +"sequences" +msgstr "" +"וידאו\n" +"רצף" + +msgid "Virus" +msgstr "וירוס" + +msgid "W" +msgstr "מע" + +msgid "Wall" +msgstr "חומה" + +msgid "Wall or palisade" +msgstr "חומה או גדר" + +msgid "Water" +msgstr "מים" + +msgid "We hope you have had as much fun playing the game as we had making it !" +msgstr "אנחנו מקווים שנהנתם לשחק במשחק לפחות כמו שנהננו ליצור אתו" + +msgid "Weapons" +msgstr "כלי נשק" + +msgid "Well done !" +msgstr "כל הכבוד!" + +msgid "Windowed" +msgstr "" + +msgid "Work done" +msgstr "העבודה הושלמה" + +msgid "Workshop" +msgstr "בית מלאכה" + +msgid "Yes" +msgstr "כן" + +msgid "Yes, great ..." +msgstr "כן מצוין" + +msgid "You have failed, try again..." +msgstr "נכשלתם נסו שוב..." + +msgid "You have played Planet Blupi." +msgstr "שיחקתם בבלופי." + +#, c-format +msgid "construction %d, time %d" +msgstr "בנייה %d זמן %d" + +msgid "en" +msgstr "he" + +msgid "free slot" +msgstr "מקום פנוי" + +msgid "http://www.blupi.org info@blupi.org" +msgstr "http://www.blupi.org info@blupi.org" + +#, c-format +msgid "mission %d, time %d" +msgstr "פעולה %d זמן %d" + +#, c-format +msgid "training %d, time %d" +msgstr "אימון %d זמן %d" diff --git a/src/event.cxx b/src/event.cxx index 8f4fbc8..af36849 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -1686,6 +1686,7 @@ CEvent::CEvent () m_Languages.push_back (Language::pl); m_Languages.push_back (Language::tr); m_Languages.push_back (Language::pt); + m_Languages.push_back (Language::he); this->m_LangStart = GetLocale (); @@ -1703,6 +1704,8 @@ CEvent::CEvent () m_Lang = m_Languages.begin () + 6; else if (this->m_LangStart == "pt") m_Lang = m_Languages.begin () + 7; + else if (this->m_LangStart == "he") + m_Lang = m_Languages.begin () + 8; else m_Lang = m_Languages.begin (); @@ -2720,6 +2723,8 @@ CEvent::DrawButtons () lang = "Türkçe"; else if (locale == "pt") lang = "Portuguese"; + else if (locale == "he") + lang = "עברי"; lg = GetTextWidth (lang.c_str ()); pos.x = (54 + 40) - lg / 2 + LXOFFSET (); @@ -4090,6 +4095,8 @@ CEvent::GetStartLanguage () return Language::tr; if (this->m_LangStart == "pt") return Language::pt; + if (this->m_LangStart == "he") + return Language::he; return Language::en; } @@ -4136,6 +4143,9 @@ CEvent::SetLanguage (Language lang) case Language::pt: slang = "pt"; break; + case Language::he: + slang = "he"; + break; } snprintf (env, sizeof (env), "LANGUAGE=%s", slang); diff --git a/src/event.h b/src/event.h index 26abb23..0dfd9b0 100644 --- a/src/event.h +++ b/src/event.h @@ -87,6 +87,7 @@ enum class Language { pl = 5, tr = 6, pt = 7, + he = 8, end, }; -- cgit v1.2.3 From ca1b6ce01c2525337fb2debfd6afa6b56818304f Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Mon, 28 Jan 2019 00:14:40 +0100 Subject: Add hebrew flag --- resources/image/setup00.png | Bin 211545 -> 211042 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/image/setup00.png b/resources/image/setup00.png index 19ca024..4793560 100644 Binary files a/resources/image/setup00.png and b/resources/image/setup00.png differ -- cgit v1.2.3 From e62eb9a7cbc3f22355e946d29da3820092e3b9de Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 29 Jan 2019 21:53:16 +0100 Subject: WIP: continue to add proper support for hebrew It concerns mostly the layout (flipped). --- src/button.cxx | 21 +++++++++++---------- src/def.h | 14 ++++++++------ src/event.cxx | 28 ++++++++++++++-------------- src/misc.cxx | 6 ++++++ src/misc.h | 1 + src/pixmap.cxx | 55 ++++++++++++++++++++++++++++++++++++------------------- src/pixmap.h | 14 +++++++++++--- src/progress.cxx | 24 +++++++++++++++++------- src/text.cxx | 5 ++++- 9 files changed, 108 insertions(+), 60 deletions(-) diff --git a/src/button.cxx b/src/button.cxx index 7a09128..0f91649 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -144,28 +144,30 @@ void CButton::Draw () { Sint32 i; - Point pos; + Point pos = this->m_pos; Rect rect; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x - m_dim.x; + if (m_bHide) // bouton caché ? { - rect.left = m_pos.x; - rect.right = m_pos.x + m_dim.x; - rect.top = m_pos.y; - rect.bottom = m_pos.y + m_dim.y; - m_pPixmap->DrawPart (-1, CHBACK, m_pos, rect); // dessine le fond + rect.left = pos.x; + rect.right = pos.x + m_dim.x; + rect.top = pos.y; + rect.bottom = pos.y + m_dim.y; + m_pPixmap->DrawPart (-1, CHBACK, pos, rect); // dessine le fond return; } if (m_bEnable) // bouton actif ? - m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, m_mouseState, m_pos); + m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, m_mouseState, pos); else - m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, 4, m_pos); + m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, 4, pos); if (m_nbMenu == 0) return; - pos = m_pos; if (m_nbMenu > 0) { m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, m_iconMenu[m_selMenu] + 6, pos); @@ -174,7 +176,6 @@ CButton::Draw () if (m_nbMenu == 1 || !m_bEnable || !m_bMouseDown) return; - pos = m_pos; pos.x += m_dim.x + 2; for (i = 0; i < m_nbMenu; i++) { diff --git a/src/def.h b/src/def.h index e296c53..b37fd21 100644 --- a/src/def.h +++ b/src/def.h @@ -23,19 +23,21 @@ #include #include "display.h" +#include "misc.h" // clang-format off #define _INTRO true // true for init screen -#define POSDRAWX 144 // draw surface -#define POSDRAWY 15 #define DIMDRAWX (LXIMAGE () - (LXLOGIC () - LYLOGIC ())) #define DIMDRAWY 450 +#define POSDRAWX_ 144 +#define POSDRAWX (IsRightReading () ? LXIMAGE () - POSDRAWX_ - DIMDRAWX : POSDRAWX_) // draw surface +#define POSDRAWY 15 -#define POSMAPX 8 // map surface -#define POSMAPY 15 #define DIMMAPX 128 #define DIMMAPY 128 +#define POSMAPX (IsRightReading () ? LXIMAGE () - 8 - DIMMAPX : 8) // map surface +#define POSMAPY 15 #define MAXCELX 200 // max cells for a world #define MAXCELY 200 @@ -56,10 +58,10 @@ #define DIMJAUGEX 124 // progress size #define DIMJAUGEY 22 -#define POSSTATX 12 // statistics -#define POSSTATY 220 #define DIMSTATX 60 #define DIMSTATY 30 +#define POSSTATX (IsRightReading () ? LXIMAGE () - 12 - DIMSTATX * 2 : 12) // statistics +#define POSSTATY 220 #define DIMTEXTX 16 // max char size #define DIMTEXTY 16 diff --git a/src/event.cxx b/src/event.cxx index af36849..0da126c 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -180,7 +180,7 @@ static Phase table[] = EV_PHASE_HISTORY0, "image/history0.png", "image/back-book.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { @@ -205,7 +205,7 @@ static Phase table[] = EV_PHASE_HISTORY1, "image/history1.png", "image/back-book.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { @@ -230,7 +230,7 @@ static Phase table[] = EV_PHASE_INFO, "image/info%.3d.png", "image/back-book.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, false, { { @@ -297,7 +297,7 @@ static Phase table[] = EV_PHASE_PLAY, "image/play.png", "", - CPixmap::Mode::EXPAND, + CPixmap::Mode::EXPAND_REVERSABLE, false, { { @@ -328,7 +328,7 @@ static Phase table[] = EV_PHASE_STOP, "image/stop%.3d.png", "image/back-book.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, false, { { @@ -377,7 +377,7 @@ static Phase table[] = EV_PHASE_HELP, "image/help.png", "image/back-book.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { @@ -578,7 +578,7 @@ static Phase table[] = EV_PHASE_READ, "image/read.png", "image/back-chest-r.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, false, { { @@ -657,7 +657,7 @@ static Phase table[] = EV_PHASE_WRITE, "image/write.png", "image/back-chest-w.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, false, { { @@ -736,7 +736,7 @@ static Phase table[] = EV_PHASE_WRITEp, "image/write.png", "image/back-chest-w.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, false, { { @@ -872,7 +872,7 @@ static Phase table[] = EV_PHASE_BUILD, "image/build.png", "", - CPixmap::Mode::EXPAND, + CPixmap::Mode::EXPAND_REVERSABLE, true, { { @@ -989,7 +989,7 @@ static Phase table[] = EV_PHASE_BUTTON, "image/button.png", "image/back-build.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { @@ -1211,7 +1211,7 @@ static Phase table[] = EV_PHASE_TERM, "image/term.png", "image/back-build.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { @@ -1302,7 +1302,7 @@ static Phase table[] = EV_PHASE_MUSIC, "image/music.png", "image/back-build.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { @@ -1387,7 +1387,7 @@ static Phase table[] = EV_PHASE_REGION, "image/region.png", "image/back-build.png", - CPixmap::Mode::FIX, + CPixmap::Mode::FIX_REVERSABLE, true, { { diff --git a/src/misc.cxx b/src/misc.cxx index 7a814a6..fdacbd7 100644 --- a/src/misc.cxx +++ b/src/misc.cxx @@ -98,6 +98,12 @@ GetLocale () return gettext ("en"); } +bool +IsRightReading () +{ + return GetLocale () == "he"; +} + // Retourne le nom de dossier en cours. std::string diff --git a/src/misc.h b/src/misc.h index 7c748fa..5518955 100644 --- a/src/misc.h +++ b/src/misc.h @@ -40,6 +40,7 @@ std::string GetBaseDir (); std::string GetShareDir (); std::string GetBinDir (); std::string GetLocale (); +bool IsRightReading (); extern void AddUserPath (std::string & pFilename); enum Location { LOCATION_ABSOLUTE, LOCATION_BASE, LOCATION_USER }; diff --git a/src/pixmap.cxx b/src/pixmap.cxx index 0fcf6d2..8c35b56 100644 --- a/src/pixmap.cxx +++ b/src/pixmap.cxx @@ -124,7 +124,8 @@ CPixmap::CreateMainTexture () } Sint32 -CPixmap::BltFast (Sint32 dstCh, size_t srcCh, Rect dstR, Rect srcR) +CPixmap::BltFast ( + Sint32 dstCh, size_t srcCh, Rect dstR, Rect srcR, SDL_RendererFlip flip) { Sint32 res; @@ -159,16 +160,18 @@ CPixmap::BltFast (Sint32 dstCh, size_t srcCh, Rect dstR, Rect srcR) if (this->mainTexture) SDL_SetRenderTarget (g_renderer, target ? target : this->mainTexture); - res = SDL_RenderCopy ( - g_renderer, m_SDLTextureInfo[srcCh].texture, &srcRect, &dstRect); + res = SDL_RenderCopyEx ( + g_renderer, m_SDLTextureInfo[srcCh].texture, &srcRect, &dstRect, 0, + nullptr, flip); if (this->mainTexture) SDL_SetRenderTarget (g_renderer, target); } else { SDL_SetRenderTarget (g_renderer, m_SDLTextureInfo[dstCh].texture); - res = SDL_RenderCopy ( - g_renderer, m_SDLTextureInfo[srcCh].texture, &srcRect, &dstRect); + res = SDL_RenderCopyEx ( + g_renderer, m_SDLTextureInfo[srcCh].texture, &srcRect, &dstRect, 0, + nullptr, flip); SDL_SetRenderTarget (g_renderer, target); } @@ -179,7 +182,8 @@ CPixmap::BltFast (Sint32 dstCh, size_t srcCh, Rect dstR, Rect srcR) // Les modes sont 0=transparent, 1=opaque. Sint32 -CPixmap::BltFast (Sint32 chDst, size_t channel, Point dst, Rect rcRect) +CPixmap::BltFast ( + Sint32 chDst, size_t channel, Point dst, Rect rcRect, SDL_RendererFlip flip) { Sint32 limit; @@ -209,7 +213,7 @@ CPixmap::BltFast (Sint32 chDst, size_t channel, Point dst, Rect rcRect) dstRect.top = dst.y; dstRect.right = dstRect.left + rcRect.right - rcRect.left; dstRect.bottom = dstRect.top + rcRect.bottom - rcRect.top; - return this->BltFast (chDst, channel, dstRect, rcRect); + return this->BltFast (chDst, channel, dstRect, rcRect, flip); } // Effectue un appel BltFast. @@ -376,9 +380,15 @@ CPixmap::Cache ( SDL_SetRenderTarget (g_renderer, m_SDLTextureInfo[channel].texture); + SDL_RendererFlip flip = + (mode == FIX_REVERSABLE || mode == EXPAND_REVERSABLE) && IsRightReading () + ? SDL_FLIP_HORIZONTAL + : SDL_FLIP_NONE; + switch (mode) { case FIX: + case FIX_REVERSABLE: { if (channel == CHBACK && (ow < LXIMAGE () || oh < LYIMAGE ())) { @@ -389,7 +399,8 @@ CPixmap::Cache ( SDL_Texture * texture = SDL_CreateTextureFromSurface (g_renderer, surface); SDL_FreeSurface (surface); - SDL_RenderCopy (g_renderer, texture, nullptr, nullptr); + SDL_RenderCopyEx ( + g_renderer, texture, nullptr, nullptr, 0, nullptr, flip); SDL_DestroyTexture (texture); } @@ -398,32 +409,37 @@ CPixmap::Cache ( dst.y = 0; dst.w = ow; dst.h = oh; - SDL_RenderCopy (g_renderer, texture, nullptr, &dst); + SDL_RenderCopyEx (g_renderer, texture, nullptr, &dst, 0, nullptr, flip); } else - SDL_RenderCopy (g_renderer, texture, nullptr, nullptr); + SDL_RenderCopyEx ( + g_renderer, texture, nullptr, nullptr, 0, nullptr, flip); break; } case EXPAND: + case EXPAND_REVERSABLE: { + auto isFlipped = flip == SDL_FLIP_HORIZONTAL; + SDL_Rect src, dst; src.x = 0; src.y = 0; - src.w = POSDRAWX - 1; + src.w = POSDRAWX_ - 1; src.h = LYIMAGE (); dst = src; - SDL_RenderCopy (g_renderer, texture, &src, &dst); + dst.x = isFlipped ? LXIMAGE () - src.w : src.x; + SDL_RenderCopyEx (g_renderer, texture, &src, &dst, 0, nullptr, flip); src.x = ow - 16; src.w = 16; - dst.x = LXIMAGE () - 16; + dst.x = isFlipped ? 0 : LXIMAGE () - 16; dst.w = src.w; - SDL_RenderCopy (g_renderer, texture, &src, &dst); - src.x = POSDRAWX - 1; + SDL_RenderCopyEx (g_renderer, texture, &src, &dst, 0, nullptr, flip); + src.x = POSDRAWX_ - 1; src.w = ow - src.x - 16; - dst.x = src.x; + dst.x = isFlipped ? 16 : src.x; dst.w = DIMDRAWX + 1; - SDL_RenderCopy (g_renderer, texture, &src, &dst); + SDL_RenderCopyEx (g_renderer, texture, &src, &dst, 0, nullptr, flip); break; } } @@ -644,12 +660,13 @@ CPixmap::DrawIconPart ( // Dessine une partie d'image n'importe o�. bool -CPixmap::DrawPart (Sint32 chDst, size_t channel, Point dest, Rect rect) +CPixmap::DrawPart ( + Sint32 chDst, size_t channel, Point dest, Rect rect, SDL_RendererFlip flip) { if (m_SDLTextureInfo.find (channel) == m_SDLTextureInfo.end ()) return false; - return !BltFast (chDst, channel, dest, rect); + return !BltFast (chDst, channel, dest, rect, flip); } // Dessine une partie d'image rectangulaire. diff --git a/src/pixmap.h b/src/pixmap.h index 4468d9d..dd47bc9 100644 --- a/src/pixmap.h +++ b/src/pixmap.h @@ -55,7 +55,9 @@ class CPixmap public: enum Mode { FIX = 0, + FIX_REVERSABLE, EXPAND, + EXPAND_REVERSABLE, }; CPixmap (CEvent * event); @@ -82,7 +84,9 @@ public: bool DrawIconPart ( Sint32 chDst, size_t channel, Sint32 rank, Point pos, Sint32 startY, Sint32 endY); - bool DrawPart (Sint32 chDst, size_t channel, Point dest, Rect rect); + bool DrawPart ( + Sint32 chDst, size_t channel, Point dest, Rect rect, + SDL_RendererFlip flip = SDL_FLIP_NONE); bool DrawImage (Sint32 chDst, size_t channel, Rect rect); bool BuildIconMask ( @@ -102,8 +106,12 @@ public: void FromGameToDisplay (Sint32 & x, Sint32 & y); protected: - Sint32 BltFast (Sint32 dstCh, size_t srcCh, Rect dstR, Rect srcR); - Sint32 BltFast (Sint32 chDst, size_t channel, Point dst, Rect rcRect); + Sint32 BltFast ( + Sint32 dstCh, size_t srcCh, Rect dstR, Rect srcR, + SDL_RendererFlip flip = SDL_FLIP_NONE); + Sint32 BltFast ( + Sint32 chDst, size_t channel, Point dst, Rect rcRect, + SDL_RendererFlip flip = SDL_FLIP_NONE); Sint32 BltFast ( SDL_Texture * lpSDL, size_t channel, Point dst, Rect rcRect, SDL_BlendMode = SDL_BLENDMODE_BLEND); diff --git a/src/progress.cxx b/src/progress.cxx index 0b4713a..7d73f34 100644 --- a/src/progress.cxx +++ b/src/progress.cxx @@ -63,32 +63,42 @@ CJauge::Draw () { Sint32 part; Rect rect; + Point pos = this->m_pos; + + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x - m_dim.x; if (m_bHide) // bouton caché ? { - rect.left = m_pos.x; - rect.right = m_pos.x + m_dim.x; - rect.top = m_pos.y; - rect.bottom = m_pos.y + m_dim.y; - m_pPixmap->DrawPart (-1, CHBACK, m_pos, rect); // dessine le fond + rect.left = pos.x; + rect.right = pos.x + m_dim.x; + rect.top = pos.y; + rect.bottom = pos.y + m_dim.y; + m_pPixmap->DrawPart (-1, CHBACK, pos, rect); // dessine le fond return; } + SDL_RendererFlip flip = SDL_FLIP_NONE; + if (IsRightReading ()) + flip = SDL_FLIP_HORIZONTAL; + part = (m_level * (DIMJAUGEX - 6 - 4)) / 100; rect.left = 0; rect.right = DIMJAUGEX; rect.top = DIMJAUGEY * 0; rect.bottom = DIMJAUGEY * 1; - m_pPixmap->DrawPart (-1, CHJAUGE, m_pos, rect); // partie noire + m_pPixmap->DrawPart (-1, CHJAUGE, pos, rect, flip); // partie noire if (part > 0) { + if (IsRightReading ()) + pos.x += DIMJAUGEX - part - 6; rect.left = 0; rect.right = 6 + part; rect.top = DIMJAUGEY * m_type; rect.bottom = DIMJAUGEY * (m_type + 1); - m_pPixmap->DrawPart (-1, CHJAUGE, m_pos, rect); // partie colorée + m_pPixmap->DrawPart (-1, CHJAUGE, pos, rect, flip); // partie colorée } } diff --git a/src/text.cxx b/src/text.cxx index cb42645..08ba99d 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -211,6 +211,9 @@ DrawTextPente ( { Sint32 rank, lg, rel, start; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; + start = pos.y; rel = 0; while (*pText != 0) @@ -227,7 +230,7 @@ DrawTextPente ( pText++; pText++; rel += lg; - pos.x += lg; + pos.x += IsRightReading () ? -lg : lg; pos.y = start + rel / pente; } } -- cgit v1.2.3 From 01f0b19658f305fdfa9ef238571c97d1d23d6fb0 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 29 Jan 2019 22:15:16 +0100 Subject: Fix buttons highlight for right layout --- src/button.cxx | 3 +++ src/event.cxx | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/button.cxx b/src/button.cxx index 0f91649..6a7a43f 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -340,6 +340,9 @@ CButton::Detect (Point pos) if (m_bHide || !m_bEnable) return false; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; + if (m_nbMenu > 1 && m_bMouseDown) // sous-menu déroulé ? width += 2 + (m_dim.x - 1) * m_nbMenu; diff --git a/src/event.cxx b/src/event.cxx index 0da126c..ecd25fc 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2989,6 +2989,9 @@ CEvent::EventButtons (const SDL_Event & event, Point pos) m_textToolTips[0] = 0; m_posToolTips.x = -1; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; + if (m_phase == EV_PHASE_PLAY) { auto progress = [&](CJauge & prog, const char * text) -> bool { -- cgit v1.2.3 From 44675591650297e336a498b715ba1eb55a14e6c0 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 29 Jan 2019 23:06:05 +0100 Subject: WIP: continue fixing of right layout (hebrew) --- src/button.cxx | 6 ------ src/event.cxx | 12 +++++++++--- src/progress.cxx | 5 ++++- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/button.cxx b/src/button.cxx index 6a7a43f..5d4019b 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -147,9 +147,6 @@ CButton::Draw () Point pos = this->m_pos; Rect rect; - if (IsRightReading ()) - pos.x = LXIMAGE () - pos.x - m_dim.x; - if (m_bHide) // bouton caché ? { rect.left = pos.x; @@ -340,9 +337,6 @@ CButton::Detect (Point pos) if (m_bHide || !m_bEnable) return false; - if (IsRightReading ()) - pos.x = LXIMAGE () - pos.x; - if (m_nbMenu > 1 && m_bMouseDown) // sous-menu déroulé ? width += 2 + (m_dim.x - 1) * m_nbMenu; diff --git a/src/event.cxx b/src/event.cxx index ecd25fc..6cd60d6 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2028,10 +2028,13 @@ CEvent::CreateButtons (Sint32 phase) pos.y = table[m_index].buttons[i].y; message = table[m_index].buttons[i].message; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x - DIMBUTTONX; + if ( phase != EV_PHASE_PLAY && phase != EV_PHASE_BUILD && phase != EV_PHASE_INIT) - pos.x += LXOFFSET (); + pos.x = IsRightReading () ? pos.x - LXOFFSET () : pos.x + LXOFFSET (); if (m_bPrivate) { @@ -2984,13 +2987,14 @@ bool CEvent::EventButtons (const SDL_Event & event, Point pos) { Sint32 lg; + Point _pos = pos; // Cherche le tool tips à utiliser pour la souris. m_textToolTips[0] = 0; m_posToolTips.x = -1; if (IsRightReading ()) - pos.x = LXIMAGE () - pos.x; + _pos.x = LXIMAGE () - _pos.x; if (m_phase == EV_PHASE_PLAY) { @@ -3030,10 +3034,12 @@ CEvent::EventButtons (const SDL_Event & event, Point pos) { snprintf (m_textToolTips, sizeof (m_textToolTips), "%s", text); lg = GetTextWidth (m_textToolTips); - pos.x += 10; + pos.x += IsRightReading () ? -lg : 10; pos.y += 20; if (pos.x > LXIMAGE () - lg) pos.x = LXIMAGE () - lg; + if (pos.x < 0) + pos.x = 0; if (pos.y > LYIMAGE () - 14) pos.y = LYIMAGE () - 14; m_posToolTips = pos; diff --git a/src/progress.cxx b/src/progress.cxx index 7d73f34..8a6b40d 100644 --- a/src/progress.cxx +++ b/src/progress.cxx @@ -138,5 +138,8 @@ CJauge::SetHide (bool bHide) Point CJauge::GetPos () { - return m_pos; + Point pos = m_pos; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x - m_dim.x; + return pos; } -- cgit v1.2.3 From baa3b7141b5aacec5227ad2d70f64b7c731b22c0 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 29 Jan 2019 23:41:54 +0100 Subject: WIP: continue text for right reading --- src/event.cxx | 6 ++++-- src/text.cxx | 20 +++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 6cd60d6..25e217f 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2595,6 +2595,8 @@ CEvent::DrawButtons () else pente = 19; pos.x += LXOFFSET (); + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawTextRect (m_pPixmap, pos, m_libelle, pente, FONTSLIM); } @@ -3034,9 +3036,9 @@ CEvent::EventButtons (const SDL_Event & event, Point pos) { snprintf (m_textToolTips, sizeof (m_textToolTips), "%s", text); lg = GetTextWidth (m_textToolTips); - pos.x += IsRightReading () ? -lg : 10; + pos.x += IsRightReading () ? -10 : 10; pos.y += 20; - if (pos.x > LXIMAGE () - lg) + if (pos.x > LXIMAGE () + (IsRightReading () ? 0 : - lg)) pos.x = LXIMAGE () - lg; if (pos.x < 0) pos.x = 0; diff --git a/src/text.cxx b/src/text.cxx index 08ba99d..ac953de 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -195,11 +195,20 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) else pPixmap->DrawIcon (-1, CHLITTLE, rank, pos); - pos.x += GetCharWidth (pText, font); - - if (inc) + if (IsRightReading ()) + { + if (inc) + pText++; pText++; - pText++; + pos.x += -GetCharWidth (pText, font); + } + else + { + pos.x += GetCharWidth (pText, font); + if (inc) + pText++; + pText++; + } } } @@ -211,9 +220,6 @@ DrawTextPente ( { Sint32 rank, lg, rel, start; - if (IsRightReading ()) - pos.x = LXIMAGE () - pos.x; - start = pos.y; rel = 0; while (*pText != 0) -- cgit v1.2.3 From 4580822c38605f1b822d77bb35953cd494e934fc Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 29 Jan 2019 23:48:13 +0100 Subject: WIP: continue fixes for hebrew --- src/event.cxx | 5 +++-- src/text.cxx | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 25e217f..7b922e3 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2145,7 +2145,8 @@ CEvent::DrawButtons () snprintf ( res, sizeof (res), "%s %u.%u.%u%s", gettext ("Version"), PB_VERSION_MAJOR, PB_VERSION_MINOR, PB_VERSION_PATCH, PB_VERSION_EXTRA); - pos.x = LXIMAGE () - GetTextWidth (res, FONTLITTLE) - 4; + pos.x = IsRightReading () ? 4 + GetTextWidth (res, FONTLITTLE) + : LXIMAGE () - GetTextWidth (res, FONTLITTLE) - 4; pos.y = 465; DrawText (m_pPixmap, pos, res, FONTLITTLE); @@ -3038,7 +3039,7 @@ CEvent::EventButtons (const SDL_Event & event, Point pos) lg = GetTextWidth (m_textToolTips); pos.x += IsRightReading () ? -10 : 10; pos.y += 20; - if (pos.x > LXIMAGE () + (IsRightReading () ? 0 : - lg)) + if (pos.x > LXIMAGE () + (IsRightReading () ? 0 : -lg)) pos.x = LXIMAGE () - lg; if (pos.x < 0) pos.x = 0; diff --git a/src/text.cxx b/src/text.cxx index ac953de..848e627 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -327,8 +327,10 @@ DrawTextCenter (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) if (*pText == '\n') pText++; // saute '\n' - pDest = text; - start.x = pos.x - GetTextWidth (pDest) / 2; + pDest = text; + start.x = + pos.x + + (IsRightReading () ? GetTextWidth (pDest) : -GetTextWidth (pDest)) / 2; start.y = pos.y; DrawText (pPixmap, start, pDest, font); -- cgit v1.2.3 From 908383e29a86b9038fe4354def9da2dfc54e9395 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 30 Jan 2019 00:04:17 +0100 Subject: Use _nl_msg_cat_cntr only with the glibc --- src/event.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 7b922e3..5dff683 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -4164,10 +4164,10 @@ CEvent::SetLanguage (Language lang) { putenv (env); -#ifndef EMSCRIPTEN +#ifdef __GLIBC__ extern int _nl_msg_cat_cntr; ++_nl_msg_cat_cntr; -#endif /* EMSCRIPTEN */ +#endif /* __GLIBC__ */ } SDL_SetWindowTitle (g_window, gettext ("Planet Blupi")); -- cgit v1.2.3 From 94df6a2210ec571202c310167dce849acf8c4d5c Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 2 Feb 2019 13:55:52 +0100 Subject: Continue fixing positions for right2left layout (hebrew) --- src/event.cxx | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- src/text.cxx | 19 ++++++--------- 2 files changed, 72 insertions(+), 23 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 5dff683..8bc5d60 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2426,14 +2426,18 @@ CEvent::DrawButtons () { Term * pTerm = m_pDecor->GetTerminated (); - DrawTextCenter ( - gettext ("Ending conditions"), (10 + 134) / 2 + LXOFFSET (), 20); + auto x = (10 + 134) / 2 + LXOFFSET (); + if (IsRightReading ()) + x = LXIMAGE () - x; + DrawTextCenter (gettext ("Ending conditions"), x, 20); pos.x = 170 + 42 * 2 + 4 + LXOFFSET (); pos.y = 30 + 12 + 42 * 4; snprintf ( text, sizeof (text), gettext ("Lost if less than %d Blupi"), pTerm->nbMinBlupi); + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text); pos.x = 170 + 42 * 2 + 4 + LXOFFSET (); @@ -2441,22 +2445,37 @@ CEvent::DrawButtons () snprintf ( text, sizeof (text), gettext ("Impossible to win if less than %d Blupi"), pTerm->nbMaxBlupi); + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text); } // Dessine les textes pour les choix des boutons. if (m_phase == EV_PHASE_BUTTON) - DrawTextCenter ( - gettext ("Available buttons"), (10 + 134) / 2 + LXOFFSET (), 20); + { + auto x = (10 + 134) / 2 + LXOFFSET (); + if (IsRightReading ()) + x = LXIMAGE () - x; + DrawTextCenter (gettext ("Available buttons"), x, 20); + } // Dessine les textes pour le choix des musiques. if (m_phase == EV_PHASE_MUSIC) - DrawTextCenter (gettext ("Music choice"), (10 + 134) / 2 + LXOFFSET (), 20); + { + auto x = (10 + 134) / 2 + LXOFFSET (); + if (IsRightReading ()) + x = LXIMAGE () - x; + DrawTextCenter (gettext ("Music choice"), x, 20); + } // Dessine les textes pour le choix de la région. if (m_phase == EV_PHASE_REGION) - DrawTextCenter ( - gettext ("Scenery choice"), (10 + 134) / 2 + LXOFFSET (), 20); + { + auto x = (10 + 134) / 2 + LXOFFSET (); + if (IsRightReading ()) + x = LXIMAGE () - x; + DrawTextCenter (gettext ("Scenery choice"), x, 20); + } // Ajoute "Mission numéro". if (m_phase == EV_PHASE_INFO) @@ -2478,6 +2497,8 @@ CEvent::DrawButtons () pos.x -= 100; if (m_bPrivate) pos.y += 14; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, res, FONTSLIM); } @@ -2494,6 +2515,8 @@ CEvent::DrawButtons () pos.x -= 100; if (m_bPrivate) pos.y += 14; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text, FONTRED); } @@ -2510,6 +2533,8 @@ CEvent::DrawButtons () pos.x -= 100; if (m_bPrivate) pos.y += 14; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text, FONTRED); } @@ -2526,6 +2551,7 @@ CEvent::DrawButtons () world = m_private; lg = GetBignumWidth (world + 1); + lg = IsRightReading () ? -lg : lg; pos.x = (140 + 270) / 2 - lg / 2 + LXOFFSET (); pos.y = 100; if (m_bSchool) @@ -2534,6 +2560,8 @@ CEvent::DrawButtons () pos.x -= 135; if (m_bPrivate) pos.y = 115; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawBignum (m_pPixmap, pos, world + 1); } @@ -2542,6 +2570,7 @@ CEvent::DrawButtons () { if (!m_bSchool) { + std::string text; if (m_pDecor->GetSkill () == 0) { if (m_bPrivate) @@ -2555,10 +2584,9 @@ CEvent::DrawButtons () pos.y = 230 + 13; } pos.x += LXOFFSET (); - DrawText (m_pPixmap, pos, gettext ("Easy"), FONTSLIM); + text = gettext ("Easy"); } - - if (m_pDecor->GetSkill () == 1) + else if (m_pDecor->GetSkill () == 1) { if (m_bPrivate) { @@ -2571,8 +2599,12 @@ CEvent::DrawButtons () pos.y = 230 + 42 + 13; } pos.x += LXOFFSET (); - DrawText (m_pPixmap, pos, gettext ("Difficult"), FONTSLIM); + text = gettext ("Difficult"); } + + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; + DrawText (m_pPixmap, pos, text.c_str (), FONTSLIM); } } @@ -2614,6 +2646,8 @@ CEvent::DrawButtons () pos.x = 60 + LXOFFSET (); pos.y = 443; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, list[GetWorld () % 5]); } @@ -2628,6 +2662,8 @@ CEvent::DrawButtons () pos.x = 60 + LXOFFSET (); pos.y = 443; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, list[GetWorld () % 5]); } @@ -2645,6 +2681,8 @@ CEvent::DrawButtons () pos.x = 60 + LXOFFSET (); pos.y = 443; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text); } @@ -2661,18 +2699,21 @@ CEvent::DrawButtons () snprintf (res, sizeof (res), "x%d", m_speed); lg = GetTextWidth (res); + lg = IsRightReading () ? -lg : lg; pos.x = (54 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, res); snprintf (res, sizeof (res), "%d", m_pSound->GetAudioVolume ()); lg = GetTextWidth (res); + lg = IsRightReading () ? -lg : lg; pos.x = (284 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, res); snprintf (res, sizeof (res), "%d", m_pSound->GetMidiVolume ()); lg = GetTextWidth (res); + lg = IsRightReading () ? -lg : lg; pos.x = (399 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, res); @@ -2681,6 +2722,7 @@ CEvent::DrawButtons () if (m_pMovie->GetEnable () && m_bMovie) text = gettext ("Yes"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = (514 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, text); @@ -2690,6 +2732,7 @@ CEvent::DrawButtons () else snprintf (res, sizeof (res), "%d", m_scrollSpeed); lg = GetTextWidth (res); + lg = IsRightReading () ? -lg : lg; pos.x = (169 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, res); @@ -2733,6 +2776,7 @@ CEvent::DrawButtons () lang = "עברי"; lg = GetTextWidth (lang.c_str ()); + lg = IsRightReading () ? -lg : lg; pos.x = (54 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, lang.c_str ()); @@ -2740,6 +2784,7 @@ CEvent::DrawButtons () const char * text = g_bFullScreen ? gettext ("Fullscreen") : gettext ("Windowed"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = (169 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, text); @@ -2752,12 +2797,14 @@ CEvent::DrawButtons () g_zoom == 2 ? gettext ("Legacy") : gettext ("Desktop")); lg = GetTextWidth (res); + lg = IsRightReading () ? -lg : lg; pos.x = (284 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, res); text = (g_restoreMidi && mid) || !ogg ? gettext ("Midi") : gettext ("Ogg"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = (399 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, text); @@ -2767,6 +2814,7 @@ CEvent::DrawButtons () ? (g_renderQuality ? gettext ("Anti-aliasing") : gettext ("Aliasing")) : gettext ("Not available"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = (514 + 40) - lg / 2 + LXOFFSET (); pos.y = 330 - 20; DrawText (m_pPixmap, pos, text); @@ -2779,6 +2827,7 @@ CEvent::DrawButtons () text = gettext ("You have played Planet Blupi."); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = LXIMAGE () / 2 - lg / 2; pos.y = 20; DrawText (m_pPixmap, pos, text); @@ -2786,6 +2835,7 @@ CEvent::DrawButtons () text = gettext ("We hope you have had as much fun playing the game as we " "had making it !"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = LXIMAGE () / 2 - lg / 2; pos.y = 40; DrawText (m_pPixmap, pos, text); @@ -2811,6 +2861,8 @@ CEvent::DrawButtons () for (size_t i = 0; i < countof (libs); ++i) { pos.x = 30 + LXOFFSET (); + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; pos.y = 120 + i * 20; DrawText (m_pPixmap, pos, libs[i].c_str ()); } @@ -2818,12 +2870,14 @@ CEvent::DrawButtons () text = gettext ("This game is an original creation of Epsitec SA, CH-1400 " "Yverdon-les-Bains"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = LXIMAGE () / 2 - lg / 2; pos.y = 430; DrawText (m_pPixmap, pos, text); text = gettext ("http://www.blupi.org info@blupi.org"); lg = GetTextWidth (text); + lg = IsRightReading () ? -lg : lg; pos.x = LXIMAGE () / 2 - lg / 2; pos.y = 450; DrawText (m_pPixmap, pos, text); diff --git a/src/text.cxx b/src/text.cxx index 848e627..4c7ce19 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -187,6 +187,9 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) rank = GetOffset (pText); auto inc = rank > 127; + if (IsRightReading ()) + pos.x += -GetCharWidth (pText, font); + if (font != FONTLITTLE) { rank += 256 * font; @@ -195,20 +198,12 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) else pPixmap->DrawIcon (-1, CHLITTLE, rank, pos); - if (IsRightReading ()) - { - if (inc) - pText++; - pText++; - pos.x += -GetCharWidth (pText, font); - } - else - { + if (!IsRightReading ()) pos.x += GetCharWidth (pText, font); - if (inc) - pText++; + + if (inc) pText++; - } + pText++; } } -- cgit v1.2.3 From 5c7d61fb44162175f8115cb95b68f371cecbba21 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 2 Feb 2019 14:13:43 +0100 Subject: Continue fixing positions for right2left layout (hebrew) --- src/event.cxx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 8bc5d60..06da68a 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2028,13 +2028,20 @@ CEvent::CreateButtons (Sint32 phase) pos.y = table[m_index].buttons[i].y; message = table[m_index].buttons[i].message; - if (IsRightReading ()) + auto isRightReading = + ((message == EV_PHASE_INIT || message == EV_PHASE_PLAY || + message == EV_SETUP_EXIT) || + (phase != EV_PHASE_SETTINGS && phase != EV_PHASE_SETUP && + phase != EV_PHASE_SETUPp)) && + IsRightReading (); + + if (isRightReading) pos.x = LXIMAGE () - pos.x - DIMBUTTONX; if ( phase != EV_PHASE_PLAY && phase != EV_PHASE_BUILD && phase != EV_PHASE_INIT) - pos.x = IsRightReading () ? pos.x - LXOFFSET () : pos.x + LXOFFSET (); + pos.x = isRightReading ? pos.x - LXOFFSET () : pos.x + LXOFFSET (); if (m_bPrivate) { @@ -2136,6 +2143,8 @@ CEvent::DrawButtons () rect.right = pos.x + 300; rect.top = pos.y; rect.bottom = pos.y + DIMLITTLEY; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text, FONTLITTLE); } } @@ -2158,6 +2167,8 @@ CEvent::DrawButtons () res, sizeof (res), gettext ("New version available for download on www.blupi.org (v%s)"), this->m_updateVersion.c_str ()); + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, res, FONTLITTLE); } } -- cgit v1.2.3 From c82e04d558e42bea16539d08679c484611637ee6 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 2 Feb 2019 14:54:45 +0100 Subject: Continue fixing positions for right2left layout (hebrew) --- src/event.cxx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 06da68a..1fe4d4d 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2349,10 +2349,14 @@ CEvent::DrawButtons () rect.bottom = POSDRAWY; m_pPixmap->DrawPart (-1, CHBACK, pos, rect); - pos.x = POSDRAWX + 20; + pos.x = POSDRAWX_ + 20; pos.y = POSDRAWY + 4; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawTextRect (m_pPixmap, pos, m_libelle, 0, FONTLITTLE, 1); - pos.x = POSDRAWX + DIMDRAWX / 2 + 20; + pos.x = POSDRAWX_ + DIMDRAWX / 2 + 20; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawTextRect (m_pPixmap, pos, m_libelle, 0, FONTLITTLE, 2); pos.x = POSDRAWX + DIMDRAWX / 2 - DIMBUTTONX / 2; @@ -2365,6 +2369,8 @@ CEvent::DrawButtons () { m_posHelpButton.x = POSDRAWX + DIMDRAWX - DIMBUTTONX - 2; m_posHelpButton.y = lg - DIMBUTTONY - 2; + if (IsRightReading ()) + m_posHelpButton.x = POSDRAWX + 2; m_pPixmap->DrawIcon ( -1, CHBUTTON, m_bHiliHelpButton ? 2 : 0, m_posHelpButton); if (m_bInfoHelp) @@ -2378,6 +2384,8 @@ CEvent::DrawButtons () { pos.x = POSDRAWX + DIMDRAWX / 2 - DIMBUTTONX / 2; pos.y = -12; + if (IsRightReading ()) + m_posHelpButton.x = POSDRAWX + 2; m_pPixmap->DrawIcon (-1, CHBUTTON, m_bHiliInfoButton ? 75 : 74, pos); } m_posInfoButton = pos; @@ -2395,6 +2403,8 @@ CEvent::DrawButtons () pos.x = 420 + LXOFFSET (); pos.y = 8; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, res); for (i = 0; i < 10; i++) @@ -2406,9 +2416,13 @@ CEvent::DrawButtons () lg = GetTextWidth (text); pos.x = (420 + 460) / 2 - lg / 2 + LXOFFSET (); pos.y = 30 + 12 + 42 * i; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, text, FONTSLIM); pos.x = 420 + 50 + LXOFFSET (); + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; if (world >= 0) { @@ -3077,6 +3091,7 @@ CEvent::EventButtons (const SDL_Event & event, Point pos) { snprintf (m_textToolTips, sizeof (m_textToolTips), "%s", text); lg = GetTextWidth (m_textToolTips); + lg = IsRightReading () ? -lg : lg; test.x += (DIMJAUGEX - lg) / 2; test.y += 4; m_posToolTips = test; -- cgit v1.2.3 From a7abeb60a1b8bd204379a1ea4e1f1964c57e5898 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 2 Feb 2019 15:10:59 +0100 Subject: Continue fixing positions for right2left layout (hebrew) --- src/menu.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/menu.cxx b/src/menu.cxx index 02ffb4e..d0c4931 100644 --- a/src/menu.cxx +++ b/src/menu.cxx @@ -305,13 +305,16 @@ CMenu::Draw () snprintf (text, sizeof (text), "%s", tr); } - if (m_nbCel.x > 1 && i < m_nbCel.y) + if ( + (m_nbCel.x > 1 && i < m_nbCel.y) || (IsRightReading () && m_nbCel.x == 1)) { - pos.x = m_pos.x - 4 - GetTextWidth (text); // texte à gauche + pos.x = m_pos.x - 4 - + (IsRightReading () ? 0 : GetTextWidth (text)); // texte à gauche } else { - pos.x = m_pos.x + m_dim.x + 4; + pos.x = + m_pos.x + m_dim.x + 4 + (IsRightReading () ? GetTextWidth (text) : 0); } DrawText (m_pPixmap, pos, text, FONTWHITE); @@ -331,13 +334,16 @@ CMenu::Draw () snprintf (text, sizeof (text), "%s", tr); } - if (m_nbCel.x > 1 && i < m_nbCel.y) + if ( + (m_nbCel.x > 1 && i < m_nbCel.y) || + (IsRightReading () && m_nbCel.x == 1)) { - pos.x = m_pos.x - 4 - GetTextWidth (text); + pos.x = m_pos.x - 4 - (IsRightReading () ? 0 : GetTextWidth (text)); } else { - pos.x = m_pos.x + m_dim.x + 4; + pos.x = + m_pos.x + m_dim.x + 4 + (IsRightReading () ? GetTextWidth (text) : 0); } pos.y += DIMTEXTY; -- cgit v1.2.3 From 34d64c5beedd6973b9bf8b25acb334ef94f7a639 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 2 Feb 2019 15:20:27 +0100 Subject: Continue fixing positions for right2left layout (hebrew) --- src/decstat.cxx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/decstat.cxx b/src/decstat.cxx index aed44bb..fc8c769 100644 --- a/src/decstat.cxx +++ b/src/decstat.cxx @@ -775,7 +775,9 @@ CDecor::StatisticDraw () if (strlen (textRes)) { nb = GetTextWidth (textRes); - pos.x += (POSDRAWX - nb) / 2; + pos.x += (POSDRAWX_ - nb) / 2; + if (IsRightReading ()) + pos.x = LXIMAGE () - pos.x; DrawText (m_pPixmap, pos, textRes); } } @@ -1011,16 +1013,22 @@ Sint32 CDecor::StatisticDetect (Point pos, bool & disable) { Sint32 rank; + Point _pos = pos; disable = false; + if (IsRightReading ()) + _pos.x = LXIMAGE () - _pos.x; + // Dans un bouton stop/setup/write ? - if (pos.x >= 10 && pos.x <= 10 + 42 * 3 && pos.y >= 422 && pos.y <= 422 + 40) + if ( + _pos.x >= 10 && _pos.x <= 10 + 42 * 3 && _pos.y >= 422 && + _pos.y <= 422 + 40) { - pos.x -= 10; - if (pos.x % 42 > 40) + _pos.x -= 10; + if (_pos.x % 42 > 40) return -1; - return 100 + pos.x / 42; + return 100 + _pos.x / 42; } if ( -- cgit v1.2.3 From 743f4604022a06ff09a67d10f5bd57ee6832a694 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 2 Feb 2019 15:30:11 +0100 Subject: Continue fixing positions for right2left layout (hebrew) --- src/button.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/button.cxx b/src/button.cxx index 5d4019b..0b44339 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -173,12 +173,12 @@ CButton::Draw () if (m_nbMenu == 1 || !m_bEnable || !m_bMouseDown) return; - pos.x += m_dim.x + 2; + pos.x += IsRightReading () ? -m_dim.x - 2 : m_dim.x + 2; for (i = 0; i < m_nbMenu; i++) { m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, i == m_selMenu ? 1 : 0, pos); m_pPixmap->DrawIcon (-1, CHBUTTON + m_type, m_iconMenu[i] + 6, pos); - pos.x += m_dim.x - 1; + pos.x += IsRightReading () ? -m_dim.x - 1 : m_dim.x - 1; } } -- cgit v1.2.3 From 3cd52b699d7980b7dd1bf4058173e7383b9395f8 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Mon, 4 Feb 2019 22:53:47 +0100 Subject: Continue right2left layout and reading --- src/decor.cxx | 7 ++++--- src/event.cxx | 20 +++++++++++--------- src/text.cxx | 34 ++++++++++++++++++++++++++++++++-- 3 files changed, 47 insertions(+), 14 deletions(-) diff --git a/src/decor.cxx b/src/decor.cxx index 42be5f3..c26fd90 100644 --- a/src/decor.cxx +++ b/src/decor.cxx @@ -1538,7 +1538,7 @@ term: const auto text = GetResHili (posMouse); if (text) { - posMouse.x += 10; + posMouse.x += IsRightReading () ? 0 : 10; posMouse.y += 20; DrawText (m_pPixmap, posMouse, text); } @@ -1843,7 +1843,8 @@ CDecor::CelOkForAction ( GetFloor (cel, channel, icon); if ( // mine ? action == EV_ACTION_BUILD4 && - ((!g_restoreBugs && !m_decorMem[cel.x / 2][cel.y / 2].flagged) || // fixed + ((!g_restoreBugs && + !m_decorMem[cel.x / 2][cel.y / 2].flagged) || // fixed (g_restoreBugs && (channel != CHFLOOR || icon != 71)))) // funny bug { error = Errors::GROUND; // sol pas adéquat @@ -3504,4 +3505,4 @@ void CDecor::InvalidateGrounds () { m_bGroundRedraw = true; -} \ No newline at end of file +} diff --git a/src/event.cxx b/src/event.cxx index 1fe4d4d..a37f6fa 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2294,28 +2294,30 @@ CEvent::DrawButtons () } m_menu.Draw (); + auto offset = IsRightReading () ? POSDRAWX + DIMDRAWX : 0; + // Dessine la rose des vents. if (!m_bPause && !m_bDemoPlay) { - DrawTextCenter (gettext ("N"), (10 + 134) / 2, 17); - DrawTextCenter (gettext ("S"), (10 + 134) / 2, 126); - DrawTextCenter (gettext ("W"), 14, 70); - DrawTextCenter (gettext ("E"), 129, 70); + DrawTextCenter (gettext ("N"), (10 + 134) / 2 + offset, 17); + DrawTextCenter (gettext ("S"), (10 + 134) / 2 + offset, 126); + DrawTextCenter (gettext ("W"), 14 + offset, 70); + DrawTextCenter (gettext ("E"), 129 + offset, 70); } // Dessine la pause. if (m_bPause) - DrawTextCenter (gettext ("Game paused"), (10 + 134) / 2, 20); + DrawTextCenter (gettext ("Game paused"), (10 + 134) / 2 + offset, 20); else { if (m_bDemoRec) // recording demo ? - DrawTextCenter (gettext ("REC"), (10 + 38) / 2, 20, FONTRED); + DrawTextCenter (gettext ("REC"), (10 + 38) / 2 + offset, 20, FONTRED); if (m_bDemoPlay) // playing demo ? - DrawTextCenter (gettext ("Demo"), (10 + 134) / 2, 20, FONTRED); + DrawTextCenter (gettext ("Demo"), (10 + 134) / 2 + offset, 20, FONTRED); } // Dessine la vitesse. - pos.x = 64; + pos.x = IsRightReading () ? LXIMAGE () - 64 : 64; pos.y = LYIMAGE () - 15; rect.left = pos.x; rect.right = pos.x + 20; @@ -3117,7 +3119,7 @@ CEvent::EventButtons (const SDL_Event & event, Point pos) { snprintf (m_textToolTips, sizeof (m_textToolTips), "%s", text); lg = GetTextWidth (m_textToolTips); - pos.x += IsRightReading () ? -10 : 10; + pos.x += IsRightReading () ? 0 : 10; pos.y += 20; if (pos.x > LXIMAGE () + (IsRightReading () ? 0 : -lg)) pos.x = LXIMAGE () - lg; diff --git a/src/text.cxx b/src/text.cxx index 4c7ce19..65713b8 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -180,10 +180,34 @@ GetCharWidth (const char *& c, Sint32 font) void DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) { - Sint32 rank; + Sint32 rank; + bool isNumber = false; + int numberSize = 0; + const char * it = nullptr; + int skip = 0; - while (*pText != '\0') + while (*pText != '\0' || skip) { + if (IsRightReading () && numberSize == 0) + { + it = pText; + isNumber = *pText >= '0' && *pText <= '9'; + if (isNumber) + { + while (*pText >= '0' && *pText <= '9') + ++pText; + + numberSize = pText - it; + skip = numberSize - 1; + } + } + + if (numberSize) + { + pText = it + numberSize - 1; + numberSize--; + } + rank = GetOffset (pText); auto inc = rank > 127; @@ -201,6 +225,12 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) if (!IsRightReading ()) pos.x += GetCharWidth (pText, font); + if (!numberSize && skip > 0) + { + pText += skip; + skip = 0; + } + if (inc) pText++; pText++; -- cgit v1.2.3 From 1e1fc1f7f453909bede618fb8599f402498448c3 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 18:47:41 +0100 Subject: Revert "Use _nl_msg_cat_cntr only with the glibc" It breaks MSYS2 builds. This reverts commit 908383e29a86b9038fe4354def9da2dfc54e9395. --- src/event.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index a37f6fa..2b645aa 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -4246,10 +4246,10 @@ CEvent::SetLanguage (Language lang) { putenv (env); -#ifdef __GLIBC__ +#ifndef EMSCRIPTEN extern int _nl_msg_cat_cntr; ++_nl_msg_cat_cntr; -#endif /* __GLIBC__ */ +#endif /* EMSCRIPTEN */ } SDL_SetWindowTitle (g_window, gettext ("Planet Blupi")); -- cgit v1.2.3 From ad241f38073471b97a8d2b61023370eb69250674 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 19:03:13 +0100 Subject: WIP: continue layout for right2left reading (hebrew) --- src/decstat.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/decstat.cxx b/src/decstat.cxx index fc8c769..1a6048d 100644 --- a/src/decstat.cxx +++ b/src/decstat.cxx @@ -734,13 +734,13 @@ CDecor::StatisticDraw () if (pStatistic->nb > 0) { - pos.x -= 3; + pos.x -= IsRightReading () ? -21 : 3; pos.y -= 5; m_pPixmap->DrawIcon (-1, CHBUTTON, icon, pos); nb = pStatistic->nb; snprintf (text, sizeof (text), "%d", nb); - pos.x += 3 + 34; + pos.x += IsRightReading () ? -21 + 22 : 3 + 34; pos.y += 5 + 7; DrawText (m_pPixmap, pos, text); } -- cgit v1.2.3 From 352fc7ba3be4f56a2e926049876fb90dd59085ac Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 21:30:40 +0100 Subject: WIP: continue layout for right2left reading (hebrew) --- src/button.cxx | 52 ++++++++++++++++++++++++++++++++-------------------- src/button.h | 1 + 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/button.cxx b/src/button.cxx index 0b44339..9b9a1ca 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -290,24 +290,43 @@ CButton::MouseOnButton (Point pos) return Detect (pos); } +bool +CButton::IsInMenu (const Point & pos) +{ + Sint32 width = m_dim.x; + + if (m_nbMenu > 1 && m_bMouseDown) // submenu expanded ? + width += 2 + (m_dim.x + (IsRightReading () ? 1 : -1)) * m_nbMenu; + + if (IsRightReading () && m_nbMenu > 1 && m_bMouseDown) + { + if (pos.x > m_pos.x + m_dim.x || pos.x < m_pos.x - width + m_dim.x) + return false; + } + else + { + if (pos.x < m_pos.x || pos.x > m_pos.x + width) + return false; + } + + if (pos.y < m_pos.y || pos.y > m_pos.y + m_dim.y) + return false; + + return true; +} + // Retourne le tooltips pour un bouton, en fonction // de la position de la souris. const char * CButton::GetToolTips (Point pos) { - Sint32 width = m_dim.x; Sint32 rank; if (m_bHide || !m_bEnable) return nullptr; - if (m_nbMenu > 1 && m_bMouseDown) // sous-menu déroulé ? - width += 2 + (m_dim.x - 1) * m_nbMenu; - - if ( - pos.x < m_pos.x || pos.x > m_pos.x + width || pos.y < m_pos.y || - pos.y > m_pos.y + m_dim.y) + if (!this->IsInMenu (pos)) return nullptr; rank = (pos.x - (m_pos.x + 2 + 1)) / (m_dim.x - 1); @@ -332,20 +351,10 @@ CButton::GetToolTips (Point pos) bool CButton::Detect (Point pos) { - Sint32 width = m_dim.x; - if (m_bHide || !m_bEnable) return false; - if (m_nbMenu > 1 && m_bMouseDown) // sous-menu déroulé ? - width += 2 + (m_dim.x - 1) * m_nbMenu; - - if ( - pos.x < m_pos.x || pos.x > m_pos.x + width || pos.y < m_pos.y || - pos.y > m_pos.y + m_dim.y) - return false; - - return true; + return this->IsInMenu (pos); } // Bouton de la souris pressé. @@ -395,9 +404,12 @@ CButton::MouseMove (Point pos) if ( m_nbMenu > 1 && m_bMouseDown && - pos.x > m_pos.x + m_dim.x + 2) // dans sous-menu ? + (IsRightReading () ? pos.x < m_pos.x + : pos.x > m_pos.x + m_dim.x + 2)) // in sub-menu ? { - m_selMenu = (pos.x - (m_pos.x + m_dim.x + 2)) / (m_dim.x - 1); + m_selMenu = IsRightReading () + ? (m_pos.x - 2 - pos.x) / (m_dim.x + 1) + : (pos.x - (m_pos.x + m_dim.x + 2)) / (m_dim.x - 1); if (m_selMenu >= m_nbMenu) m_selMenu = m_nbMenu - 1; } diff --git a/src/button.h b/src/button.h index a666f35..5b5862b 100644 --- a/src/button.h +++ b/src/button.h @@ -58,6 +58,7 @@ public: protected: bool Detect (Point pos); + bool IsInMenu (const Point & pos); bool MouseDown (Point pos); bool MouseMove (Point pos); bool MouseUp (Point pos); -- cgit v1.2.3 From 7482ddb3d6966356f1590b5cba61a77d05f5275c Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 21:54:32 +0100 Subject: Add localized image support (init hebrew screen) --- resources/image/he/init.png | Bin 0 -> 64016 bytes src/blupi.cxx | 32 ++++++------- src/decor.cxx | 6 +-- src/event.cxx | 106 ++++++++++++++++++++++---------------------- src/pixmap.cxx | 9 +++- 5 files changed, 79 insertions(+), 74 deletions(-) create mode 100644 resources/image/he/init.png diff --git a/resources/image/he/init.png b/resources/image/he/init.png new file mode 100644 index 0000000..322878b Binary files /dev/null and b/resources/image/he/init.png differ diff --git a/src/blupi.cxx b/src/blupi.cxx index e8178b7..5dd9532 100644 --- a/src/blupi.cxx +++ b/src/blupi.cxx @@ -361,7 +361,7 @@ HandleEvent (const SDL_Event & event) totalDim.y = 66; iconDim.x = 64; iconDim.y = 66 / 2; - g_pPixmap->Cache (CHHILI, "image/hili.png", totalDim, iconDim); + g_pPixmap->Cache (CHHILI, "hili.png", totalDim, iconDim); } SDL_SetWindowTitle (g_window, gettext ("Planet Blupi")); if (g_pSound != nullptr) @@ -865,9 +865,9 @@ DoInit (int argc, char * argv[], bool & exit) iconDim.x = 0; iconDim.y = 0; #if _INTRO - if (!g_pPixmap->Cache (CHBACK, "image/intro1.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHBACK, "intro1.png", totalDim, iconDim)) #else - if (!g_pPixmap->Cache (CHBACK, "image/init.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHBACK, "init.png", totalDim, iconDim)) #endif return EXIT_FAILURE; @@ -888,7 +888,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMCELY * 2 * 6; iconDim.x = DIMCELX * 2; iconDim.y = DIMCELY * 2; - if (!g_pPixmap->Cache (CHFLOOR, "image/floor000.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHFLOOR, "floor000.png", totalDim, iconDim)) { InitFail ("Cache floor000.png"); return EXIT_FAILURE; @@ -898,13 +898,13 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMOBJY * 8; iconDim.x = DIMOBJX; iconDim.y = DIMOBJY; - if (!g_pPixmap->Cache (CHOBJECT, "image/obj000.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHOBJECT, "obj000.png", totalDim, iconDim)) { InitFail ("Cache obj000.png"); return EXIT_FAILURE; } - if (!g_pPixmap->Cache (CHOBJECTo, "image/obj-o000.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHOBJECTo, "obj-o000.png", totalDim, iconDim)) { InitFail ("Cache obj-o000.png"); return EXIT_FAILURE; @@ -914,7 +914,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMBLUPIY * 23; iconDim.x = DIMBLUPIX; iconDim.y = DIMBLUPIY; - if (!g_pPixmap->Cache (CHBLUPI, "image/blupi.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHBLUPI, "blupi.png", totalDim, iconDim)) { InitFail ("Cache blupi.png"); return EXIT_FAILURE; @@ -924,7 +924,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = 66; iconDim.x = 64; iconDim.y = 66 / 2; - if (!g_pPixmap->Cache (CHHILI, "image/hili.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHHILI, "hili.png", totalDim, iconDim)) { InitFail ("Cache hili.png"); return EXIT_FAILURE; @@ -934,7 +934,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMCELY * 2 * 5; iconDim.x = DIMCELX * 2; iconDim.y = DIMCELY * 2; - if (!g_pPixmap->Cache (CHFOG, "image/fog.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHFOG, "fog.png", totalDim, iconDim)) { InitFail ("Cache fog.png"); return EXIT_FAILURE; @@ -944,7 +944,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMCELY * 2 * 1; iconDim.x = DIMCELX * 2; iconDim.y = DIMCELY * 2; - if (!g_pPixmap->Cache (CHMASK1, "image/mask1.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHMASK1, "mask1.png", totalDim, iconDim)) { InitFail ("Cache mask1.png"); return EXIT_FAILURE; @@ -954,7 +954,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMCELY * 2 * 1; iconDim.x = DIMCELX * 2; iconDim.y = DIMCELY * 2; - if (!g_pPixmap->Cache (CHMASK2, "image/mask2.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHMASK2, "mask2.png", totalDim, iconDim)) { InitFail ("Cache mask2.png"); return EXIT_FAILURE; @@ -964,7 +964,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMBUTTONY * 21; iconDim.x = DIMBUTTONX; iconDim.y = DIMBUTTONY; - if (!g_pPixmap->Cache (CHBUTTON, "image/button00.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHBUTTON, "button00.png", totalDim, iconDim)) { InitFail ("Cache button00.png"); return EXIT_FAILURE; @@ -974,7 +974,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMJAUGEY * 4; iconDim.x = DIMJAUGEX; iconDim.y = DIMJAUGEY; - if (!g_pPixmap->Cache (CHJAUGE, "image/jauge.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHJAUGE, "jauge.png", totalDim, iconDim)) { InitFail ("Cache jauge.png"); return EXIT_FAILURE; @@ -984,7 +984,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMTEXTY * 16 * 3; iconDim.x = DIMTEXTX; iconDim.y = DIMTEXTY; - if (!g_pPixmap->Cache (CHTEXT, "image/text.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHTEXT, "text.png", totalDim, iconDim)) { InitFail ("Cache text.png"); return EXIT_FAILURE; @@ -994,7 +994,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = DIMLITTLEY * 16; iconDim.x = DIMLITTLEX; iconDim.y = DIMLITTLEY; - if (!g_pPixmap->Cache (CHLITTLE, "image/little.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHLITTLE, "little.png", totalDim, iconDim)) { InitFail ("Cache little.png"); return EXIT_FAILURE; @@ -1004,7 +1004,7 @@ DoInit (int argc, char * argv[], bool & exit) totalDim.y = 52; iconDim.x = 426; iconDim.y = 52; - if (!g_pPixmap->Cache (CHBIGNUM, "image/bignum.png", totalDim, iconDim)) + if (!g_pPixmap->Cache (CHBIGNUM, "bignum.png", totalDim, iconDim)) { InitFail ("Cache bignum.png"); return EXIT_FAILURE; diff --git a/src/decor.cxx b/src/decor.cxx index c26fd90..489b5f1 100644 --- a/src/decor.cxx +++ b/src/decor.cxx @@ -248,7 +248,7 @@ CDecor::LoadImages () totalDim.y = DIMCELY * 2 * 6; iconDim.x = DIMCELX * 2; iconDim.y = DIMCELY * 2; - snprintf (filename, sizeof (filename), "image/floor%.3d.png", m_region); + snprintf (filename, sizeof (filename), "floor%.3d.png", m_region); if (!m_pPixmap->Cache (CHFLOOR, filename, totalDim, iconDim)) return false; @@ -256,11 +256,11 @@ CDecor::LoadImages () totalDim.y = DIMOBJY * 8; iconDim.x = DIMOBJX; iconDim.y = DIMOBJY; - snprintf (filename, sizeof (filename), "image/obj%.3d.png", m_region); + snprintf (filename, sizeof (filename), "obj%.3d.png", m_region); if (!m_pPixmap->Cache (CHOBJECT, filename, totalDim, iconDim)) return false; - snprintf (filename, sizeof (filename), "image/obj-o%.3d.png", m_region); + snprintf (filename, sizeof (filename), "obj-o%.3d.png", m_region); if (!m_pPixmap->Cache (CHOBJECTo, filename, totalDim, iconDim)) return false; diff --git a/src/event.cxx b/src/event.cxx index 2b645aa..b0b4ddf 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -103,8 +103,8 @@ static Phase table[] = { { EV_PHASE_TESTCD, - "image/init.png", - "image/back-stars.png", + "init.png", + "back-stars.png", CPixmap::Mode::FIX, false, { @@ -116,7 +116,7 @@ static Phase table[] = { EV_PHASE_INTRO1, - "image/intro1.png", + "intro1.png", "", CPixmap::Mode::FIX, false, @@ -129,8 +129,8 @@ static Phase table[] = { EV_PHASE_INIT, - "image/init.png", - "image/back-stars.png", + "init.png", + "back-stars.png", CPixmap::Mode::FIX, false, { @@ -178,8 +178,8 @@ static Phase table[] = { EV_PHASE_HISTORY0, - "image/history0.png", - "image/back-book.png", + "history0.png", + "back-book.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -203,8 +203,8 @@ static Phase table[] = { EV_PHASE_HISTORY1, - "image/history1.png", - "image/back-book.png", + "history1.png", + "back-book.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -228,8 +228,8 @@ static Phase table[] = { EV_PHASE_INFO, - "image/info%.3d.png", - "image/back-book.png", + "info%.3d.png", + "back-book.png", CPixmap::Mode::FIX_REVERSABLE, false, { @@ -295,7 +295,7 @@ static Phase table[] = { EV_PHASE_PLAY, - "image/play.png", + "play.png", "", CPixmap::Mode::EXPAND_REVERSABLE, false, @@ -326,8 +326,8 @@ static Phase table[] = { EV_PHASE_STOP, - "image/stop%.3d.png", - "image/back-book.png", + "stop%.3d.png", + "back-book.png", CPixmap::Mode::FIX_REVERSABLE, false, { @@ -375,8 +375,8 @@ static Phase table[] = { EV_PHASE_HELP, - "image/help.png", - "image/back-book.png", + "help.png", + "back-book.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -418,8 +418,8 @@ static Phase table[] = { EV_PHASE_SETUP, - "image/setup01.png", - "image/back-setup.png", + "setup01.png", + "back-setup.png", CPixmap::Mode::FIX, false, { @@ -497,8 +497,8 @@ static Phase table[] = { EV_PHASE_SETUPp, - "image/setup01.png", - "image/back-setup.png", + "setup01.png", + "back-setup.png", CPixmap::Mode::FIX, false, { @@ -576,8 +576,8 @@ static Phase table[] = { EV_PHASE_READ, - "image/read.png", - "image/back-chest-r.png", + "read.png", + "back-chest-r.png", CPixmap::Mode::FIX_REVERSABLE, false, { @@ -655,8 +655,8 @@ static Phase table[] = { EV_PHASE_WRITE, - "image/write.png", - "image/back-chest-w.png", + "write.png", + "back-chest-w.png", CPixmap::Mode::FIX_REVERSABLE, false, { @@ -734,8 +734,8 @@ static Phase table[] = { EV_PHASE_WRITEp, - "image/write.png", - "image/back-chest-w.png", + "write.png", + "back-chest-w.png", CPixmap::Mode::FIX_REVERSABLE, false, { @@ -813,8 +813,8 @@ static Phase table[] = { EV_PHASE_LOST, - "image/lost.png", - "image/back-lost.png", + "lost.png", + "back-lost.png", CPixmap::Mode::FIX, true, { @@ -832,8 +832,8 @@ static Phase table[] = { EV_PHASE_WIN, - "image/win.png", - "image/back-win.png", + "win.png", + "back-win.png", CPixmap::Mode::FIX, true, { @@ -851,7 +851,7 @@ static Phase table[] = { EV_PHASE_LASTWIN, - "image/last%.3d.png", + "last%.3d.png", "", CPixmap::Mode::FIX, true, @@ -870,7 +870,7 @@ static Phase table[] = { EV_PHASE_BUILD, - "image/build.png", + "build.png", "", CPixmap::Mode::EXPAND_REVERSABLE, true, @@ -987,8 +987,8 @@ static Phase table[] = { EV_PHASE_BUTTON, - "image/button.png", - "image/back-build.png", + "button.png", + "back-build.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -1209,8 +1209,8 @@ static Phase table[] = { EV_PHASE_TERM, - "image/term.png", - "image/back-build.png", + "term.png", + "back-build.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -1300,8 +1300,8 @@ static Phase table[] = { EV_PHASE_MUSIC, - "image/music.png", - "image/back-build.png", + "music.png", + "back-build.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -1385,8 +1385,8 @@ static Phase table[] = { EV_PHASE_REGION, - "image/region.png", - "image/back-build.png", + "region.png", + "back-build.png", CPixmap::Mode::FIX_REVERSABLE, true, { @@ -1428,7 +1428,7 @@ static Phase table[] = { EV_PHASE_PLAYMOVIE, - "image/movie.png", + "movie.png", "", CPixmap::Mode::FIX, false, @@ -1441,7 +1441,7 @@ static Phase table[] = { EV_PHASE_WINMOVIE, - "image/movie.png", + "movie.png", "", CPixmap::Mode::FIX, false, @@ -1454,7 +1454,7 @@ static Phase table[] = { EV_PHASE_H0MOVIE, - "image/movie.png", + "movie.png", "", CPixmap::Mode::FIX, false, @@ -1467,7 +1467,7 @@ static Phase table[] = { EV_PHASE_H1MOVIE, - "image/movie.png", + "movie.png", "", CPixmap::Mode::FIX, false, @@ -1480,7 +1480,7 @@ static Phase table[] = { EV_PHASE_H2MOVIE, - "image/movie.png", + "movie.png", "", CPixmap::Mode::FIX, false, @@ -1493,8 +1493,8 @@ static Phase table[] = { EV_PHASE_BYE, - "image/bye.png", - "image/back-bye.png", + "bye.png", + "back-bye.png", CPixmap::Mode::FIX, false, { @@ -1506,7 +1506,7 @@ static Phase table[] = { EV_PHASE_INSERT, - "image/insert.png", + "insert.png", "", CPixmap::Mode::FIX, false, @@ -1525,8 +1525,8 @@ static Phase table[] = { EV_PHASE_SETTINGS, - "image/setup00.png", - "image/back-setup.png", + "setup00.png", + "back-setup.png", CPixmap::Mode::FIX, false, { @@ -3386,13 +3386,13 @@ CEvent::LoadBackground () switch (id) { case 0: - backWideName = "image/back-disco.png"; + backWideName = "back-disco.png"; break; case 1: - backWideName = "image/back-stars.png"; + backWideName = "back-stars.png"; break; case 2: - backWideName = "image/back-win.png"; + backWideName = "back-win.png"; break; } } diff --git a/src/pixmap.cxx b/src/pixmap.cxx index 8c35b56..9670fcb 100644 --- a/src/pixmap.cxx +++ b/src/pixmap.cxx @@ -329,7 +329,11 @@ CPixmap::Cache ( size_t channel, const std::string & pFilename, Point totalDim, Point iconDim, Mode mode, std::string wideName) { - std::string file = GetBaseDir () + pFilename; + std::string absolute; + std::string file = GetBaseDir () + "image/" + GetLocale () + "/" + pFilename; + if (!FileExists (file, file, LOCATION_ABSOLUTE)) + file = GetBaseDir () + "image/" + pFilename; + SDL_Surface * surface = IMG_Load (file.c_str ()); bool blupiChSet = false; @@ -394,7 +398,8 @@ CPixmap::Cache ( { if (!wideName.empty ()) { - std::string file = GetBaseDir () + m_SDLTextureInfo[channel].wideName; + std::string file = + GetBaseDir () + "image/" + m_SDLTextureInfo[channel].wideName; SDL_Surface * surface = IMG_Load (file.c_str ()); SDL_Texture * texture = SDL_CreateTextureFromSurface (g_renderer, surface); -- cgit v1.2.3 From 94d88ee5f4886254bdee3f4b8cdf8d8e38089788 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 21:54:44 +0100 Subject: Update copyright dates --- src/button.cxx | 2 +- src/button.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/button.cxx b/src/button.cxx index 9b9a1ca..a70aef4 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017-2018, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify diff --git a/src/button.h b/src/button.h index 5b5862b..912e4c5 100644 --- a/src/button.h +++ b/src/button.h @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify -- cgit v1.2.3 From be6db65a5a76d34679474d9002ea3c95024606b9 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 22:06:09 +0100 Subject: WIP: continue layout for right2left reading (hebrew) --- src/event.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/event.cxx b/src/event.cxx index b0b4ddf..6a1231f 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2049,11 +2049,15 @@ CEvent::CreateButtons (Sint32 phase) { pos.x = 117 + LXOFFSET (); pos.y = 115; + if (isRightReading) + pos.x = LXIMAGE () - pos.x - DIMBUTTONX; } if (message == EV_PHASE_SKILL2) { pos.x = 117 + LXOFFSET (); pos.y = 115 + 42; + if (isRightReading) + pos.x = LXIMAGE () - pos.x - DIMBUTTONX; } } -- cgit v1.2.3 From ffcbd74f5838c0950884794ba3ff8d4e8ea664bb Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 22:06:16 +0100 Subject: Update copyright dates --- src/pixmap.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pixmap.cxx b/src/pixmap.cxx index 9670fcb..de797b8 100644 --- a/src/pixmap.cxx +++ b/src/pixmap.cxx @@ -1,7 +1,7 @@ /* * This file is part of the planetblupi source code * Copyright (C) 1997, Daniel Roux & EPSITEC SA - * Copyright (C) 2017-2018, Mathieu Schroeter + * Copyright (C) 2017-2019, Mathieu Schroeter * http://epsitec.ch; http://www.blupi.org; http://github.com/blupi-games * * This program is free software: you can redistribute it and/or modify -- cgit v1.2.3 From c825fe5e5d05340211ea5a0acbbb5c321eec70ad Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 22:16:36 +0100 Subject: WIP: continue layout for right2left reading (hebrew) --- src/button.cxx | 11 ++++++++++- src/button.h | 3 ++- src/event.cxx | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/button.cxx b/src/button.cxx index a70aef4..5d264ed 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -55,7 +55,8 @@ CButton::~CButton () {} bool CButton::Create ( CPixmap * pPixmap, CSound * pSound, Point pos, Sint32 type, Sint32 * pMenu, - Sint32 nbMenu, const char ** pToolTips, Sint32 region, Uint32 message) + Sint32 nbMenu, const char ** pToolTips, Sint32 region, Uint32 message, + bool isRightReading) { Point iconDim; Sint32 i, icon; @@ -92,6 +93,14 @@ CButton::Create ( { icon = pMenu[i]; + if (isRightReading) + { + if (icon == 51) // right arrow + icon = 50; + else if (icon == 50) // left arrow + icon = 51; + } + if (region == 1) // palmiers ? { if (icon == 0) diff --git a/src/button.h b/src/button.h index 912e4c5..bc991d3 100644 --- a/src/button.h +++ b/src/button.h @@ -36,7 +36,8 @@ public: bool Create ( CPixmap * pPixmap, CSound * pSound, Point pos, Sint32 type, Sint32 * pMenu, - Sint32 nbMenu, const char ** pToolTips, Sint32 region, Uint32 message); + Sint32 nbMenu, const char ** pToolTips, Sint32 region, Uint32 message, + bool isRightReading); void Draw (); Sint32 GetState (); diff --git a/src/event.cxx b/src/event.cxx index 6a1231f..026a6f2 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2065,7 +2065,7 @@ CEvent::CreateButtons (Sint32 phase) m_pPixmap, m_pSound, pos, table[m_index].buttons[i].type, table[m_index].buttons[i].iconMenu + 1, table[m_index].buttons[i].iconMenu[0], table[m_index].buttons[i].toolTips, - m_pDecor->GetRegion (), message); + m_pDecor->GetRegion (), message, isRightReading); i++; } -- cgit v1.2.3 From c772477507ee696e490697a91ac133c542666aaa Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 22:51:18 +0100 Subject: Fix hebrew --- resources/po/he.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/po/he.po b/resources/po/he.po index 208a771..2d8c74f 100644 --- a/resources/po/he.po +++ b/resources/po/he.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-27 15:19+0100\n" -"PO-Revision-Date: 2019-01-27 14:52+0100\n" +"PO-Revision-Date: 2019-02-05 22:49+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? " "2 : 3);\n" @@ -587,7 +587,7 @@ msgid "Music number 1" msgstr "מוסיקה מספר 1" msgid "Music number 10" -msgstr "מוסיקה מספר 01" +msgstr "מוסיקה מספר 10" msgid "Music number 2" msgstr "מוסיקה מספר 2" -- cgit v1.2.3 From e012a5d1a26d8e6961d127dc503abdc183ee7eb3 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 22:51:48 +0100 Subject: Use only one function for drawing text (with slope or not) --- src/text.cxx | 49 +++++++++++++------------------------------------ src/text.h | 9 +++------ 2 files changed, 16 insertions(+), 42 deletions(-) diff --git a/src/text.cxx b/src/text.cxx index 65713b8..582fa5a 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -176,15 +176,19 @@ GetCharWidth (const char *& c, Sint32 font) * \param[in] pos - The coordinates for the text. * \param[in] pText - The text. * \param[in] font - The font style (little or normal). + * \param[in] slope - Text slope. */ void -DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) +DrawText ( + CPixmap * pPixmap, Point pos, const char * pText, Sint32 font, Sint32 slope) { Sint32 rank; bool isNumber = false; int numberSize = 0; const char * it = nullptr; int skip = 0; + Sint32 start = pos.y; + Sint32 rel = 0; while (*pText != '\0' || skip) { @@ -210,9 +214,14 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) rank = GetOffset (pText); auto inc = rank > 127; + auto lg = GetCharWidth (pText, font); if (IsRightReading ()) - pos.x += -GetCharWidth (pText, font); + pos.x += -lg; + + rel += lg; + if (slope) + pos.y = start + rel / slope; if (font != FONTLITTLE) { @@ -223,7 +232,7 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) pPixmap->DrawIcon (-1, CHLITTLE, rank, pos); if (!IsRightReading ()) - pos.x += GetCharWidth (pText, font); + pos.x += lg; if (!numberSize && skip > 0) { @@ -237,35 +246,6 @@ DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) } } -// Affiche un texte penché. - -void -DrawTextPente ( - CPixmap * pPixmap, Point pos, const char * pText, Sint32 pente, Sint32 font) -{ - Sint32 rank, lg, rel, start; - - start = pos.y; - rel = 0; - while (*pText != 0) - { - rank = GetOffset (pText); - auto inc = rank > 127; - - rank += 256 * font; - pPixmap->DrawIcon (-1, CHTEXT, rank, pos); - - lg = GetCharWidth (pText, font); - - if (inc) - pText++; - pText++; - rel += lg; - pos.x += IsRightReading () ? -lg : lg; - pos.y = start + rel / pente; - } -} - // Affiche un pavé de texte. // Une ligne vide est affichée avec un demi interligne ! // Si part != -1, n'affiche que les lignes qui commencent @@ -309,10 +289,7 @@ DrawTextRect ( continue; } - if (pente == 0) - DrawText (pPixmap, pos, pDest, font); - else - DrawTextPente (pPixmap, pos, pDest, pente, font); + DrawText (pPixmap, pos, pDest, font, pente); if (pDest[0] == 0) // ligne vide ? { diff --git a/src/text.h b/src/text.h index 199de55..f29cca3 100644 --- a/src/text.h +++ b/src/text.h @@ -27,12 +27,9 @@ #define FONTLITTLE 10 // clang-format on -void -DrawText (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font = 0); - -void DrawTextPente ( - CPixmap * pPixmap, Point pos, const char * pText, Sint32 pente, - Sint32 font = 0); +void DrawText ( + CPixmap * pPixmap, Point pos, const char * pText, Sint32 font = 0, + Sint32 slope = 0); void DrawTextRect ( CPixmap * pPixmap, Point pos, char * pText, Sint32 pente, Sint32 font = 0, -- cgit v1.2.3 From 1556db8d0586384cbf18965641fa721b3f05815c Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 5 Feb 2019 23:11:00 +0100 Subject: WIP: work on hebrew char width --- src/text.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/text.cxx b/src/text.cxx index 582fa5a..a828165 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -139,8 +139,8 @@ GetCharWidth (const char *& c, Sint32 font) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 7, 6, 7, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 9, 9, 10, 6, 8, 10, 11, 7, 9, 9, 11, 11, 10, 7, - 7, 10, 10, 9, 10, 10, 11, 9, 9, 13, 11, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 5, 8, 9, 9, 7, 9, 9, 10, 10, 9, 6, + 7, 9, 9, 9, 9, 9, 10, 9, 9, 13, 10, 0, 0, 0, 0, 0, }; static const Uint8 table_width_little[] = @@ -159,7 +159,7 @@ GetCharWidth (const char *& c, Sint32 font) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 5, 4, 5, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 8, 7, 7, 8, 4, 6, 8, 9, 5, 7, 7, 9, 9, 8, 5, + 8, 8, 7, 7, 8, 3, 6, 8, 9, 5, 7, 7, 9, 9, 8, 4, 5, 8, 8, 7, 8, 8, 9, 7, 7, 11, 9, 0, 0, 0, 0, 0, }; // clang-format on -- cgit v1.2.3 From d25280490ee0b49b9fac47112f543043ab3c0036 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 6 Feb 2019 18:36:35 +0100 Subject: Swap ( and ) with right2left reading --- src/text.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/text.cxx b/src/text.cxx index a828165..ec4b317 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -212,7 +212,16 @@ DrawText ( numberSize--; } - rank = GetOffset (pText); + rank = GetOffset (pText); + + if (IsRightReading ()) + { + if (rank == '(') + rank = ')'; + else if (rank == ')') + rank = '('; + } + auto inc = rank > 127; auto lg = GetCharWidth (pText, font); -- cgit v1.2.3 From 1da13731eaa796fd414961c43994a18b5a7cd0ae Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 6 Feb 2019 23:45:13 +0100 Subject: Use alternate stop button for hebrew --- resources/image/button00.png | Bin 34918 -> 45187 bytes src/button.cxx | 2 ++ 2 files changed, 2 insertions(+) diff --git a/resources/image/button00.png b/resources/image/button00.png index b390654..7458180 100644 Binary files a/resources/image/button00.png and b/resources/image/button00.png differ diff --git a/src/button.cxx b/src/button.cxx index 5d264ed..fe934ed 100644 --- a/src/button.cxx +++ b/src/button.cxx @@ -99,6 +99,8 @@ CButton::Create ( icon = 50; else if (icon == 50) // left arrow icon = 51; + else if (icon == 40) // stop + icon = 109; } if (region == 1) // palmiers ? -- cgit v1.2.3 From 9cf3de94624b812b3aaebe59115802f5f86cc559 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Thu, 7 Feb 2019 00:30:16 +0100 Subject: Continue fine tuning with hebrew glyphs --- resources/image/text.png | Bin 20422 -> 20582 bytes src/text.cxx | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/image/text.png b/resources/image/text.png index fc1677e..6eaa4ca 100644 Binary files a/resources/image/text.png and b/resources/image/text.png differ diff --git a/src/text.cxx b/src/text.cxx index ec4b317..1991295 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -139,8 +139,8 @@ GetCharWidth (const char *& c, Sint32 font) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 7, 6, 7, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 5, 8, 9, 9, 7, 9, 9, 10, 10, 9, 6, - 7, 9, 9, 9, 9, 9, 10, 9, 9, 13, 10, 0, 0, 0, 0, 0, + 9, 9, 8, 8, 9, 5, 7, 9, 10, 6, 8, 8, 9, 10, 9, 6, + 7, 9, 9, 8, 9, 9, 10, 9, 8, 12, 10, 0, 0, 0, 0, 0, }; static const Uint8 table_width_little[] = -- cgit v1.2.3 From 9b6949c8f6d98cc44734e0d43669b3dbd54f7c82 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 22:32:49 +0100 Subject: Cosmetic --- src/decblupi.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/decblupi.cxx b/src/decblupi.cxx index e29513a..477f8a8 100644 --- a/src/decblupi.cxx +++ b/src/decblupi.cxx @@ -200,7 +200,7 @@ void CDecor::BlupiDelete (Sint32 rank) { m_blupi[rank].bExist = false; - this->m_pSound->StopSound(true, rank); + this->m_pSound->StopSound (true, rank); if ( !m_bBuild && // phase de jeu ? @@ -237,7 +237,7 @@ CDecor::BlupiKill (Sint32 exRank, Point cel, Sint32 type) if (type == 0) // explosion ? { m_blupi[rank].bExist = false; // mort instantannée - this->m_pSound->StopSound(true, rank); + this->m_pSound->StopSound (true, rank); } if (type == 1) // électro ? -- cgit v1.2.3 From 5f592b8bec36958c4cfb27bdc421375c71c3ef36 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 22:33:03 +0100 Subject: Fix stop icon for hebrew --- src/decor.cxx | 3 ++- src/menu.cxx | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/decor.cxx b/src/decor.cxx index 489b5f1..a6ba4b6 100644 --- a/src/decor.cxx +++ b/src/decor.cxx @@ -1346,7 +1346,8 @@ CDecor::Build (Rect clip, Point posMouse) tPos = pos; tPos.x += 9; tPos.y -= 24; - m_pPixmap->DrawIcon (-1, CHBUTTON, 46, tPos); + m_pPixmap->DrawIcon ( + -1, CHBUTTON, IsRightReading () ? 115 : 46, tPos); } // Dessine blupi diff --git a/src/menu.cxx b/src/menu.cxx index d0c4931..af8e303 100644 --- a/src/menu.cxx +++ b/src/menu.cxx @@ -271,6 +271,8 @@ CMenu::Draw () m_pPixmap->DrawIcon (-1, CHBUTTON, state, pos); icon = table_button_icon[m_buttons[i]]; + if (IsRightReading () && icon == 40) + icon = 109; if (m_perso == 8) // disciple ? { if (icon == 30) -- cgit v1.2.3 From 5fc3a14ee05ef8eb24c8246b47ef6edec66cddeb Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 23:07:35 +0100 Subject: Fix little text char width --- src/text.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/text.cxx b/src/text.cxx index 1991295..67de8be 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -147,8 +147,8 @@ GetCharWidth (const char *& c, Sint32 font) { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, - 3, 3, 5, 8, 5, 11, 9, 3, 4, 4, 6, 6, 3, 4, 3, 6, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 7, 6, 7, 6, + 3, 2, 5, 8, 5, 11, 9, 2, 4, 4, 6, 6, 2, 4, 2, 6, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 2, 7, 6, 7, 6, 9, 8, 6, 7, 7, 5, 5, 8, 7, 2, 4, 7, 5, 10, 7, 8, 6, 8, 7, 6, 6, 6, 8, 12, 7, 6, 6, 3, 5, 3, 6, 8, 4, 6, 6, 6, 6, 6, 4, 6, 6, 2, 3, 5, 2, 10, 6, 6, @@ -159,8 +159,8 @@ GetCharWidth (const char *& c, Sint32 font) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 5, 4, 5, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 8, 7, 7, 8, 3, 6, 8, 9, 5, 7, 7, 9, 9, 8, 4, - 5, 8, 8, 7, 8, 8, 9, 7, 7, 11, 9, 0, 0, 0, 0, 0, + 7, 7, 5, 6, 7, 2, 4, 7, 7, 3, 5, 7, 6, 7, 7, 4, + 3, 7, 7, 7, 8, 7, 6, 7, 7, 9, 8, 0, 0, 0, 0, 0, }; // clang-format on -- cgit v1.2.3 From 72c92a6447de26abdd2271968131160186516be2 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 23:17:25 +0100 Subject: Improve a bit the performances Check for conflicted action then loop on the blupis. --- src/decblupi.cxx | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/decblupi.cxx b/src/decblupi.cxx index 477f8a8..1475e4a 100644 --- a/src/decblupi.cxx +++ b/src/decblupi.cxx @@ -2477,26 +2477,26 @@ CDecor::BlupiNextAction (Sint32 rank) * direction and a second from the other direction. Without this check, the * object is duplicated. */ - for (int i = 0; i < MAXBLUPI; ++i) - { - if (rank == i || !m_blupi[i].bExist) - continue; - - if ( - (m_blupi[rank].goalAction == EV_ACTION_CARRY || + if ((m_blupi[rank].goalAction == EV_ACTION_CARRY || m_blupi[rank].goalAction == EV_ACTION_EAT || - m_blupi[rank].goalAction == EV_ACTION_DRINK) && - (m_blupi[i].goalAction == EV_ACTION_CARRY2 || - m_blupi[i].goalAction == EV_ACTION_EAT2 || - m_blupi[i].goalAction == EV_ACTION_DRINK2) && - m_blupi[rank].goalHili.x == m_blupi[i].goalHili.x && - m_blupi[rank].goalHili.y == m_blupi[i].goalHili.y) + m_blupi[rank].goalAction == EV_ACTION_DRINK)) + for (int i = 0; i < MAXBLUPI; ++i) { - BlupiInitAction (i, ACTION_STOP); - GoalStop (i, true); - return false; + if (rank == i || !m_blupi[i].bExist) + continue; + + if ( + (m_blupi[i].goalAction == EV_ACTION_CARRY2 || + m_blupi[i].goalAction == EV_ACTION_EAT2 || + m_blupi[i].goalAction == EV_ACTION_DRINK2) && + m_blupi[rank].goalHili.x == m_blupi[i].goalHili.x && + m_blupi[rank].goalHili.y == m_blupi[i].goalHili.y) + { + BlupiInitAction (i, ACTION_STOP); + GoalStop (i, true); + return false; + } } - } /* Prevent Blupi to take a trap when an enemy is already captured. */ if (m_blupi[rank].perso == 0 && m_blupi[rank].action == ACTION_CARRY) -- cgit v1.2.3 From 484b35f099d62f338e1c0c50ce3be9e5e009ae57 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 23:21:12 +0100 Subject: Fix hebrew according to the background init screen --- resources/po/he.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/po/he.po b/resources/po/he.po index 2d8c74f..2a5a8e7 100644 --- a/resources/po/he.po +++ b/resources/po/he.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-27 15:19+0100\n" -"PO-Revision-Date: 2019-02-05 22:49+0100\n" +"PO-Revision-Date: 2019-02-08 23:20+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: he\n" @@ -681,10 +681,10 @@ msgid "Paving stones" msgstr "מרצפות" msgid "Planet Blupi" -msgstr "בבלופי" +msgstr "בלופי" msgid "Planet Blupi -- stop" -msgstr "בבלופי -- עצור" +msgstr "בלופי -- עצור" msgid "Planks" msgstr "קרשים" @@ -939,7 +939,7 @@ msgid "You have failed, try again..." msgstr "נכשלתם נסו שוב..." msgid "You have played Planet Blupi." -msgstr "שיחקתם בבלופי." +msgstr "שיחקתם בלופי." #, c-format msgid "construction %d, time %d" -- cgit v1.2.3 From 0f0c3caf2fe6d2f0f337e1e3fbd5cfaf1f22ac2a Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 23:32:37 +0100 Subject: Fix demo player whit right 2 left layout --- src/event.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/event.cxx b/src/event.cxx index 026a6f2..a9df610 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -5516,6 +5516,10 @@ CEvent::DemoStep () message = m_pDemoBuffer[m_demoIndex].message; wParam = m_pDemoBuffer[m_demoIndex].wParam; lParam = m_pDemoBuffer[m_demoIndex].lParam; + + if (IsRightReading ()) + lParam = + (lParam & 0xFFFF0000) | ((lParam & 0xFFFF) - POSDRAWX_ + POSDRAWX); } else // New SDL events format { @@ -5528,12 +5532,18 @@ CEvent::DemoStep () { event.motion.x = m_pDemoSDLBuffer[m_demoIndex].x; event.motion.y = m_pDemoSDLBuffer[m_demoIndex].y; + + if (IsRightReading ()) + event.motion.x -= POSDRAWX_ + POSDRAWX; } else if (event.type != SDL_KEYUP && event.type != SDL_KEYDOWN) { event.button.button = m_pDemoSDLBuffer[m_demoIndex].button; event.button.x = m_pDemoSDLBuffer[m_demoIndex].x; event.button.y = m_pDemoSDLBuffer[m_demoIndex].y; + + if (IsRightReading ()) + event.button.x -= POSDRAWX_ + POSDRAWX; } } -- cgit v1.2.3 From 9b9b1e558edac5cf6114f1f15e44fa48d57e7e41 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 8 Feb 2019 23:33:33 +0100 Subject: Bump minor version and prepare for rc1 --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 213edde..0272f61 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,9 +14,9 @@ link_directories (${CMAKE_INSTALL_PREFIX}/lib) project (planetblupi) set (PB_VERSION_MAJOR 1) -set (PB_VERSION_MINOR 13) -set (PB_VERSION_PATCH 2) -set (PB_VERSION_EXTRA "") +set (PB_VERSION_MINOR 14) +set (PB_VERSION_PATCH 0) +set (PB_VERSION_EXTRA "-rc1") set (PB_PRODUCT_NAME "Planet Blupi") set (PB_PACKAGE_NAME "planetblupi") set (PB_EXEC "planetblupi") -- cgit v1.2.3 From e60568bdcf582217c4a34804a759f2b62460e53f Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 9 Feb 2019 22:34:22 +0100 Subject: Extend IsRightReading for detecting fallback cases --- src/misc.cxx | 9 +++++++-- src/misc.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/misc.cxx b/src/misc.cxx index fdacbd7..8c9d2e0 100644 --- a/src/misc.cxx +++ b/src/misc.cxx @@ -99,9 +99,14 @@ GetLocale () } bool -IsRightReading () +IsRightReading (const char * text) { - return GetLocale () == "he"; + auto isRight = false; + if (text) + isRight = strchr (text, 0xD7) != nullptr; + else + isRight = GetLocale () == "he"; + return isRight; } // Retourne le nom de dossier en cours. diff --git a/src/misc.h b/src/misc.h index 5518955..d3b7865 100644 --- a/src/misc.h +++ b/src/misc.h @@ -40,7 +40,7 @@ std::string GetBaseDir (); std::string GetShareDir (); std::string GetBinDir (); std::string GetLocale (); -bool IsRightReading (); +bool IsRightReading (const char * text = nullptr); extern void AddUserPath (std::string & pFilename); enum Location { LOCATION_ABSOLUTE, LOCATION_BASE, LOCATION_USER }; -- cgit v1.2.3 From f28a0c61bdc1120e5a5a24593f76506f16989c8d Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sat, 9 Feb 2019 22:37:49 +0100 Subject: Fix fallback (english) texts with hebrew locale --- src/text.cxx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/text.cxx b/src/text.cxx index 67de8be..015ab0c 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -190,9 +190,16 @@ DrawText ( Sint32 start = pos.y; Sint32 rel = 0; + auto useD7 = strchr (pText, 0xD7) != nullptr; + auto isRightReading = useD7 && IsRightReading (); + auto length = strlen (pText); + + if (length >= 1 && !useD7 && IsRightReading ()) + pos.x -= GetTextWidth (pText, font); + while (*pText != '\0' || skip) { - if (IsRightReading () && numberSize == 0) + if (isRightReading && numberSize == 0) { it = pText; isNumber = *pText >= '0' && *pText <= '9'; @@ -214,7 +221,7 @@ DrawText ( rank = GetOffset (pText); - if (IsRightReading ()) + if (isRightReading) { if (rank == '(') rank = ')'; @@ -225,7 +232,7 @@ DrawText ( auto inc = rank > 127; auto lg = GetCharWidth (pText, font); - if (IsRightReading ()) + if (isRightReading) pos.x += -lg; rel += lg; @@ -240,7 +247,7 @@ DrawText ( else pPixmap->DrawIcon (-1, CHLITTLE, rank, pos); - if (!IsRightReading ()) + if (!isRightReading) pos.x += lg; if (!numberSize && skip > 0) @@ -321,6 +328,7 @@ DrawTextCenter (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) char * pDest; Sint32 itl; Point start; + auto isRightReading = IsRightReading (); if (font == FONTLITTLE) itl = DIMLITTLEY; @@ -341,7 +349,7 @@ DrawTextCenter (CPixmap * pPixmap, Point pos, const char * pText, Sint32 font) pDest = text; start.x = pos.x + - (IsRightReading () ? GetTextWidth (pDest) : -GetTextWidth (pDest)) / 2; + (isRightReading ? GetTextWidth (pDest) : -GetTextWidth (pDest)) / 2; start.y = pos.y; DrawText (pPixmap, start, pDest, font); -- cgit v1.2.3 From 20a7f344cfc92024cf9313dd3dd35a4b05330847 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 10 Feb 2019 00:14:38 +0100 Subject: Add minimal metainfo XML file --- CMakeLists.txt | 4 ++++ resources/linux/planetblupi.appdata.xml | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 resources/linux/planetblupi.appdata.xml diff --git a/CMakeLists.txt b/CMakeLists.txt index 0272f61..d7dd1b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -311,6 +311,10 @@ if (NOT BUILD_JS) if (UNIX AND NOT APPLE) install (DIRECTORY resources/icon/hicolor DESTINATION share/icons) + install ( + FILES resources/linux/${PB_PACKAGE_NAME}.appdata.xml + DESTINATION share/metainfo + ) endif () if (NOT USE_APPIMAGE) diff --git a/resources/linux/planetblupi.appdata.xml b/resources/linux/planetblupi.appdata.xml new file mode 100644 index 0000000..4393d3e --- /dev/null +++ b/resources/linux/planetblupi.appdata.xml @@ -0,0 +1,21 @@ + + + planetblupi + GPL-3.0 + GPL-3.0+ + Planet Blupi + Planet Blupi - A delirious spell-binding game + +

Planet Blupi is a strategy and adventure game. It subtly blends action with thought-provoking challenges. Behind the quiet and gentle facade, you'll enjoy a fascinating diversion full of surprises.

+
+ planetblupi.desktop + http://blupi.org/ + + + http://devel.schroetersa.ch/blupi.org/download/screen/planetblupi.png + + + + planetblupi.desktop + +
\ No newline at end of file -- cgit v1.2.3 From 2e9169a73cb79aedccd96f3fbeca87903fb0f72c Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 10 Feb 2019 00:16:33 +0100 Subject: Prefare MIT with metainfo --- resources/linux/planetblupi.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/linux/planetblupi.appdata.xml b/resources/linux/planetblupi.appdata.xml index 4393d3e..e053b48 100644 --- a/resources/linux/planetblupi.appdata.xml +++ b/resources/linux/planetblupi.appdata.xml @@ -1,7 +1,7 @@ planetblupi - GPL-3.0 + MIT GPL-3.0+ Planet Blupi Planet Blupi - A delirious spell-binding game -- cgit v1.2.3 From 7389cd4b21c790778150b17cf8d8dceb3baad31a Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 10 Feb 2019 00:24:56 +0100 Subject: Add hebrew voices --- resources/sound/he/sound002.wav | Bin 0 -> 17004 bytes resources/sound/he/sound003.wav | Bin 0 -> 15020 bytes resources/sound/he/sound004.wav | Bin 0 -> 24094 bytes resources/sound/he/sound005.wav | Bin 0 -> 25810 bytes resources/sound/he/sound006.wav | Bin 0 -> 32812 bytes resources/sound/he/sound007.wav | Bin 0 -> 31532 bytes resources/sound/he/sound008.wav | Bin 0 -> 25838 bytes resources/sound/he/sound009.wav | Bin 0 -> 26348 bytes resources/sound/he/sound010.wav | Bin 0 -> 19564 bytes resources/sound/he/sound014.wav | Bin 0 -> 18732 bytes resources/sound/he/sound017.wav | Bin 0 -> 44332 bytes resources/sound/he/sound018.wav | Bin 0 -> 94766 bytes resources/sound/he/sound019.wav | Bin 0 -> 45422 bytes resources/sound/he/sound027.wav | Bin 0 -> 44398 bytes resources/sound/he/sound033.wav | Bin 0 -> 76462 bytes resources/sound/he/sound037.wav | Bin 0 -> 66670 bytes resources/sound/he/sound056.wav | Bin 0 -> 52782 bytes resources/sound/he/sound057.wav | Bin 0 -> 28716 bytes resources/sound/he/sound058.wav | Bin 0 -> 42358 bytes resources/sound/he/sound059.wav | Bin 0 -> 38548 bytes resources/sound/he/sound060.wav | Bin 0 -> 26284 bytes resources/sound/he/sound061.wav | Bin 0 -> 22508 bytes resources/sound/he/sound062.wav | Bin 0 -> 32236 bytes resources/sound/he/sound063.wav | Bin 0 -> 35886 bytes resources/sound/he/sound064.wav | Bin 0 -> 35948 bytes resources/sound/he/sound065.wav | Bin 0 -> 30766 bytes resources/sound/he/sound066.wav | Bin 0 -> 43886 bytes resources/sound/he/sound067.wav | Bin 0 -> 48046 bytes resources/sound/he/sound068.wav | Bin 0 -> 26924 bytes resources/sound/he/sound069.wav | Bin 0 -> 24620 bytes resources/sound/he/sound070.wav | Bin 0 -> 26626 bytes resources/sound/he/sound071.wav | Bin 0 -> 20972 bytes resources/sound/he/sound072.wav | Bin 0 -> 30636 bytes resources/sound/he/sound073.wav | Bin 0 -> 22892 bytes 34 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/sound/he/sound002.wav create mode 100644 resources/sound/he/sound003.wav create mode 100644 resources/sound/he/sound004.wav create mode 100644 resources/sound/he/sound005.wav create mode 100644 resources/sound/he/sound006.wav create mode 100644 resources/sound/he/sound007.wav create mode 100644 resources/sound/he/sound008.wav create mode 100644 resources/sound/he/sound009.wav create mode 100644 resources/sound/he/sound010.wav create mode 100644 resources/sound/he/sound014.wav create mode 100644 resources/sound/he/sound017.wav create mode 100644 resources/sound/he/sound018.wav create mode 100644 resources/sound/he/sound019.wav create mode 100644 resources/sound/he/sound027.wav create mode 100644 resources/sound/he/sound033.wav create mode 100644 resources/sound/he/sound037.wav create mode 100644 resources/sound/he/sound056.wav create mode 100644 resources/sound/he/sound057.wav create mode 100644 resources/sound/he/sound058.wav create mode 100644 resources/sound/he/sound059.wav create mode 100644 resources/sound/he/sound060.wav create mode 100644 resources/sound/he/sound061.wav create mode 100644 resources/sound/he/sound062.wav create mode 100644 resources/sound/he/sound063.wav create mode 100644 resources/sound/he/sound064.wav create mode 100644 resources/sound/he/sound065.wav create mode 100644 resources/sound/he/sound066.wav create mode 100644 resources/sound/he/sound067.wav create mode 100644 resources/sound/he/sound068.wav create mode 100644 resources/sound/he/sound069.wav create mode 100644 resources/sound/he/sound070.wav create mode 100644 resources/sound/he/sound071.wav create mode 100644 resources/sound/he/sound072.wav create mode 100644 resources/sound/he/sound073.wav diff --git a/resources/sound/he/sound002.wav b/resources/sound/he/sound002.wav new file mode 100644 index 0000000..ca71d55 Binary files /dev/null and b/resources/sound/he/sound002.wav differ diff --git a/resources/sound/he/sound003.wav b/resources/sound/he/sound003.wav new file mode 100644 index 0000000..57de5a4 Binary files /dev/null and b/resources/sound/he/sound003.wav differ diff --git a/resources/sound/he/sound004.wav b/resources/sound/he/sound004.wav new file mode 100644 index 0000000..4a4ba64 Binary files /dev/null and b/resources/sound/he/sound004.wav differ diff --git a/resources/sound/he/sound005.wav b/resources/sound/he/sound005.wav new file mode 100644 index 0000000..b6543e0 Binary files /dev/null and b/resources/sound/he/sound005.wav differ diff --git a/resources/sound/he/sound006.wav b/resources/sound/he/sound006.wav new file mode 100644 index 0000000..31202ea Binary files /dev/null and b/resources/sound/he/sound006.wav differ diff --git a/resources/sound/he/sound007.wav b/resources/sound/he/sound007.wav new file mode 100644 index 0000000..f4d3a38 Binary files /dev/null and b/resources/sound/he/sound007.wav differ diff --git a/resources/sound/he/sound008.wav b/resources/sound/he/sound008.wav new file mode 100644 index 0000000..357fcb2 Binary files /dev/null and b/resources/sound/he/sound008.wav differ diff --git a/resources/sound/he/sound009.wav b/resources/sound/he/sound009.wav new file mode 100644 index 0000000..cefb054 Binary files /dev/null and b/resources/sound/he/sound009.wav differ diff --git a/resources/sound/he/sound010.wav b/resources/sound/he/sound010.wav new file mode 100644 index 0000000..d3e8822 Binary files /dev/null and b/resources/sound/he/sound010.wav differ diff --git a/resources/sound/he/sound014.wav b/resources/sound/he/sound014.wav new file mode 100644 index 0000000..d5a152b Binary files /dev/null and b/resources/sound/he/sound014.wav differ diff --git a/resources/sound/he/sound017.wav b/resources/sound/he/sound017.wav new file mode 100644 index 0000000..493f56e Binary files /dev/null and b/resources/sound/he/sound017.wav differ diff --git a/resources/sound/he/sound018.wav b/resources/sound/he/sound018.wav new file mode 100644 index 0000000..025bba0 Binary files /dev/null and b/resources/sound/he/sound018.wav differ diff --git a/resources/sound/he/sound019.wav b/resources/sound/he/sound019.wav new file mode 100644 index 0000000..5f09c76 Binary files /dev/null and b/resources/sound/he/sound019.wav differ diff --git a/resources/sound/he/sound027.wav b/resources/sound/he/sound027.wav new file mode 100644 index 0000000..6454aa5 Binary files /dev/null and b/resources/sound/he/sound027.wav differ diff --git a/resources/sound/he/sound033.wav b/resources/sound/he/sound033.wav new file mode 100644 index 0000000..b2be5eb Binary files /dev/null and b/resources/sound/he/sound033.wav differ diff --git a/resources/sound/he/sound037.wav b/resources/sound/he/sound037.wav new file mode 100644 index 0000000..38f5676 Binary files /dev/null and b/resources/sound/he/sound037.wav differ diff --git a/resources/sound/he/sound056.wav b/resources/sound/he/sound056.wav new file mode 100644 index 0000000..b290ff8 Binary files /dev/null and b/resources/sound/he/sound056.wav differ diff --git a/resources/sound/he/sound057.wav b/resources/sound/he/sound057.wav new file mode 100644 index 0000000..d8c2397 Binary files /dev/null and b/resources/sound/he/sound057.wav differ diff --git a/resources/sound/he/sound058.wav b/resources/sound/he/sound058.wav new file mode 100644 index 0000000..f980342 Binary files /dev/null and b/resources/sound/he/sound058.wav differ diff --git a/resources/sound/he/sound059.wav b/resources/sound/he/sound059.wav new file mode 100644 index 0000000..5b99e65 Binary files /dev/null and b/resources/sound/he/sound059.wav differ diff --git a/resources/sound/he/sound060.wav b/resources/sound/he/sound060.wav new file mode 100644 index 0000000..5e2a023 Binary files /dev/null and b/resources/sound/he/sound060.wav differ diff --git a/resources/sound/he/sound061.wav b/resources/sound/he/sound061.wav new file mode 100644 index 0000000..9f33567 Binary files /dev/null and b/resources/sound/he/sound061.wav differ diff --git a/resources/sound/he/sound062.wav b/resources/sound/he/sound062.wav new file mode 100644 index 0000000..95a617f Binary files /dev/null and b/resources/sound/he/sound062.wav differ diff --git a/resources/sound/he/sound063.wav b/resources/sound/he/sound063.wav new file mode 100644 index 0000000..b74eef5 Binary files /dev/null and b/resources/sound/he/sound063.wav differ diff --git a/resources/sound/he/sound064.wav b/resources/sound/he/sound064.wav new file mode 100644 index 0000000..17cd655 Binary files /dev/null and b/resources/sound/he/sound064.wav differ diff --git a/resources/sound/he/sound065.wav b/resources/sound/he/sound065.wav new file mode 100644 index 0000000..3172e73 Binary files /dev/null and b/resources/sound/he/sound065.wav differ diff --git a/resources/sound/he/sound066.wav b/resources/sound/he/sound066.wav new file mode 100644 index 0000000..53cc32f Binary files /dev/null and b/resources/sound/he/sound066.wav differ diff --git a/resources/sound/he/sound067.wav b/resources/sound/he/sound067.wav new file mode 100644 index 0000000..9048cc2 Binary files /dev/null and b/resources/sound/he/sound067.wav differ diff --git a/resources/sound/he/sound068.wav b/resources/sound/he/sound068.wav new file mode 100644 index 0000000..07837aa Binary files /dev/null and b/resources/sound/he/sound068.wav differ diff --git a/resources/sound/he/sound069.wav b/resources/sound/he/sound069.wav new file mode 100644 index 0000000..baeaa7e Binary files /dev/null and b/resources/sound/he/sound069.wav differ diff --git a/resources/sound/he/sound070.wav b/resources/sound/he/sound070.wav new file mode 100644 index 0000000..90a1d87 Binary files /dev/null and b/resources/sound/he/sound070.wav differ diff --git a/resources/sound/he/sound071.wav b/resources/sound/he/sound071.wav new file mode 100644 index 0000000..364fd00 Binary files /dev/null and b/resources/sound/he/sound071.wav differ diff --git a/resources/sound/he/sound072.wav b/resources/sound/he/sound072.wav new file mode 100644 index 0000000..cc3f456 Binary files /dev/null and b/resources/sound/he/sound072.wav differ diff --git a/resources/sound/he/sound073.wav b/resources/sound/he/sound073.wav new file mode 100644 index 0000000..aacb0cf Binary files /dev/null and b/resources/sound/he/sound073.wav differ -- cgit v1.2.3 From c12df107b1cbf4797067445f5d962bd8532bf379 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 10 Feb 2019 14:56:23 +0100 Subject: Add COPYING file --- COPYING | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 COPYING diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..22e9fd3 --- /dev/null +++ b/COPYING @@ -0,0 +1,29 @@ +# Copying + +| Years | People | +| --------- | ---------------------------------------------------------------- | +| | **Developers** | +| 1997 | Daniel Roux and Denis Dumoulin | +| 2017-2019 | Mathieu Schroeter | +| | | +| | **Voices** | +| 1997 | Daniel Roux, David Besuchet, Michael Walz and Garry Goodman | +| | | +| | **Translators** | +| 1997 | Christian Alleyn, Michael Walz, David Besuchet, Cedric Freeman, | +| | Adrienne Magnin and Wendy de Pauli | +| 2005 | Rodolfo Andrade de Oliveira and Vanessa Alexandre Vieira | +| 2017 | Catia Guidi and Mateusz Lis | +| 2019 | punctdan _(@github)_ | +| | | +| | **Missions** | +| 1997 | Daniel Roux, Adrien Roux and Denis Dumoulin | +| | | +| | **Testers** | +| 1997 | Denis Dumoulin, Adrien Roux, Michael Walz, René Beuchat, | +| | Pierre Arnaud, Michèle Cottler, Arnaud Cottler, Daniel Durussel, | +| | Audrey Durussel, Laurianne Durussel, Philippe Menu, | +| | Michael Bloch, Florian Stutzmann, Fabrice Bodmer, | +| | Rachel Besuchet, Pauline Rochat, Antoine Richoy, | +| | Fabrice Marquis, Steve Guex, Simon Lopez, David Piot, | +| | Yves Burgos and Jeremy Kull | -- cgit v1.2.3 From f05fa4d67c25489e8021ea57c968811201d70ca4 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 10 Feb 2019 15:37:22 +0100 Subject: Fix translation --- src/event.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/event.cxx b/src/event.cxx index a9df610..995e0b2 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2802,7 +2802,7 @@ CEvent::DrawButtons () else if (locale == "tr") lang = "Türkçe"; else if (locale == "pt") - lang = "Portuguese"; + lang = "Português"; else if (locale == "he") lang = "עברי"; -- cgit v1.2.3 From ff6c2d44c2d48605c1338af67bfe00551986bfc7 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 13 Feb 2019 22:42:33 +0100 Subject: =?UTF-8?q?Add=20missins=20glyphs=20for=20Portuguese:=20=C3=B5,=20?= =?UTF-8?q?=C3=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/image/little.png | Bin 2150 -> 2166 bytes resources/image/text.png | Bin 20582 -> 20741 bytes src/text.cxx | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/image/little.png b/resources/image/little.png index 0249e75..d6ec018 100644 Binary files a/resources/image/little.png and b/resources/image/little.png differ diff --git a/resources/image/text.png b/resources/image/text.png index 6eaa4ca..be14abb 100644 Binary files a/resources/image/text.png and b/resources/image/text.png differ diff --git a/src/text.cxx b/src/text.cxx index 015ab0c..84e0241 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -43,8 +43,8 @@ GetOffset (const char *& c) 0xBC, 0xA0, 0xA2, 0xA9, 0xA8, 0xAB, 0xAA, 0xAF, /* î ô ù û ä ö ç ò */ 0xAE, 0xB4, 0xB9, 0xBB, 0xA4, 0xB6, 0xA7, 0xB2, - /* ì ó Ç Ö Ü */ - 0xAC, 0xB3, 0x87, 0x96, 0x9C, + /* ì ó Ç Ö Ü õ ã */ + 0xAC, 0xB3, 0x87, 0x96, 0x9C, 0xB5, 0xA3 }; static const unsigned char table_c4[] = { @@ -134,7 +134,7 @@ GetCharWidth (const char *& c, Sint32 font) 9, 9, 8, 8, 8, 8, 6, 8, 8, 4, 6, 8, 4, 12, 8, 8, 8, 8, 7, 6, 7, 8, 8, 10, 8, 8, 7, 6, 6, 6, 10, 0, 8, 9, 9, 8, 8, 8, 8, 5, 5, 8, 8, 8, 9, 8, 8, 8, - 5, 8, 9, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 8, 9, 9, 8, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 9, 8, 8, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 7, 6, 7, 9, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -154,7 +154,7 @@ GetCharWidth (const char *& c, Sint32 font) 4, 6, 6, 6, 6, 6, 4, 6, 6, 2, 3, 5, 2, 10, 6, 6, 6, 6, 3, 5, 3, 6, 6, 8, 6, 6, 5, 4, 6, 4, 7, 0, 7, 6, 6, 6, 6, 6, 6, 3, 3, 6, 6, 6, 6, 6, 6, 6, - 3, 6, 7, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 6, 7, 8, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 7, 8, 6, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 5, 4, 5, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- cgit v1.2.3 From 25b105b81c5037d4e408913a2662af70b08df703 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 15 Feb 2019 21:56:30 +0100 Subject: Complete the Hebrew translation Thanks to https://twitter.com/TShwarma for it's work. --- resources/po/he.po | 146 +++++++++++++++++++++++++++++------------------------ 1 file changed, 79 insertions(+), 67 deletions(-) diff --git a/resources/po/he.po b/resources/po/he.po index 2a5a8e7..36e6d52 100644 --- a/resources/po/he.po +++ b/resources/po/he.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-27 15:19+0100\n" -"PO-Revision-Date: 2019-02-08 23:20+0100\n" +"PO-Revision-Date: 2019-02-14 19:54-0500\n" "Last-Translator: \n" "Language-Team: \n" "Language: he\n" @@ -23,10 +23,10 @@ msgid " - FFmpeg (LGPLv2.1)" msgstr " - FFmpeg (LGPLv2.1)" msgid " - GNU/gettext and GNU/libiconv (GPLv3)" -msgstr "" +msgstr " - GNU/gettext and GNU/libiconv (GPLv3)" msgid " - SDL2, SDL2_image and SDL2_mixer (zlib license)" -msgstr "" +msgstr " - SDL2, SDL2_image and SDL2_mixer (zlib license)" msgid " - SDL_kitchensink (MIT)" msgstr " - SDL_kitchensink (MIT)" @@ -38,13 +38,13 @@ msgid " - libasound (LGPLv2.1)" msgstr " - libasound (LGPLv2.1)" msgid " - libcurl (MIT/X derivate)" -msgstr "" +msgstr " - libcurl (MIT/X derivate)" msgid " - libogg and libvorbis (own license)" -msgstr "" +msgstr " - libogg and libvorbis (own license)" msgid " - libpng (own license)" -msgstr "" +msgstr " - libpng (own license)" msgid " - libpulse (LGPLv2.1)" msgstr " - libpulse (LGPLv2.1)" @@ -53,7 +53,7 @@ msgid " - libsndfile (LGPLv3)" msgstr " - libsndfile (LGPLv3)" msgid " - zlib (own license)" -msgstr "" +msgstr " - zlib (own license)" msgid "(isolated tower)" msgstr "(מגדל מבודד)" @@ -91,7 +91,7 @@ msgid "" "2: Make a bomb" msgstr "" "1: להפיק ברזל\n" -"2: לבנות פצצה" +"2: להכין פצצה" msgid "" "1: Extract iron\n" @@ -112,7 +112,7 @@ msgid "" "2: Transform" msgstr "" "1: לאסוף\n" -"2: להפוך" +"2: לשנות" msgid "" "1: Take\n" @@ -140,7 +140,7 @@ msgid "" "2: Transform" msgstr "" "1: לקחת\n" -"2: להפוך" +"2: לשנות" msgid "" "1|Drop planks on striped \n" @@ -174,7 +174,7 @@ msgid "" "1|Go on striped\n" "1|paving stones." msgstr "" -"1|הגיעו אל המרצפות\n" +"1|לכו אל המרצפות\n" "1|המפוספסות" msgid "1|Goal :" @@ -210,10 +210,10 @@ msgstr "" "1|המרצפות המפוספסות" msgid "Aliasing" -msgstr "" +msgstr "מצב חלק" msgid "All licenses are available under share/doc/planetblupi/copyright" -msgstr "" +msgstr "כל הרישיונות זמינים תחת share/doc/planetblupi/copyright " msgid "Already two teleporters" msgstr "יש כבר שני משגרים" @@ -222,10 +222,10 @@ msgid "Another mistake..." msgstr "עוד טעות!" msgid "Anti-aliasing" -msgstr "" +msgstr "מצב אנטי-חלק" msgid "Armour" -msgstr "מגן" +msgstr "שיריון" msgid "Available buttons" msgstr "כפתורים זמינים" @@ -291,21 +291,29 @@ msgid "" "Change the\n" "display mode" msgstr "" +"לשנות את\n" +"מצב התצוגה" msgid "" "Change the\n" "render quality" msgstr "" +"לשנות את איכות\n" +"העיבוד הגרפי" msgid "" "Change the\n" "window size" msgstr "" +"לשנות את\n" +"גודל החלון" msgid "" "Choose the\n" "music format" msgstr "" +"לבחור את\n" +"פורמט המוזיקה" msgid "Construct this game" msgstr "הרכב את המשחק" @@ -329,13 +337,13 @@ msgid "Decorative plants" msgstr "צמחי נוי" msgid "Delete figure" -msgstr "בטל דמות" +msgstr "מחק דמות" msgid "Delete fire" -msgstr "בטל אש" +msgstr "מחק אש" msgid "Delete item" -msgstr "בטל פריט" +msgstr "מחק פריט" msgid "Demo" msgstr "הדגמה" @@ -344,22 +352,22 @@ msgid "Desert" msgstr "מדבר" msgid "Desktop" -msgstr "" +msgstr "שולחן עבודה" msgid "Desktop mode" -msgstr "" +msgstr "מצב שולחן העבודה" msgid "Difficult" msgstr "קשה" msgid "Disable anti-aliasing" -msgstr "" +msgstr "כבה אנטי-חלק" msgid "Drink" msgstr "לשתות" msgid "Drop" -msgstr "להוריד" +msgstr "להפיל" msgid "Dynamite" msgstr "חומר נפץ" @@ -380,7 +388,7 @@ msgid "Electrocutor" msgstr "מחשמל" msgid "Enable anti-aliasing" -msgstr "" +msgstr "הפעל אנטי-חלק" msgid "Ending conditions" msgstr "תנאים לסיום" @@ -401,13 +409,13 @@ msgid "Enemy rocket" msgstr "טיל האויב" msgid "Excellent..." -msgstr "שיגעון" +msgstr "נהדר" msgid "Extract iron" msgstr "להפיק ברזל" msgid "Faster" -msgstr "מהיר" +msgstr "מהיר יותר" msgid "Finish" msgstr "סיום" @@ -416,7 +424,7 @@ msgid "Fire" msgstr "אש" msgid "Fire out" -msgstr "אש רחוקה" +msgstr "אש כובתה" msgid "Flag" msgstr "דגל" @@ -431,23 +439,23 @@ msgid "Forest under snow" msgstr "יער מתחת לשלג" msgid "Fullscreen" -msgstr "" +msgstr "מסך מלא" msgid "Game paused" msgstr "המשחק נעצר" msgid "Garden shed" -msgstr "צריף" +msgstr "חלקת גינה" msgid "" "Global game\n" "speed" msgstr "" -"המשחק\n" -"כולומהירות" +"מהירות\n" +"המשחק כולו" msgid "Global settings" -msgstr "" +msgstr "הגדרות גלובליות " msgid "Go" msgstr "המשך" @@ -478,10 +486,10 @@ msgid "Inadequate ground" msgstr "קרקע לא מתאימה" msgid "Increase volume" -msgstr "הוספת עוצמה" +msgstr "הוספת נפח" msgid "Increase window size" -msgstr "" +msgstr "להגדיל את גודל החלון" msgid "Incubator" msgstr "מדגרה" @@ -499,6 +507,8 @@ msgid "" "Interface language\n" "and sounds" msgstr "" +"שפת הממשק\n" +"וצלילים" msgid "Interrupt" msgstr "להפסיק" @@ -522,10 +532,10 @@ msgid "Leave Jeep" msgstr "לעזוב את הג'יפ" msgid "Legacy" -msgstr "" +msgstr "גרסה ישנה" msgid "Legacy mode (640x480)" -msgstr "" +msgstr "מצב גרסה ישנה(640x480)" #, c-format msgid "Lost if less than %d Blupi" @@ -535,13 +545,13 @@ msgid "Make a Jeep" msgstr "לבנות ג'יפ" msgid "Make a helper robot" -msgstr "הרכיבו רובוט לעזרתכם" +msgstr "לבנות רובוט עוזר" msgid "Make a time bomb" msgstr "לבנות פצצת זמן" msgid "Make armour" -msgstr "בנו מגן" +msgstr "לבנות שריון" msgid "Make bunch of flowers" msgstr "לאסוף זר פרחים" @@ -550,13 +560,13 @@ msgid "Make bunches of flowers" msgstr "לאסוף זרי פרחים" msgid "Master robot" -msgstr "הרובוט השליט" +msgstr "הרובוט העליון" msgid "Medical potion" msgstr "שיקוי רפואי" msgid "Midi" -msgstr "" +msgstr "מידי" msgid "Mine" msgstr "מכרה" @@ -565,10 +575,10 @@ msgid "Miscellaneous ground" msgstr "קרקע מגוונת" msgid "Mission number" -msgstr "פעולה מספר" +msgstr "משימה מספר" msgid "Mission over..." -msgstr "הפעולה הסתיימה..." +msgstr "המשימה הסתיימה..." msgid "Missions" msgstr "משימות" @@ -577,8 +587,8 @@ msgid "" "Music\n" "volume" msgstr "" -"מוסיקה\n" -"עוצמה" +"עוצמת\n" +"המוזיקה" msgid "Music choice" msgstr "בחירת מוסיקה" @@ -618,13 +628,13 @@ msgstr "צ" #, c-format msgid "New version available for download on www.blupi.org (v%s)" -msgstr "" +msgstr "גרסה חדשה זמינה להורדה בכתובת www.blupi.org (v%s)" msgid "Next game" msgstr "משחק הבא" msgid "Next language" -msgstr "" +msgstr "שפה הבאה" msgid "Next page" msgstr "הדף הבא" @@ -633,7 +643,7 @@ msgid "No" msgstr "לא" msgid "No more enemies" -msgstr "אין יותר אוייבים" +msgstr "אין יותר אויבים" msgid "No music" msgstr "ללא מוסיקה" @@ -645,7 +655,7 @@ msgid "No, not that way !" msgstr "לא! לא בדרך הזאת." msgid "No, wrong way ..." -msgstr "לא זאת הדרך הלא נכונה." +msgstr "לא, זאת הדרך הלא נכונה." msgid "None" msgstr "ללא גלילה" @@ -654,10 +664,10 @@ msgid "Normal ground" msgstr "קרקע רגילה" msgid "Not available" -msgstr "" +msgstr "לא זמין" msgid "Not enough energy" -msgstr "" +msgstr "אין מספיק אנרגיה" msgid "Now go on mission." msgstr "עכשיו התחילו בפעולה" @@ -666,7 +676,7 @@ msgid "Occupied ground" msgstr "קרקע מאוכלסת" msgid "Ogg" -msgstr "" +msgstr "קובץ אוג" msgid "Open another game" msgstr "טען משחק אחר" @@ -699,7 +709,7 @@ msgid "Platinium on striped paving stones" msgstr "פלטינה על המרצפות המפוספסות" msgid "Play this game" -msgstr "שחק משחק נוכחי" +msgstr "שחק במשחק הנוכחי" msgid "Poison" msgstr "עגבניות מורעלות" @@ -711,7 +721,7 @@ msgid "Previous game" msgstr "משחק קודם" msgid "Previous language" -msgstr "" +msgstr "שפה קודמת" msgid "Previous page" msgstr "דף קודם" @@ -726,7 +736,7 @@ msgid "Quit" msgstr "צא" msgid "Quit Planet Blupi" -msgstr "" +msgstr "צא מבלופי" msgid "Quit construction" msgstr "יציאה מבנייה" @@ -741,7 +751,7 @@ msgid "Reduce volume" msgstr "הפחתת עוצמה" msgid "Reduce window size" -msgstr "" +msgstr "הפחתת גודל החלון" msgid "Repeat" msgstr "חזור" @@ -778,6 +788,8 @@ msgid "" "Select the\n" "window mode" msgstr "" +"בחירת מצב\n" +"החלון" msgid "Settings" msgstr "הגדרות" @@ -798,8 +810,8 @@ msgid "" "Sound effect\n" "volume" msgstr "" -"אפקטים\n" -"קוליים עוצמה" +"עוצמת האפקטים\n" +"הקוליים" msgid "Special pavings" msgstr "ריצוף מיוחד" @@ -833,10 +845,10 @@ msgstr "משגר" msgid "" "This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" -msgstr "" +msgstr "זהו משחק מקורי מאת Epsitec SA, CH-1400 Yverdon-les-Bains " msgid "This game uses statically linked free and open-source libraries:" -msgstr "" +msgstr "המשחק משתמש בספריות קוד מקור חינמיות פתוחות" msgid "Time bomb" msgstr "פצצת זמן" @@ -860,7 +872,7 @@ msgid "Training number" msgstr "אימון מספר" msgid "Transform" -msgstr "להפוך" +msgstr "לשנות" msgid "Transport" msgstr "להוביל" @@ -875,16 +887,16 @@ msgid "Tree trunks" msgstr "גזע עץ" msgid "Use Midi music (original)" -msgstr "" +msgstr "להשתמש במוזיקת מידי (מקור)" msgid "Use Ogg music" -msgstr "" +msgstr "להשתמש במוזיקת אוג" msgid "Version" -msgstr "" +msgstr "גרסה" msgid "Very good, success on all missions !" -msgstr "יפה מאוד! הצלחתם בכל הפעולות!" +msgstr "יפה מאוד! הצלחתם בכל המשימות!" msgid "Very good." msgstr "ממש מעולה" @@ -921,7 +933,7 @@ msgid "Well done !" msgstr "כל הכבוד!" msgid "Windowed" -msgstr "" +msgstr "מצב חלון" msgid "Work done" msgstr "העבודה הושלמה" @@ -933,13 +945,13 @@ msgid "Yes" msgstr "כן" msgid "Yes, great ..." -msgstr "כן מצוין" +msgstr "כן, מצוין..." msgid "You have failed, try again..." -msgstr "נכשלתם נסו שוב..." +msgstr "נכשלתם, נסו שוב..." msgid "You have played Planet Blupi." -msgstr "שיחקתם בלופי." +msgstr "שיחקתם בבלופי." #, c-format msgid "construction %d, time %d" -- cgit v1.2.3 From 424a115be750755e36b88a580f276aed9b94d6ee Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 15 Feb 2019 21:58:28 +0100 Subject: Check text oerdering when Hebrew is mised with english --- src/text.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/text.cxx b/src/text.cxx index 84e0241..1b6ba92 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -183,7 +183,7 @@ DrawText ( CPixmap * pPixmap, Point pos, const char * pText, Sint32 font, Sint32 slope) { Sint32 rank; - bool isNumber = false; + bool isLatin = false; int numberSize = 0; const char * it = nullptr; int skip = 0; @@ -201,11 +201,14 @@ DrawText ( { if (isRightReading && numberSize == 0) { + const auto test = [](const char * text) -> bool { + return *text >= ' ' && *text <= '~'; + }; it = pText; - isNumber = *pText >= '0' && *pText <= '9'; - if (isNumber) + isLatin = test (pText); + if (isLatin) { - while (*pText >= '0' && *pText <= '9') + while (test (pText)) ++pText; numberSize = pText - it; -- cgit v1.2.3 From 899703248001bc750f628ab77ecf85705213ffeb Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 15 Feb 2019 23:38:12 +0100 Subject: Fix hebrew translation --- resources/po/he.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/po/he.po b/resources/po/he.po index 36e6d52..df7c681 100644 --- a/resources/po/he.po +++ b/resources/po/he.po @@ -691,10 +691,10 @@ msgid "Paving stones" msgstr "מרצפות" msgid "Planet Blupi" -msgstr "בלופי" +msgstr "הכוכב בלופי" msgid "Planet Blupi -- stop" -msgstr "בלופי -- עצור" +msgstr "הכוכב בלופי -- עצור" msgid "Planks" msgstr "קרשים" -- cgit v1.2.3 From d110ff1e207e1b3dd58a47ad4e0d6ef521cfd2e8 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 15 Feb 2019 23:38:26 +0100 Subject: Fix main title for hebrew --- resources/image/he/init.png | Bin 64016 -> 78324 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/image/he/init.png b/resources/image/he/init.png index 322878b..4c91349 100644 Binary files a/resources/image/he/init.png and b/resources/image/he/init.png differ -- cgit v1.2.3 From 7efa181ed50cd0ac763b41c053d69eef0da1a535 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 15 Feb 2019 23:50:42 +0100 Subject: Add french title version --- resources/image/fr/init.png | Bin 0 -> 82209 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/image/fr/init.png diff --git a/resources/image/fr/init.png b/resources/image/fr/init.png new file mode 100644 index 0000000..f5643d3 Binary files /dev/null and b/resources/image/fr/init.png differ -- cgit v1.2.3 From 8d84e12ce8efe52130e1dd362917889ba456f624 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 15 Feb 2019 23:55:59 +0100 Subject: Add missing char for Hebrew --- src/event.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/event.cxx b/src/event.cxx index 995e0b2..e7bfd62 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -2804,7 +2804,7 @@ CEvent::DrawButtons () else if (locale == "pt") lang = "Português"; else if (locale == "he") - lang = "עברי"; + lang = "עברית"; lg = GetTextWidth (lang.c_str ()); lg = IsRightReading () ? -lg : lg; -- cgit v1.2.3 From e9f87e9354c14755bbf8ab1db031625e503265af Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 00:15:54 +0100 Subject: Improve french title --- resources/image/fr/init.png | Bin 82209 -> 81558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/image/fr/init.png b/resources/image/fr/init.png index f5643d3..3c4ba53 100644 Binary files a/resources/image/fr/init.png and b/resources/image/fr/init.png differ -- cgit v1.2.3 From c1f0452e20cab46b2713d8c6520add69723c958b Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 13:57:08 +0100 Subject: Fix init screens and add turkish init screen --- resources/image/fr/init.png | Bin 81558 -> 81347 bytes resources/image/he/init.png | Bin 78324 -> 78084 bytes resources/image/tr/init.png | Bin 0 -> 78500 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/image/tr/init.png diff --git a/resources/image/fr/init.png b/resources/image/fr/init.png index 3c4ba53..15e970b 100644 Binary files a/resources/image/fr/init.png and b/resources/image/fr/init.png differ diff --git a/resources/image/he/init.png b/resources/image/he/init.png index 4c91349..9780325 100644 Binary files a/resources/image/he/init.png and b/resources/image/he/init.png differ diff --git a/resources/image/tr/init.png b/resources/image/tr/init.png new file mode 100644 index 0000000..676e6b7 Binary files /dev/null and b/resources/image/tr/init.png differ -- cgit v1.2.3 From 79ae678853cc4760e3c518e4fe8aea645a385591 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 14:04:10 +0100 Subject: Add Portuguese init screen --- resources/image/pt/init.png | Bin 0 -> 81249 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/image/pt/init.png diff --git a/resources/image/pt/init.png b/resources/image/pt/init.png new file mode 100644 index 0000000..d958c02 Binary files /dev/null and b/resources/image/pt/init.png differ -- cgit v1.2.3 From b99c2839aff2bc84f9732982f0d190ab257a1d14 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 14:12:57 +0100 Subject: Fix numbers in hebrew story file --- resources/data/he/stories.blp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/resources/data/he/stories.blp b/resources/data/he/stories.blp index 42637fc..b95ae0d 100644 --- a/resources/data/he/stories.blp +++ b/resources/data/he/stories.blp @@ -5,15 +5,15 @@ $1 1|לעשות זאת, תמיד השתמשו בלחצן השמאלי 1|של העכבר -2|1) לחצו על בלופי +2|)1 לחצו על בלופי 2| טבעת כחולה תופיעה מסביבו 2| ותעיד כי הוא הדמות הנבחרת. 2| -2|2) לחצו על הבית שלו +2|)2 לחצו על הבית שלו 2| -2|3) לחצו על כפתור "המשך" +2|)3 לחצו על כפתור "המשך" 2| -2|4) חזרו על הפעולה עבור +2|)4 חזרו על הפעולה עבור 2| הבלופי השני. @@ -169,13 +169,13 @@ $6 1|הוא חייב לארגן את עצמו לפני 1|שיתחיל לחפש את הכפר שלו. 1| -1|1) לבנות צריף ולגדל +1|)1 לבנות צריף ולגדל 1| עגבניות -2|2) לבנות מדגרה כדי להשיג +2|)2 לבנות מדגרה כדי להשיג 2| הספקה. 2| -2|3) להאכיל את ארבעת הבלופים +2|)3 להאכיל את ארבעת הבלופים 2| ולמצוא את הכפר. 2| @@ -219,14 +219,14 @@ $6 @3 1|פתרון: 1| -1|1) חיצבו בסלע. +1|)1 חיצבו בסלע. 1| סלעים קטנים, קל 1| יותר לחצוב. -2|2) בנו חומה בין שתי החומות +2|)2 בנו חומה בין שתי החומות 2| שכבר קיימות. 2| -2|3) חכו שהשריפה תיפסק. +2|)3 חכו שהשריפה תיפסק. #4 1|מטרה: @@ -237,15 +237,15 @@ $6 @4 1|פתרון: 1| -1|1) כרתו עץ אחד. +1|)1 כרתו עץ אחד. 1| -1|2) העבר את הקרשים +1|)2 העבר את הקרשים 1| לשפת המים. 1| -1|3) בנה גשר לעבר שני +1|)3 בנה גשר לעבר שני 1| הבלופים העייפים. -2|4) חזרו על פעולה זו +2|)4 חזרו על פעולה זו 2| שלוש פעמים. 2| 2|הבלופים העייפים יוכלו כעת @@ -810,11 +810,11 @@ $6 #22 1|מטרות: 1| -1|1) הכנת סירות. +1|)1 הכנת סירות. 1| -1|2) חקירת כל האיים. +1|)2 חקירת כל האיים. 1| -1|3) השמדת כל מתקני האוייב. +1|)3 השמדת כל מתקני האוייב. @22 1|רמזים: -- cgit v1.2.3 From 0e7bf44dcc4ff749b458c44d03ec02607a2b2397 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 14:13:11 +0100 Subject: Remove trailing whitespaces --- resources/po/he.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/po/he.po b/resources/po/he.po index df7c681..246f678 100644 --- a/resources/po/he.po +++ b/resources/po/he.po @@ -213,7 +213,7 @@ msgid "Aliasing" msgstr "מצב חלק" msgid "All licenses are available under share/doc/planetblupi/copyright" -msgstr "כל הרישיונות זמינים תחת share/doc/planetblupi/copyright " +msgstr "כל הרישיונות זמינים תחת share/doc/planetblupi/copyright" msgid "Already two teleporters" msgstr "יש כבר שני משגרים" @@ -845,7 +845,7 @@ msgstr "משגר" msgid "" "This game is an original creation of Epsitec SA, CH-1400 Yverdon-les-Bains" -msgstr "זהו משחק מקורי מאת Epsitec SA, CH-1400 Yverdon-les-Bains " +msgstr "זהו משחק מקורי מאת Epsitec SA, CH-1400 Yverdon-les-Bains" msgid "This game uses statically linked free and open-source libraries:" msgstr "המשחק משתמש בספריות קוד מקור חינמיות פתוחות" -- cgit v1.2.3 From 82b97be5f9fb40ecbc1ee5a4eb10418637226954 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 14:13:24 +0100 Subject: Cosmetic --- src/text.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/text.cxx b/src/text.cxx index 1b6ba92..de273f9 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -183,7 +183,7 @@ DrawText ( CPixmap * pPixmap, Point pos, const char * pText, Sint32 font, Sint32 slope) { Sint32 rank; - bool isLatin = false; + bool isLatin = false; int numberSize = 0; const char * it = nullptr; int skip = 0; @@ -204,7 +204,7 @@ DrawText ( const auto test = [](const char * text) -> bool { return *text >= ' ' && *text <= '~'; }; - it = pText; + it = pText; isLatin = test (pText); if (isLatin) { -- cgit v1.2.3 From 30000a49235416df8a19d3db80f57e072b32e0ed Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 14:13:50 +0100 Subject: Fix space position when english text is mixed with hebrew --- src/text.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/text.cxx b/src/text.cxx index de273f9..18cbbf4 100644 --- a/src/text.cxx +++ b/src/text.cxx @@ -202,7 +202,7 @@ DrawText ( if (isRightReading && numberSize == 0) { const auto test = [](const char * text) -> bool { - return *text >= ' ' && *text <= '~'; + return *text > ' ' && *text <= '~'; }; it = pText; isLatin = test (pText); -- cgit v1.2.3 From 63f69650e6d60e945da026f1aaa27af22392da1a Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 15:02:47 +0100 Subject: Rename Planet Blupi to Planeta Blupich for Polish --- resources/image/pl/init.png | Bin 0 -> 78410 bytes resources/po/pl.po | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 resources/image/pl/init.png diff --git a/resources/image/pl/init.png b/resources/image/pl/init.png new file mode 100644 index 0000000..4d17374 Binary files /dev/null and b/resources/image/pl/init.png differ diff --git a/resources/po/pl.po b/resources/po/pl.po index 571744c..8567161 100644 --- a/resources/po/pl.po +++ b/resources/po/pl.po @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" msgid " - FFmpeg (LGPLv2.1)" msgstr " - FFmpeg (LGPLv2.1)" @@ -502,8 +502,8 @@ msgstr "Łatwopalna ziemia" msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." msgstr "" -"Włóż płytę CD-ROM z grą Planet Blupi do napędu optycznego i poczekaj kilka " -"sekund" +"Włóż płytę CD-ROM z grą Planeta Blupich do napędu optycznego i poczekaj " +"kilka sekund" msgid "" "Interface language\n" @@ -693,10 +693,10 @@ msgid "Paving stones" msgstr "Kostka brukowa" msgid "Planet Blupi" -msgstr "Planet Blupi" +msgstr "Planeta Blupich" msgid "Planet Blupi -- stop" -msgstr "Planet Blupi -- zatrzymano" +msgstr "Planeta Blupich -- zatrzymano" msgid "Planks" msgstr "Deski" @@ -738,7 +738,7 @@ msgid "Quit" msgstr "Wyjdź" msgid "Quit Planet Blupi" -msgstr "Wyjdź z Planet Blupi" +msgstr "Wyjdź z Planeta Blupich" msgid "Quit construction" msgstr "Zakończ tworzenie" @@ -956,7 +956,7 @@ msgid "You have failed, try again..." msgstr "Przegrałeś, spróbuj ponownie..." msgid "You have played Planet Blupi." -msgstr "Grałeś w Planet Blupi" +msgstr "Grałeś w Planeta Blupich" #, c-format msgid "construction %d, time %d" -- cgit v1.2.3 From 97e5494473d4f6ef259d5c309a7f448b32dab865 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Sun, 17 Feb 2019 23:31:23 +0100 Subject: Use 'Planet Blupi' as title for all languages Not with Hebrew of course. --- resources/image/fr/init.png | Bin 81347 -> 0 bytes resources/image/pl/init.png | Bin 78410 -> 0 bytes resources/image/pt/init.png | Bin 81249 -> 0 bytes resources/image/tr/init.png | Bin 78500 -> 0 bytes resources/po/fr.po | 14 +++++++------- resources/po/he.po | 2 +- resources/po/pl.po | 14 +++++++------- resources/po/planetblupi.pot | 2 +- resources/po/pt.po | 14 +++++++------- resources/po/tr.po | 12 ++++++------ 10 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 resources/image/fr/init.png delete mode 100644 resources/image/pl/init.png delete mode 100644 resources/image/pt/init.png delete mode 100644 resources/image/tr/init.png diff --git a/resources/image/fr/init.png b/resources/image/fr/init.png deleted file mode 100644 index 15e970b..0000000 Binary files a/resources/image/fr/init.png and /dev/null differ diff --git a/resources/image/pl/init.png b/resources/image/pl/init.png deleted file mode 100644 index 4d17374..0000000 Binary files a/resources/image/pl/init.png and /dev/null differ diff --git a/resources/image/pt/init.png b/resources/image/pt/init.png deleted file mode 100644 index d958c02..0000000 Binary files a/resources/image/pt/init.png and /dev/null differ diff --git a/resources/image/tr/init.png b/resources/image/tr/init.png deleted file mode 100644 index 676e6b7..0000000 Binary files a/resources/image/tr/init.png and /dev/null differ diff --git a/resources/po/fr.po b/resources/po/fr.po index 2932770..fcb9835 100644 --- a/resources/po/fr.po +++ b/resources/po/fr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-08 07:29+0200\n" -"PO-Revision-Date: 2018-08-08 07:29+0200\n" +"PO-Revision-Date: 2019-02-17 23:21+0100\n" "Last-Translator: Mathieu Schroeter \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.9\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgid " - FFmpeg (LGPLv2.1)" @@ -502,7 +502,7 @@ msgstr "Sol inflammable" msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." msgstr "" -"Veuillez insérer le CD-Rom Planète Blupi, puis attendre quelques secondes ..." +"Veuillez insérer le CD-Rom Planet Blupi, puis attendre quelques secondes ..." msgid "" "Interface language\n" @@ -693,10 +693,10 @@ msgid "Paving stones" msgstr "Dalles" msgid "Planet Blupi" -msgstr "Planète Blupi" +msgstr "Planet Blupi" msgid "Planet Blupi -- stop" -msgstr "Planète Blupi -- arrêt" +msgstr "Planet Blupi -- arrêt" msgid "Planks" msgstr "Planches" @@ -738,7 +738,7 @@ msgid "Quit" msgstr "Quitte" msgid "Quit Planet Blupi" -msgstr "Quitter Planète Blupi" +msgstr "Quitter Planet Blupi" msgid "Quit construction" msgstr "Terminer la construction" @@ -957,7 +957,7 @@ msgid "You have failed, try again..." msgstr "C'est raté, essaie encore une fois..." msgid "You have played Planet Blupi." -msgstr "Vous avez joué à Planète Blupi." +msgstr "Vous avez joué à Planet Blupi." #, c-format msgid "construction %d, time %d" diff --git a/resources/po/he.po b/resources/po/he.po index 246f678..4f87c7c 100644 --- a/resources/po/he.po +++ b/resources/po/he.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-27 15:19+0100\n" -"PO-Revision-Date: 2019-02-14 19:54-0500\n" +"PO-Revision-Date: 2019-02-17 14:11+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: he\n" diff --git a/resources/po/pl.po b/resources/po/pl.po index 8567161..7f661cb 100644 --- a/resources/po/pl.po +++ b/resources/po/pl.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-08 07:29+0200\n" -"PO-Revision-Date: 2019-01-25 22:37+0100\n" +"PO-Revision-Date: 2019-02-17 23:22+0100\n" "Last-Translator: tomangelo \n" "Language-Team: TerranovaTeam \n" "Language: pl\n" @@ -502,8 +502,8 @@ msgstr "Łatwopalna ziemia" msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." msgstr "" -"Włóż płytę CD-ROM z grą Planeta Blupich do napędu optycznego i poczekaj " -"kilka sekund" +"Włóż płytę CD-ROM z grą Planet Blupi do napędu optycznego i poczekaj kilka " +"sekund" msgid "" "Interface language\n" @@ -693,10 +693,10 @@ msgid "Paving stones" msgstr "Kostka brukowa" msgid "Planet Blupi" -msgstr "Planeta Blupich" +msgstr "Planet Blupi" msgid "Planet Blupi -- stop" -msgstr "Planeta Blupich -- zatrzymano" +msgstr "Planet Blupi -- zatrzymano" msgid "Planks" msgstr "Deski" @@ -738,7 +738,7 @@ msgid "Quit" msgstr "Wyjdź" msgid "Quit Planet Blupi" -msgstr "Wyjdź z Planeta Blupich" +msgstr "Wyjdź z Planet Blupi" msgid "Quit construction" msgstr "Zakończ tworzenie" @@ -956,7 +956,7 @@ msgid "You have failed, try again..." msgstr "Przegrałeś, spróbuj ponownie..." msgid "You have played Planet Blupi." -msgstr "Grałeś w Planeta Blupich" +msgstr "Grałeś w Planet Blupi" #, c-format msgid "construction %d, time %d" diff --git a/resources/po/planetblupi.pot b/resources/po/planetblupi.pot index aaebff5..36bc15f 100644 --- a/resources/po/planetblupi.pot +++ b/resources/po/planetblupi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-27 23:41+0100\n" +"POT-Creation-Date: 2019-02-17 14:11+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/resources/po/pt.po b/resources/po/pt.po index 22683d5..54a67a0 100644 --- a/resources/po/pt.po +++ b/resources/po/pt.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-25 23:40+0100\n" -"PO-Revision-Date: 2019-01-27 23:43+0100\n" +"PO-Revision-Date: 2019-02-17 23:23+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgid " - FFmpeg (LGPLv2.1)" @@ -491,7 +491,7 @@ msgid "Inflammable ground" msgstr "Terreno inflamavel" msgid "Insert CD-Rom Planet Blupi and wait a few seconds..." -msgstr "Insira o CD-Rom Planeta Blupi e aguarde alguns segundos..." +msgstr "Insira o CD-Rom Planet Blupi e aguarde alguns segundos..." msgid "" "Interface language\n" @@ -679,10 +679,10 @@ msgid "Paving stones" msgstr "Pavimento de pedra" msgid "Planet Blupi" -msgstr "Planeta Blupi" +msgstr "Planet Blupi" msgid "Planet Blupi -- stop" -msgstr "Planeta Blupi -- parar" +msgstr "Planet Blupi -- parar" msgid "Planks" msgstr "Madeiras" @@ -724,7 +724,7 @@ msgid "Quit" msgstr "Sair" msgid "Quit Planet Blupi" -msgstr "Sair do Planeta Blupi" +msgstr "Sair do Planet Blupi" msgid "Quit construction" msgstr "Encerrar projeto" @@ -936,7 +936,7 @@ msgid "You have failed, try again..." msgstr "Você falhou, tente novamente..." msgid "You have played Planet Blupi." -msgstr "Você jogou o Planeta Blupi." +msgstr "Você jogou o Planet Blupi." #, c-format msgid "construction %d, time %d" diff --git a/resources/po/tr.po b/resources/po/tr.po index 1ca4d75..51d00b8 100644 --- a/resources/po/tr.po +++ b/resources/po/tr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: tr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-08 07:29+0200\n" -"PO-Revision-Date: 2019-01-23 18:09+0300\n" +"PO-Revision-Date: 2019-02-17 23:26+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgid " - FFmpeg (LGPLv2.1)" @@ -689,10 +689,10 @@ msgid "Paving stones" msgstr "Parke taşı" msgid "Planet Blupi" -msgstr "Blupi Gezegeni" +msgstr "Planet Blupi" msgid "Planet Blupi -- stop" -msgstr "Blupi Gezegeni -- dur" +msgstr "Planet Blupi -- dur" msgid "Planks" msgstr "Kalaslar" @@ -734,7 +734,7 @@ msgid "Quit" msgstr "Çık" msgid "Quit Planet Blupi" -msgstr "Blupi Gezegeni'nden çık" +msgstr "Planet Blupi'den çık" msgid "Quit construction" msgstr "Oyundan çık" @@ -948,7 +948,7 @@ msgid "You have failed, try again..." msgstr "Kaybettin, tekrar dene..." msgid "You have played Planet Blupi." -msgstr "Blupi Gezegeni'ni oynadınız." +msgstr "Planet Blupi'ni oynadınız." #, c-format msgid "construction %d, time %d" -- cgit v1.2.3 From c01d9b1295312cab601767d41859ea2cee25d595 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Mon, 18 Feb 2019 17:23:10 +0100 Subject: Complete the Itialian translation --- resources/po/it.po | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/resources/po/it.po b/resources/po/it.po index b4c3b70..11f949a 100644 --- a/resources/po/it.po +++ b/resources/po/it.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-08 07:29+0200\n" -"PO-Revision-Date: 2017-12-14 23:15+0100\n" -"Last-Translator: \n" +"PO-Revision-Date: 2019-02-18 15:22+0100\n" +"Last-Translator: Mathieu Schroeter \n" "Language-Team: \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.5\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgid " - FFmpeg (LGPLv2.1)" @@ -209,7 +209,7 @@ msgstr "" "1|le lastre tratteggiate." msgid "Aliasing" -msgstr "" +msgstr "Aliasing" msgid "All licenses are available under share/doc/planetblupi/copyright" msgstr "Tutte le license sono disponibili in share/doc/planetblupi/copyright" @@ -221,7 +221,7 @@ msgid "Another mistake..." msgstr "Ahimè, hai sbagliato un'altra volta..." msgid "Anti-aliasing" -msgstr "" +msgstr "Anti-aliasing" msgid "Armour" msgstr "Armatura" @@ -286,23 +286,20 @@ msgstr "Spacca una roccia" msgid "Carve rocks" msgstr "Spacca delle roccie" -#, fuzzy msgid "" "Change the\n" "display mode" msgstr "" "Cambiare la\n" -"dimensione\n" -"della finestra" +"visualizzazione" -#, fuzzy msgid "" "Change the\n" "render quality" msgstr "" "Cambiare la\n" -"dimensione\n" -"della finestra" +"qualità\n" +"dell'immagina" msgid "" "Change the\n" @@ -316,6 +313,9 @@ msgid "" "Choose the\n" "music format" msgstr "" +"Scegliere il\n" +"formato\n" +"della musica" msgid "Construct this game" msgstr "Costruire questa partita" @@ -354,16 +354,16 @@ msgid "Desert" msgstr "Deserto" msgid "Desktop" -msgstr "" +msgstr "Risoluzione" msgid "Desktop mode" -msgstr "" +msgstr "Modo desktop" msgid "Difficult" msgstr "Difficile" msgid "Disable anti-aliasing" -msgstr "" +msgstr "Disattivare anti-aliasing" msgid "Drink" msgstr "Bevi" @@ -390,7 +390,7 @@ msgid "Electrocutor" msgstr "Folgoratore" msgid "Enable anti-aliasing" -msgstr "" +msgstr "Attivare anti-aliasing" msgid "Ending conditions" msgstr "" @@ -538,10 +538,10 @@ msgid "Leave Jeep" msgstr "Lascia la Jeep" msgid "Legacy" -msgstr "" +msgstr "Originale" msgid "Legacy mode (640x480)" -msgstr "" +msgstr "Originale (640x480)" #, c-format msgid "Lost if less than %d Blupi" @@ -670,7 +670,7 @@ msgid "Normal ground" msgstr "Terreno normale" msgid "Not available" -msgstr "" +msgstr "Non disponibile" msgid "Not enough energy" msgstr "Energia limitata" @@ -895,10 +895,10 @@ msgid "Tree trunks" msgstr "Tronchi" msgid "Use Midi music (original)" -msgstr "" +msgstr "Utilizzare la musica Midi (originale)" msgid "Use Ogg music" -msgstr "" +msgstr "Utilizzare la musica Ogg" msgid "Version" msgstr "Versione" -- cgit v1.2.3 From b1a8d0b9c49b3bf63930c6f3daa28edf24266fae Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Mon, 18 Feb 2019 17:39:30 +0100 Subject: Fix Hebrew text width --- resources/data/he/stories.blp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/resources/data/he/stories.blp b/resources/data/he/stories.blp index b95ae0d..c7d4cd8 100644 --- a/resources/data/he/stories.blp +++ b/resources/data/he/stories.blp @@ -2,8 +2,8 @@ $1 1|מטרה: 1| 1|כל בלופי חייב להכנס לבית. כדי -1|לעשות זאת, תמיד השתמשו בלחצן השמאלי -1|של העכבר +1|לעשות זאת, תמיד השתמשו בלחצן +1|השמאלי של העכבר 2|)1 לחצו על בלופי 2| טבעת כחולה תופיעה מסביבו @@ -132,9 +132,9 @@ $6 מהמפריעים. #1 -ספינת החלל שהתרסקה, הציתה שריפה -בכל היער. הכפר של בלופי נמצא -עכשיו בסכנה. +ספינת החלל שהתרסקה, הציתה +שריפה בכל היער. הכפר של +בלופי נמצא עכשיו בסכנה. 1|מטרה: 1| @@ -406,7 +406,8 @@ $6 #9 1|מטרה: 1| -1|מצאו את הדרך לחצות את רחבת הקרח. +1|מצאו את הדרך לחצות את +1|רחבת הקרח. 1|ולהגיע אל המרצפות המפוספסות. -- cgit v1.2.3 From 79b7e0f762394a66a4abf50022c4fe37d5a1a580 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Mon, 18 Feb 2019 22:39:06 +0100 Subject: Fix typo --- resources/po/tr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/po/tr.po b/resources/po/tr.po index 51d00b8..7b3aca4 100644 --- a/resources/po/tr.po +++ b/resources/po/tr.po @@ -948,7 +948,7 @@ msgid "You have failed, try again..." msgstr "Kaybettin, tekrar dene..." msgid "You have played Planet Blupi." -msgstr "Planet Blupi'ni oynadınız." +msgstr "Planet Blupi'yi oynadınız." #, c-format msgid "construction %d, time %d" -- cgit v1.2.3 From 8241d561707d669feab6b62dee1ffbe1797cc91e Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Tue, 19 Feb 2019 19:27:42 +0100 Subject: Add TheShwarma translator --- COPYING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/COPYING b/COPYING index 22e9fd3..c627928 100644 --- a/COPYING +++ b/COPYING @@ -14,7 +14,7 @@ | | Adrienne Magnin and Wendy de Pauli | | 2005 | Rodolfo Andrade de Oliveira and Vanessa Alexandre Vieira | | 2017 | Catia Guidi and Mateusz Lis | -| 2019 | punctdan _(@github)_ | +| 2019 | punctdan _(@github)_ and TheShwarma _(@twitter)_ | | | | | | **Missions** | | 1997 | Daniel Roux, Adrien Roux and Denis Dumoulin | -- cgit v1.2.3 From a17ad3b5faf015f8308530001e08f54976872a3d Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 20 Feb 2019 07:27:57 +0100 Subject: Fix Portuguese translation (text width) --- resources/data/pt/stories.blp | 90 +++++++++++++++++++++++-------------------- 1 file changed, 48 insertions(+), 42 deletions(-) diff --git a/resources/data/pt/stories.blp b/resources/data/pt/stories.blp index bd23555..138d639 100644 --- a/resources/data/pt/stories.blp +++ b/resources/data/pt/stories.blp @@ -107,9 +107,9 @@ $6 #h1 A vida do Blupi em seu planeta -era perfeita. Tudo era muito bonito -e quieto até que um dia um -estranho meteorito caiu em +era perfeita. Tudo era muito +bonito e quieto até que um dia +um estranho meteorito caiu em um local remoto. Algum tempo depois, Blupi @@ -127,17 +127,19 @@ O que esta acontecendo? Bem, o estranho meteorito parece ser uma nave espacial. Restou -somente um sobrevivente na batida, -e parecer ser um robo. E a unica -coisa que ele quer é construir -fabricas para produzir todo tipo -de maquinas perversas para acabar -com o planeta do Blupi. +somente um sobrevivente na +batida, e parecer ser um robo. +E a unica coisa que ele quer é +construir fabricas para produzir +todo tipo de maquinas perversas +para acabar com o planeta do +Blupi. O Blupi precisa da sua ajuda e -habilidade para obter uma vantagem -de todos os recursos naturais para -se livrar desses intrusos... +habilidade para obter uma +vantagem de todos os recursos +naturais para se livrar desses +intrusos... #1 A nave espacial colocou fogo na @@ -148,8 +150,8 @@ pode estar em perigo. 1| 1|Impedir que a vila seja queimada. 1|Para fazer isso, existe apenas uma -1|maneira: Cortar algumas plantas do -1|lado esquerdo. +1|maneira: Cortar algumas plantas +1|do lado esquerdo. @@ -158,8 +160,8 @@ pode estar em perigo. 2|Dica: 2| 2|Se um Blupi ficar escondido atras -2|de uma planta, pressione a barra de -2|espaço. Fazendo isso ele vai +2|de uma planta, pressione a barra +2|de espaço. Fazendo isso ele vai 2|aparecer transparente por alguns 2|instantes. @@ -269,6 +271,7 @@ pode estar em perigo. 1|podem se queimar. 1| 1|Objetivo: +1| 1|Resista até quando o fogo 1|tiver apagado. @@ -329,9 +332,9 @@ clica em cada Blupi. 1|Soluçao: 1| 1|Você deve colocar quatro Blupis -1|para esculpir as pedras rapidamente. -1|As menores ficam prontas mais -1|rapidamente +1|para esculpir as pedras +1|rapidamente. As menores ficam +1|prontas mais rapidamente. 1| 1|Transporte as quatro pilhas de 1|pedras para o pavimento cinza @@ -464,13 +467,14 @@ clica em cada Blupi. 1| 1|Construa uma ponta na direçao 1|dos quatro prisioneiros. Você pode -1|esculpir uma pedra para construir um -1|um laboratorio. +1|esculpir uma pedra para +1|construir um laboratorio. 1| -1|As flores azuis podem ser encontradas -1|no sudeste. Levando-as para o -1|laboratorio, elas podem ser -1|transformadas em dinamite. +1|As flores azuis podem ser +1|encontradas no sudeste. +1|Levando-as para o laboratorio, +1|elas podem ser transformadas +1|em dinamite. 2|Use a dinamite para destruir 2|a barreira que esta prendendo @@ -499,10 +503,10 @@ clica em cada Blupi. 2|norte corretamente perto das 2|escavadoras. 2| -2|Enquanto as dinamites nao estiverem -2|prontas, evite ir ao norte -2|ou você sera atacado pelas -2|escavadoras. +2|Enquanto as dinamites nao +2|estiverem prontas, evite ir +2|ao norte ou você sera atacado +2|pelas escavadoras. #12 1|Objetivo: @@ -805,7 +809,7 @@ enquanto clica em cada Blupi. -2|Objeto: +2|Objetivo: 2| 2|Blupi deve escapar e achar 2|sua casa. @@ -821,14 +825,15 @@ enquanto clica em cada Blupi. 1|podem destruir as barreiras. 2|Corra para o leste ate alcançar -2|o rio. Faça um bote com as plantas. -2|Você vai precisar de uma segunda -2|pilha de madeiras para construir um -2|bote depois. Antes disso, você vai -2|ter que pegar o eletrocondutor com -2|a armadilha pegajosa e fazer uma -2|bomba para destruir a barreira -2|azul no leste. +2|o rio. Faça um bote com as +2|plantas. Você vai precisar de +2|uma segunda pilha de madeiras +2|para construir um bote depois. +2|Antes disso, você vai ter que +2|pegar o eletrocondutor com +2|a armadilha pegajosa e fazer +2|uma bomba para destruir a +2|barreira azul no leste. #22 1|Objetivo: @@ -928,6 +933,7 @@ enquanto clica em cada Blupi. 2|Objetivo: +2| 2|Trazer cubo de platina para 2|o pavimento de pedra. @@ -1113,10 +1119,10 @@ enquanto clica em cada Blupi. 2|Objetivo: 2| -2|Preparar o caminho para o foguete -2|para que o robo possa deixar -2|o planeta. Tendo perdido a -2|batalha, o robo ficou zangado +2|Preparar o caminho para o +2|foguete para que o robo possa +2|deixar o planeta. Tendo perdido +2|a batalha, o robo ficou zangado 2|e se recusa a se mover até que 2|o caminho esteja terminado. -- cgit v1.2.3 From 00cb27fae248964d6244091d7704ed026dc344bb Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 20 Feb 2019 07:34:30 +0100 Subject: Fix Hebrew translation (text width) --- resources/data/he/stories.blp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/data/he/stories.blp b/resources/data/he/stories.blp index c7d4cd8..49fdaa0 100644 --- a/resources/data/he/stories.blp +++ b/resources/data/he/stories.blp @@ -606,9 +606,9 @@ $6 2|צריך לבנות מעבדה, צרו חומרי נפץ 2|ומלכודות דביקות. הגנת המחנה -2|מתבצעת על ידי הנחת מלכודות דביקות -2|בתוך המחנה, והנחת חומרי נפץ -2|מחוצה לו. +2|מתבצעת על ידי הנחת מלכודות +2|דביקות בתוך המחנה, והנחת חומרי +2|נפץ מחוצה לו. 2| 2|כאשר יהיו לכם מספיק חומרי נפץ 2|ומלכודות, שילחו בלופי אחד @@ -677,8 +677,8 @@ $6 1| 1|בלופי יכול עכשיו ללכת לבית שנמצא 1|בצד המערבי של האי. -1|הארבעה האחרים חייבים לעזוב במהירות -1|בגלל הדחפורים. +1|הארבעה האחרים חייבים לעזוב +1|במהירות בגלל הדחפורים. 1|הבלופים חייבים ללכת צפון מזרחה. 2|בהמשך, בצפון מזרח, אתם תמצאו @@ -800,8 +800,8 @@ $6 2|ברחו למזרח עד שתגיעו לנהר. 2|הכינו לכם סירה בעזרת הקרשים. -2|אתם תיזדקקו לערימת הקרשים השניה -2|כדי לבנות סירה מאוחר יותר. +2|אתם תיזדקקו לערימת הקרשים +2|השניה כדי לבנות סירה מאוחר יותר. 2|אך לפני כן, עליכם לתפוס "מחשמל" |2בעזרת המלכודות הדביקות, וליצור 2|פצצת זמן שתשמיד את המחסום -- cgit v1.2.3 From fe1a260d92813f07d28e9f475c28329a7e437c6f Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 20 Feb 2019 17:35:28 +0100 Subject: Fix Polish translation (text width) --- resources/data/pl/stories.blp | 70 ++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/resources/data/pl/stories.blp b/resources/data/pl/stories.blp index e69574f..d2ac7ba 100644 --- a/resources/data/pl/stories.blp +++ b/resources/data/pl/stories.blp @@ -194,7 +194,8 @@ Blupich jest zagrożona. 1| 1|Na początek musisz zbudować 1|dwie palisady na północy -1|by powstrzymać pająka przed przyjściem. +1|by powstrzymać pająka przed +1|przyjściem. 1|Dopiero wtedy wybuduj 2|szopkę ogrodową i sadź 2|pomidory w spokoju. @@ -365,7 +366,8 @@ każdego Blupiego. 1|Jeden z Blupich musi 1|przeskoczyć na wschodnią 1|wyspę i wybudować most -1|prowadzący do nawierzchni docelowej. +1|prowadzący do nawierzchni +1|docelowej. 2|Przynieś pomidory do 2|zmęczonego Blupiego, żeby @@ -458,8 +460,9 @@ każdego Blupiego. 1| 1|Niebieskie kwiaty są na 1|południowym wschodzie. -1|W laboratorium można wykorzystać -1|je do produkcji dynamitu. +1|W laboratorium można +1|wykorzystać je do produkcji +1|dynamitu. 2|Użyj dynamitu by zniszczyć 2|palisadę blokującą drogę @@ -634,7 +637,8 @@ każdego Blupiego. 1|i 2 Jeepy i znajdź przeciwny obóz 1|na południowym zachodzie. -2|Wysadź barierę chroniącą wrogi obóz. +2|Wysadź barierę chroniącą wrogi +2|obóz. 2|Postaraj się wysadzić przy tym 2|również buldożery. 2| @@ -670,9 +674,10 @@ klikania na każdym Blupim. @17 1|Solucja: 1| -1|Blupi może iść do domu na zachodniej -1|części wyspy. Pozostała czwórka musi -1|iść dość szybko by nie paść ofiarą +1|Blupi może iść do domu na +1|zachodniej części wyspy. +1|Pozostała czwórka musi iść +1|dość szybko by nie paść ofiarą 1|buldożerów. Blupi muszą iść na 1|północny wschód. @@ -683,7 +688,8 @@ klikania na każdym Blupim. 2|są duże pokłady żelaza. 2| 2|Stwórz łódź i podążaj na -2|północny wschód z bombą zegarową. +2|północny wschód z bombą +2|zegarową. #18 1|Sytuacja: @@ -744,12 +750,13 @@ klikania na każdym Blupim. 1|Wejdź na pokład i poszukaj innej 1|wyspy z drzewami. Zetnij drzewo 1|i przetransportuj deski na większą -2|wyspę. Stwórz teleporter. Przeniesie -2|cię on do zbrojowni. +2|wyspę. Stwórz teleporter. +2|Przeniesie cię on do zbrojowni. 2| 2| 2|Umieść trochę dynamitu niedaleko -2|muru otaczającego teren i wysadź go. +2|muru otaczającego teren i wysadź +2|go. 2|Za pomocą reszty dynamitu możesz 2|zniszczyć buldożery. @@ -796,11 +803,11 @@ klikania na każdym Blupim. 2|na rzekę. Stwórz łódź z desek. 2|Będziesz potrzebować też drugiej 2|sterty desek by zbudować później -2|drugą łódź. Zanim to zrobisz, musisz -2|złapać paralizatora w klejącą pułapkę -2|i stworzyć bombę zegarową w celu -2|zniszczenia niebieskiej bariery -2|na wschodzie. +2|drugą łódź. Zanim to zrobisz, +2|musisz złapać paralizatora w +2|klejącą pułapkę i stworzyć bombę +2|zegarową w celu zniszczenia +2|niebieskiej bariery na wschodzie. #22 1|Cele: @@ -904,11 +911,12 @@ klikania na każdym Blupim. @25 1|Solucja: 1| -1|Zneutralizuj 2 buldożery za pomocą -1|klejących pułapek. Stwórz łódź na -1|północ od pierwszego wrogiego obozu, -1|zaokrętuj razem z bombą zegarową -1|i udaj się na wschód. +1|Zneutralizuj 2 buldożery za +1|pomocą klejących pułapek. Stwórz +1|łódź na północ od pierwszego +1|wrogiego obozu, zaokrętuj razem +1|z bombą zegarową i udaj się na +1|wschód. 1| 1|Znajdź ścieżkę między skałami 1|prowadzącą na południe. @@ -942,10 +950,11 @@ klikania na każdym Blupim. 1|i stwórz bombę zegarową. 1| 1|Weź robota i bombę. Robot może -1|przekroczyć wrogi obóz na zachodzie -1|bez przeszkód. Wysadź barierę na -2|północy i weź pomidory by nakarmić -2|Blupiego w swoim obozie. +1|przekroczyć wrogi obóz na +1|zachodzie bez przeszkód. Wysadź +1|barierę na północy i weź +1|pomidory by nakarmić +1|Blupiego w swoim obozie. 2| 2|Połóż pomidory na ziemi zanim 2|wykonasz skok. @@ -1055,12 +1064,13 @@ klikania na każdym Blupim. 1|Mogą okazać się przydatne 1|w starciu ze skaczącymi bombami! -2|Zielone kwiaty na wschodzie pozwolą -2|ci stworzyć klejące pułapki by obronić -2|wioskę. +2|Zielone kwiaty na wschodzie +2|pozwolą ci stworzyć klejące +2|pułapki by obronić wioskę. 2| 2|Wydobądź żelazo na południowym -2|zachodzie i stwórz bomby i pancerze. +2|zachodzie i stwórz bomby i +2|pancerze. #30 1|Sytuacja: -- cgit v1.2.3 From f2c2caeff938b59f364318dd227a964b8ae2327b Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 20 Feb 2019 18:13:47 +0100 Subject: Restore properly the scroll speed after a demo play --- src/event.cxx | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index e7bfd62..05832f3 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -1642,6 +1642,7 @@ CEvent::CEvent () m_bHelp = false; m_bAllMissions = false; m_scrollSpeed = 1; + m_scrollSpeedPrev = -1; m_bPause = false; m_bShift = false; m_shiftPhase = 0; @@ -5223,9 +5224,11 @@ CEvent::DemoRecStart () InitRandom (); m_pDecor->SetTime (0); - m_speed = 1; - this->m_scrollSpeedPrev = this->m_scrollSpeed; - this->m_scrollSpeed = 3; + m_speed = 1; + + if (this->m_scrollSpeedPrev == -1) + this->m_scrollSpeedPrev = this->m_scrollSpeed; + this->m_scrollSpeed = 3; m_bStartRecording = true; } @@ -5266,10 +5269,15 @@ CEvent::DemoRecStop () } m_pDemoSDLBuffer.clear (); - m_bDemoRec = false; - m_demoTime = 0; - m_bStartRecording = false; - this->m_scrollSpeed = this->m_scrollSpeedPrev; + m_bDemoRec = false; + m_demoTime = 0; + m_bStartRecording = false; + + if (this->m_scrollSpeedPrev >= 0) + { + this->m_scrollSpeed = this->m_scrollSpeedPrev; + this->m_scrollSpeedPrev = -1; + } } // Début de la reproduction d'une démo. @@ -5349,8 +5357,9 @@ CEvent::DemoPlayStart (const std::string * demoFile) return false; } - this->m_scrollSpeedPrev = m_scrollSpeed; - this->m_scrollSpeed = 3; + if (this->m_scrollSpeedPrev == -1) + this->m_scrollSpeedPrev = this->m_scrollSpeed; + this->m_scrollSpeed = 3; ChangePhase (EV_PHASE_PLAY); InitRandom (); @@ -5373,10 +5382,15 @@ CEvent::DemoPlayStop () m_pDemoSDLBuffer.clear (); - m_bDemoPlay = false; - m_bDemoRec = false; - m_demoTime = 0; - this->m_scrollSpeed = this->m_scrollSpeedPrev; + m_bDemoPlay = false; + m_bDemoRec = false; + m_demoTime = 0; + + if (this->m_scrollSpeedPrev >= 0) + { + this->m_scrollSpeed = this->m_scrollSpeedPrev; + this->m_scrollSpeedPrev = -1; + } ChangePhase (EV_PHASE_INIT); } -- cgit v1.2.3 From a8c7c83494c86457091dc1b1ac8b1aa5b7d03a9c Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Thu, 21 Feb 2019 21:15:30 +0100 Subject: Prepare release v1.14.0 --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d7dd1b3..55246d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ project (planetblupi) set (PB_VERSION_MAJOR 1) set (PB_VERSION_MINOR 14) set (PB_VERSION_PATCH 0) -set (PB_VERSION_EXTRA "-rc1") +set (PB_VERSION_EXTRA "") set (PB_PRODUCT_NAME "Planet Blupi") set (PB_PACKAGE_NAME "planetblupi") set (PB_EXEC "planetblupi") @@ -99,6 +99,7 @@ endif () file (COPY resources/sound DESTINATION share/planetblupi) file (COPY resources/music DESTINATION share/planetblupi) file (COPY LICENSE.all DESTINATION share/doc/planetblupi) +file (COPY COPYING DESTINATION share/doc/planetblupi) file (RENAME "${CMAKE_BINARY_DIR}/share/doc/planetblupi/LICENSE.all" "${CMAKE_BINARY_DIR}/share/doc/planetblupi/copyright") @@ -308,6 +309,7 @@ if (NOT BUILD_JS) install (DIRECTORY resources/sound DESTINATION share/planetblupi) install (DIRECTORY resources/music DESTINATION share/planetblupi) install (FILES LICENSE.all DESTINATION share/doc/planetblupi RENAME copyright) + install (FILES COPYING DESTINATION share/doc/planetblupi) if (UNIX AND NOT APPLE) install (DIRECTORY resources/icon/hicolor DESTINATION share/icons) -- cgit v1.2.3