pax_global_header00006660000000000000000000000064126472522140014517gustar00rootroot0000000000000052 comment=5036fe43fadbcf93e54f490e81e0d82332094d18 atomix-3.19.4/000077500000000000000000000000001264725221400131165ustar00rootroot00000000000000atomix-3.19.4/.gitignore000066400000000000000000000014701264725221400151100ustar00rootroot00000000000000ABOUT-NLS Makefile Makefile.in aclocal.m4 data/atomix.desktop data/atomix.appdata.xml data/atomix.appdata.valid autom4te.cache/ config.guess config.h config.h.in compile *~ config.log config.rpath config.status config.sub configure depcomp install-sh intltool-extract.in intltool-merge.in intltool-update.in level/Makefile level/Makefile.in m4/ missing po/.intltool-merge-cache po/Makefile po/Makefile.in po/Makefile.in.in po/*~ po/Makevars.template po/POTFILES po/Rules-quot po/*.gmo po/boldquot.sed po/en@boldquot.header po/en@quot.header po/insert-header.sin po/pt_BR.gmo po/quot.sed po/remove-potcdate.sin po/stamp-it po/*.pot src/.deps/ src/Makefile src/Makefile.in src/atomix src/level-convert src/pf-test src/*.o src/*.a stamp-h1 themes/Makefile themes/Makefile.in themes/default/Makefile themes/default/Makefile.in atomix-3.19.4/AUTHORS000066400000000000000000000001101264725221400141560ustar00rootroot00000000000000Guilherme de S. Pastore Jens Finke atomix-3.19.4/COPYING000066400000000000000000000431221264725221400141530ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. atomix-3.19.4/ChangeLog000066400000000000000000001210731264725221400146740ustar00rootroot000000000000002007-12-04 Nikos Charonitakis * MAINTAINERS: Added missing Userid which was blocking ChangeLog submmision in /po folder 2007-09-15 Yannig Marchegay * po/oc.po: Updated Occitan translation 2007-01-03 Christian Persch R acconfig.h: * configure.in: Fix AC_DEFINE for GETTEXT_PACKAGE. 2007-01-03 Christian Persch * src/main.c: (verb_HelpAbout_cb): Fix about dialogue closing. Bug #336524. 2007-01-03 Christian Persch * autogen.sh: * configure.in: * po/LINGUAS: * src/Makefile.am: Fix the translations build by updating to po/LINGUAS as per GnomeGoal. Bug #334319. 2006-09-01 Abel Cheung * configure.in: Added 'ka' to ALL_LINGUAS. 2006-04-17 Kjartan Maraas * configure.in: Remove again. * po/no.po: 2006-03-13 Runa Bhattacharjee * configure.in: Added Bengali (bn) to ALL_LINGUAS. 2006-03-11 Guilherme de S. Pastore * po/ChangeLog: fixed some stuff. * NEWS: updated. * configure.in: bumped version to 2.14.0. 2006-03-04 Guilherme de S. Pastore * atomix.desktop.in: fixed the categories list and the GNOME Bugzilla version. Closes bug #329319. 2006-01-15 Guilherme de S. Pastore * autogen.sh, configure.in, Makefile.am: applied patch from Christian Persch to use automake 1.9 and clean things up. Closes bug #327130. 2006-01-10 Abel Cheung * configure.in: Added "zh_HK" to ALL_LINGUAS. 2006-01-05 Guilherme de S. Pastore * NEWS: updated. * configure.in: release 2.13.4. 2006-01-05 Guilherme de S. Pastore * level.c, level.h, level-manager.c, level-private.h, main.c, main.h: modified to read the compound formula from the level files and to show them on the interface. Closes bug #312603. * level/: added formulas to all levels. 2005-12-20 Abel Cheung * configure.in: Added "fi" "mk" "ml" to ALL_LINGUAS. 2005-12-12 Guilherme de S. Pastore * NEWS: updated. * configure.in: released 2.13.3. 2005-12-06 Žygimantas Beručka * configure.in: Added Lithuanian to ALL_LINGUAS. 2005-12-01 Guilherme de S. Pastore * NEWS: updated * configure.in: released 2.13.2 2005-12-01 Guilherme de S. Pastore * src/board.c, src/main.c, src/main.h, src/undo.c: stop giving a pointer to the AtomixApp structure as argument to function calls: it only uses the stack unnecessarily, as it's a global variable. Also clean up the code a bit. 2005-12-01 Guilherme de S. Pastore * src/Makefile.am: don't fail when symbols are resolved in order (Cygwin). Thanks to yselkowitz@users.sourceforge.net. Closes bug #314130. 2005-12-01 Guilherme de S. Pastore * Makefile.am, src/Makefile.am, level/Makefile.am: fixes (actually work-arounds) to make the build process work and not break make distcheck. 2005-11-26 Guilherme de S. Pastore * gtk-clock.[ch]: replaced with a more specific implementation, only designed to suit Atomix's needs, removing bloat and lots of unnecessary overheads. * main.c: adapted for the change above. 2005-11-20 Amanpreet Singh Alam * configure.in: Add pa to ALL_LINGUAS. 2005-11-20 Kjartan Maraas * configure.in: Add nb to ALL_LINGUAS. 2005-11-17 Guilherme de S. Pastore * src/level-manager.c, src/theme-manager.c: move g_free and closedir calls to inside an if in both files, to avoid a crash in very weird environments (closes bug #321758) 2005-11-15 Guilherme de S. Pastore * level/sequence: fixed level sequence to comply with the new name of some levels. 2005-11-14 Guilherme de S. Pastore * level/Makefile.am: updated list of level files, needed due to the rename of some of them. * src/main.c: fix typo that prevented the build from happening. * NEWS: updated. * configure.in: bumped version to 1.2.4 2005-11-13 Guilherme de S. Pastore * level/: renamed Propylen to Propylene, Ethan to Ethane, Cyclo-buthane to Cyclobutane and Buthanol to Butanol (bugs #321371, #321369, #321367 and #321365, respectively). Thanks a lot for the revision, Christian Rose! 2005-09-12 Guilherme de S. Pastore * NEWS: updated * README: updated e-mail address * configure.in: released 1.2.3 2005-09-10 Guilherme de S. Pastore * src/main.c (verb_HelpAbout_cb): declare artists as const * AUTHORS, MAINTAINERS, src/main.c: updated e-mail address 2005-08-05 Guilherme de S. Pastore * src/main.c: - move from GnomeAbout to GtkAbout - set icon as default, so it can be used by child windows with no icons, and mainly by GtkAbout 2005-08-04 Guilherme de S. Pastore * src/atomix-ui.xml: use more stock icons from GTK+, partially addressing bug #312476 2005-06-26 Guilherme de S. Pastore * configure.in: release 1.2.2 2005-06-26 Guilherme de S. Pastore * atomix.desktop.in: - add encoding data - add information about bug reporting - do not hardcode the path to the icon * atomix-splash.png: removed; had been laying around even after the removal of splash screens. 2005-06-24 Guilherme de S. Pastore * Makefile.am: removed atomix-logo.png from EXTRA_DIST, it's not necessary 2005-06-23 Guilherme de S. Pastore * configure.in: changed to comply with the move to autoconf 2.52. 2005-06-20 Guilherme de S. Pastore * src/main.[ch], src/board.c, undo.c: renamed GAME_STATE_LEVEL_RUNNING to GAME_STATE_RUNNING and introduced GAME_STATE_RUNNING_UNMOVED, which means no atom has been moved yet (or, more precisely, that there's no move in the undo stack), so neither "Undo" or "Skip" should be available. Several tweaks on the code structure had to be made to allow this. 2005-06-18 Guilherme de S. Pastore * MAINTAINERS: added. * NEWS: updated (to catch up with changes since 1.1) * README: rewritten from scratch. 2005-06-17 Guilherme de S. Pastore * level/dimethylether.atomix.xml: molecule/level name is "Dimethyl Ether", not "Dymethil Ether". * level/sequence: replace "Dimethylether" with "Dimethyl Ether". * configure.in: change version to 1.2.1, due to minor post-release fix. 2005-06-17 Guilherme de S. Pastore * atomix.desktop.in, src/main.c (create_gui): use atomix-icon.png as icon. Thanks to Leonardo Pereira for creating the image. * configure.in: - don't require libglade, as we haven't been using it for a while. - bump version to 1.2 2005-06-16 Guilherme de S. Pastore * level/*.old, level/Makefile.in, level/Makefile.am: moved from old level file format to the current one, instead of converting at build-time. * src/main.c, src/level-manager.c, level/*.atomix.xml: made the name of the levels (which correspond to the name of the molecules) translatable. * level/dymethilether.atomix.xml: changed molecule name to Dymethil Ether. * level/formaldehyd.atomix.xml: renamed to Methanal, thanks to Leonardo Pereira for pointing this out. 2005-04-24 Guilherme de S. Pastore * src/main.c: replaced code to check if scores file is zero sized with a cleaner one, using stat. 2005-04-23 Guilherme de S. Pastore * src/goal-view.c, src/level-convert.c: apply patch from Andreas Jochens to fix build failures with gcc 4, and used the opportunity to clean the code up. 2005-04-09 Guilherme de S. Pastore * main.c: display a warning when trying to view scores with no or zero-sized scores file, instead of only silently ignoring it. 2005-03-21 Guilherme de S. Pastore * configure.in: bumped version to 1.1.2 2005-03-21 Guilherme de S. Pastore * src/undo.c (undo_exists): cleaned up. 2005-03-20 Guilherme de S. Pastore * src/main.c (atomix_exit): save score if game is running. * src/board.c (board_hide): hide the movement arrows, so that the user cannot move the atoms while the game is paused. (board_show): show the movement arrows, as they are now hidden by board_hide, but *only* if undo_exists returns TRUE. * src/undo.c, src/undo.h (undo_exists): created, to check if the level has just begun or not, by checking if there is something on the undo stack. 2005-03-19 Guilherme de S. Pastore * src/main.c (log_score): the name of the game is no longer translatable, as it only takes space unnecessarily on the potfiles. (verb_HelpAbout_cb): added the e-mails of the authors to the credits, and a translator credits feature. * README, atomix.desktop.in, src/board.c, src/board.h, * src/canvas_helper.c, src/canvas_helper.h, * src/goal-view.c, src/goal-view.h, src/goal.c, src/goal.h, * src/level-convert.c, src/level-manager.c, src/level-manager.h, * src/level-private.h, src/level.c, src/level.h, src/main.c, * src/main.h, src/playfield.c, src/playfield.h, src/preferences.c, * src/preferences.h, src/theme-manager.c, src/theme-manager.h, * src/theme-private.h, src/theme.c, src/theme.h, src/tile.c, * src/tile.h, src/undo.c, src/undo.h: changed all occurrences of "mind game" to "puzzle game". * Makefile.am: changed binary permissions from 2111 to 2755. 2005-03-18 Guilherme de S. Pastore * ChangeLog: fixed some broken entries. * src/: enforced GNU coding style, with some very small tweaks for better readability in specific situations. * src/level-convert.c, * src/level-manager.c, * src/main.c, * src/theme-manager.c: don't pass more than one test to g_file_test at once, it's unnecessary. * src/board.c (board_handle_item_event): fix call to return, using FALSE as value, as it's not a void-returning function. * src/main.c (main): removed call to create_user_config_dir. (create_user_config_dir): removed, since we don't want to force users to keep empty directories that might never be used. * AUTHORS, * src/main.c: added myself to the credits, since I'm the one responsible for atomix now. * src/atomix-ui.xml.in: renamed to atomix-ui.xml * src/atomix-ui.xml: added pertinent xml header * src/Makefile.am: don't merge translations into UI xml file, because libbonoboui translates it on-the-fly, and having them merged caused all the translations to be displayed on the menu. * configure.in: bumped version to 1.1 2004-08-23 Alastair McKinstry * configure.in: Added "ga" (Irish) to ALL_LINGUAS. 2004-06-06 Alexander Shopov * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS. 2004-05-12 Samúel Jón Gunnarsson * configure.in: Added "is" to ALL_LINGUAS. 2004-04-30 Adam Weinberger * configure.in: Added en_CA to ALL_LINGUAS. 2004-04-04 Gareth Owen * configure.in: Added en_GB to ALL_LINGUAS 2003-12-03 Jens Finke * configure.in: Bumped version to 1.0, removed *_DISABLE_DEPRECATED flags (to make it build with Gtk+ 2.3), added Korean translation, call AC_PROG_RANLIB. 2003-05-06 Danilo Šegan * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS. 2003-03-20 Gil "Dolfin" Osher * configure.in: Added 'he' to ALL_LINGUAS. 2003-02-22 Laurent Dhima * configure.in: Added 'sq' to ALL_LINGUAS. 2003-02-21 Roozbeh Pournader * configure.in: Added "fa" to ALL_LINGUAS. 2003-01-24 Daniel Yacob * configure.in: Added am to ALL_LINGUAS. 2002-01-07 Naba Kumar * configure.in: Added hi (hindi) in ALL_LINGUAS 2002-12-30 Fatih Demir * configure.in: Added "kn" (Kannada) to the languages' list. 2002-11-22 Dmitry G. Mastrukov * configure.in: Added Belarusian to ALL_LINGUAS. 2002-11-05 Fatih Demir * configure.in: Added "ta" (Tamil) to the languages' list. 2002-10-09 Stanislav Brabec * configure.in: Added cs to ALL_LINGUAS. 2002-07-23 Jens Finke * configure.in: Check required library versions. * NEWS: Updated. 2002-07-18 Jens Finke * src/board.c (board_handle_item_event): Check if item is moving currently. * src/main.c (verb_GamesScores_cb), (log_score): Use gnome_scores_display (get_highscore_widget): Removed. * configure.in: Bumped version to 0.9.4 2002-07-18 Jens Finke * atomix-logo.png: New file. * Makefile.am: s/splash/logo. * src/board.c (create_logo), (board_show_logo): New functions. * src/main.c (set_game_not_running_state): Show logo. (setup_level): Hide logo. (splash_destroy), (splash_button_event), (create_splash): Removed. (main): Removed splash stuff. 2002-07-18 Jens Finke * atomix.desktop.in: Made it more spec compliant. * Makefile.am: Silent install data. * src/Makefile.am: Removed install data. 2002-06-21 Andras Timar * configure.in: Added "hu" to ALL_LINGUAS. 2002-05-29 Jens Finke * src/main.c (create_gui): Supply DATADIR to bonobo_ui_util_get_ui_fname to find the ui description even if the prefix is different from the gnome installation path. 2002-05-17 Jens Finke * NEWS: Updated. 2002-05-15 Jens Finke * configure.in: Bumped version to 0.9.3. 2002-05-15 Jens Finke * src/board.c: (create_message): Removed. (create_background_floor): New function. (board_init): No more message items. Call create_background_floor. (board_init_level): Removed message_items handling. (board_render): Render one more row/col for shadow layer, use affine translation to center playfield. (render_tile): Don't render floor tiles anymore. (board_view_message): Removed. (board_hide_message): Removed. (get_item_by_row_col): Use affine transformation to obtain item. (get_row_col_by_item): Added check for canvas item object. (board_handle_key_event): Check if item data "tile" is NULL. (selector_move_to): Use affine absolute transformation. (selector_destroy): Removed. (selector_create): Use level_items->level as parent group for cursor and arrows. (create_message): Removed. * goal.c (goal_reached): Check if start_row/start_col are valid positions. (compare_playfield_with_goal): Ensure that end_row/end_col is always a valid playfield position. * level-convert.c (convert_environment): Set only non NULL tiles. (update_tile): Ignore floor tiles and use NULL for them. (save_environment): Write only tiles which are non NULL. * main.c (atomix_exit): #ifdef'd debug output. (create_splash): Center splash on screen. * playfield.c (convert_wall_tiles): Return NULL for floor tiles. (playfield_generate_shadow): Ensure row/col are not larger than playfield. * theme.c (theme_apply_decoration): Check for tile == NULL. 2002-05-05 Gustavo Maciel Dias Vieira * configure.in (ALL_LINGUAS): Added pt_BR. 2002-04-29 Pablo Saratxaga * configure.in: Added "vi" to ALL_LINGUAS. 2002-04-29 Jens Finke * level/aceticacid.old, * level/acetone.old, * level/buthanol.old, * level/cyclo-buthane.old, * level/dimethylether.old, * level/ethan.old, * level/ethanal.old, * level/ethanol.old, * level/ethylene.old, * level/formaldehyd.old, * level/glycerin.old, * level/lactic-acid.old, * level/propanal.old, * level/propylen.old, * level/pyran.old, * level/transbutylen.old: New files. * level/sequence: Added new files. 2002-04-29 Jens Finke * src/Makefile.am (INCLUDES): Removed -DDEBUG flag. * src/goal-view.c (create_small_item): Use g_object_unref to free pixbuf. * src/tile.c: * src/level-convert.c: s/g_strcasecmp/g_ascii_strcasecmp * src/goal.c (goal_finalize): * src/level_manager.c (add_level): * src/playfield.c (playfield_finalize): * src/theme-manager.c (add_theme): * src/theme.c (theme_finalize), (create_sub_images): Guard debug messages with #ifdef DEBUG. 2002-04-26 Jens Finke * acconfig.h, * src/Makefile.am, * configure.in: Added EXTRA_WARNING_CFLAGS. * src/board.[ch], src/level_manager.c, src/main.c, src/playfield.c, src/theme-manager.c, src/theme.c: Removed deprecated Gtk/Gnome function calls. 2002-04-19 Pablo Saratxaga * configure.in: Added "ca" and "wa" to ALL_LINGUAS. 2002-04-11 Takeshi Aihana * configure.in: Added ja to ALL_LINGUAS. 2002-03-22 T?µivo Leedj?¤rv * configure.in: Added et to ALL_LINGUAS. 2002-02-27 Jens Finke This patch enables the concurrent usage of mouse and keyboard for atom movements. * src/board.c (get_row_col_by_item), (selector_show), (board_handle_arrow_event), (board_handle_item_event): New functions. (board_handle_key_event): Set mouse steering flag to false and show selector item explicitly. (selector_unselect): Show selector only if keyboard is used. (selector_arrows_show): Show arrows immediately if user uses mouse. (selector_create): Connect to arrow item event signal. (create_tile): Connect to item event signal, if its an atom tile. 2002-02-19 Simos Xenitellis * configure.in: Added "el" (Greek) to ALL_LINGUAS. 2002-02-17 Jens Finke * src/main.c (verb_HelpAbout_cb): Mark the strings in the about dialog as translatable. 2002-02-16 Jens Finke * atomix.desktop.in: New file. * Makefile.am: Install desktop file and setup scores. (EXTRA_DIST): Added atomix.desktop.in file * level/Makefile.am (EXTRA_DIST): Added sequence file. 2002-02-12 Jens Finke * configure.in: bumped version to 0.9.2 2002-02-12 Jens Finke * themes/default/arrow-left.png, * themes/default/arrow-top.png, * themes/default/arrow-right.png, * themes/default/arrow-bottom.png: Replaced dummy arrow icons with better ones. 2002-02-12 Jens Finke * themes/default/atom-o.png, * themes/default/atom-h.png, * themes/default/atom-c.png: Changed color to 0.4.x version style. 2002-02-11 Jens Finke * src/playfield.c (wall_map): Replaced default strings with "wall-horizontal-[left|right]-end". * themes/default/wall-horizontal-bottomx.png, * themes/default/wall-horizontal-topx.png, * themes/default/wall-single.png: Updated files. * themes/default/wall-horizontal-left-end.png, * themes/default/wall-horizontal-right-end.png: New files. * themes/default/theme, * themes/default/Makefile.am (THEME): Added new files. 2002-02-11 Jens Finke * src/theme.c: s/GDK_INTERP_BILINEAR/GDK_INTERP_LINEAR needed to make the alpha handling working again (!?). 2002-01-24 Jens Finke * src/Makefile.am (pf_test_SOURCES), (level_convert_SOURCES): Both need theme.[ch] now. * src/board.c (board_init_level): Submitt theme to playfield_generate_environment. * src/playfield.[ch] (playfield_generate_environment): Add some random decorations to basic wall/floor tiles. * src/theme-manager.c (load_theme): Handle decor node. (handle_tile_decor_node): New function. * src/theme-private.h (theme_add_image): Return id of added image. (theme_add_image_decoration): New function. * src/theme.[ch] (destroy_theme_image): Free decoration list. (theme_apply_decoration): New function. (theme_add_image): Return id of added image, initialize decoration list. (theme_add_image_decoration): New function. * themes/default/theme: Added decoration images. * themes/default/decor-fence.png|decor-holes.png|decor-liquid.png: New files. Test icons for decorations. 2002-01-23 Jens Finke * src/board.c (board_init), (board_init_level), (board_render), (render_tile), (board_clear): Consider new shadow layer. It's located above all other items, so that the atoms can now move into the shadow of a wall. Looks rather cool. * src/level-convert.c (convert_environment): Don't create tile neigbour map anymore. (update_tile): Simplified this method. Most of this will be done dynamically at runtime now. (create_tile_env), (get_env_tile_type): Removed functions. * src/playfield.[ch] (setup_translation_map), (get_env_tile_type), (create_tile_env), (convert_wall_tiles), (convert_shadow_tiles): New helper functions. (playfield_generate_environment), (playfield_generate_shadow): The functionality which was in level-convert.c before is now done dynamically at runtime with these new functions. * src/theme.c (get_theme_image_pixbuf): Transform image if there has been an additional alpha value specified for it. (create_sub_images): Don't care for alpha value here. * src/tile.h: Added new TileType TILE_TYPE_SHADOW. 2002-01-23 Jens Finke * themes/default/ChangeLog, src/ChangeLog: Removed and merged them with this ChangeLog. 2002-01-23 Jens Finke * themes/default/arrow-*.png, floor.png: Oops, forgot to re-add these icons. 2002-01-23 Jens Finke * themes/default/shadow-*.png: Replaced them with Jakub's dark original versions. * themes/default/theme: Set alpha value for the shadow images to 77. 2002-01-23 Jens Finke * themes/default/theme: Use only icon tag to register image files. 2002-01-23 Jens Finke * src/theme-manager.c (handle_title_icon_node): Assure alpha value is in the range [0,255]. * src/theme.c (create_sub_images): Apply alpha value on icon as specified in the theme. This way shadows are easier to create. 2002-01-23 Jens Finke * src/level-convert.c: (old_level_load_xml_file), (old_tile_load_xml), (calculate_translation_quark), (update_tile) (save_tile), (main): Translate old id based scheme to new GQuark based identification of icons. * src/theme-manager.c (load_theme): Handle 'icon' node, removed 'floor', 'atom', 'wall' and 'selector' handler. (handle_tile_icon_node): New function. (handle_tile_type_node), (handle_selector_node): Removed. * src/theme.c (theme_add_sub_image), (theme_add_sub_image_with_id), (theme_add_base_image), (add_theme_image_to_hashtable), (theme_add_base_image_with_id): Removed. (theme_add_image): New function. (theme_init), (theme_finalize), (get_theme_image_pixbuf), (create_sub_images), (theme_get_tile_image), (theme_get_selector_image), (theme_get_selector_images): Update to new GQuark based image identification. * src/tile.[ch] (tile_copy), (tile_get_base_id), (tile_add_sub_id), (tile_remove_sub_id), (tile_remove_all_sub_ids), (tile_set_base_id) (tile_new_from_xml), (tile_save_xml): Update to new GQuark based image identification. 2002-01-23 Jens Finke * level/Makefile.am: Set CLEANFILES variable. 2002-01-22 Jens Finke * themes/default/*.png: Renamed icons to new naming scheme, added wall-single.png wall-horizontal-bottomx.png, wall-horizontal-topx.png, wall-vertical-leftx.png wall-vertical-rightx.png. * themes/default/theme: Updated to new file naming scheme and added new files. 2002-01-22 Jens Finke * src/level-convert.c (update_tile): Consider new wall images during tile conversion. 2002-01-22 Jens Finke * level/Makefile.am: Create atomix level at compiltime with the latest ../src/level-convert program. * level/*.atomix: Removed all those files. Added *.old files instead which contain the level description from the gnome 1.4 release. Note: This will be a temporary solution. * .cvsignore: Added *.atomix. 2002-01-21 Wang Jian * configure.in(ALL_LINGUAS): Added zh_CN for Simplified Chinese. 2002-01-21 Jens Finke * src/main.c (verb_HelpAbout_cb): Updated about information. Don't force about window to a certain size. 2002-01-19 Hasbullah Bin Pit * configure.ini: Added Malay (ms)to ALL_LINGUAS. * po/ms.po: Added Malay Malay Translation by Mohamad Afifi Omar (App) 2001-12-12 Stanislav Visnovsky * configure.in: Added "sk" to ALL_LINGUAS. * po/sk.po: Added Slovak translation. 2001-12-10 Jens Finke * Released version 0.9.1 2001-12-09 Jens Finke * src/Makefile.am (INCLUDES): Removed ../intl dir from path. Use intltool to generate atomix-ui.xml from atomix-ui.xml.in. * src/atomix-ui.xml: Renamed to atomix-ui.xml.in * src/main.c: Include config.h (main): Set textdomain codeset to UTF-8. 2001-12-09 Jens Finke * src/Makefile.am (uidir): Install atomix-ui.xml in $(datadir)/gnome-2.0/ui. * src/main.c (create_gui): Use bonobo_ui_util_get_ui_fname to obtain ui xml path. (create_splash): Removed debug message. 2001-12-09 Jens Finke * Makefile.am (EXTRA_DIST): Added intl-tool-*.in files. * NEWS: Updated. 2001-12-09 Jens Finke * configure.in: Call AC_PROG_INTLTOOL. 2001-12-03 Jens Finke * src/atomix-ui.xml: Hide 'edit' menu for now. * src/main.c (verb_GameScores_cb): Show highscores again. (verb_HelpAbout_cb): Show about dialog. (controller_handle_action): Log score if the user ends the game and when he finished the last level. (log_score), (get_highscore_widget): New functions. (save_score): Removed function. 2001-12-02 Jens Finke * src/util.[ch]: Removed files. * src/canvas_helper.[ch]: Removed canvas_map stuff. 2001-12-02 Jens Finke * src/main.c (create_gui): Use g_signal_connect. (splash_destroy), (splash_button_event), (create_splash): New functions for splash screen handling. (main): Create splash screen. 2001-12-02 Jens Finke * src/board.c (board_init_level): Ref goal object. (board_clear): Unref goal object. * src/main.c: Rewrote the control flow handling. There is now a central function (controller_handle_action) which takes care of all the game state changes and need actions. Lot's of code could be removed because of this simplification. (calculate_score): New function. (update_player_info): Renamed to update_statistics. 2001-12-02 Jens Finke * src/Makefile.am (atomix_SOURCES): Added gtk-clock.[ch]. * src/gtk-clock.[ch]: New files. * src/gtk-time-limit.[ch]: Removed files. * src/main.c (get_app): Removed function. (game_init): Initialize the clock format. (game_prepare_level): Set clock to 0 seconds and start it. (game_level_timeout): Removed function. (game_bonus_level_timeout): Removed function. (game_level_finished): Stop clock and set to 0 seconds. (game_pause): Stop clock. (game_continue): Start clock. (add_statistics_table_entry): New utility function. (create_mainwin_content): Use add_statistics_table_entry. 2001-12-02 Jens Finke * Makefile.am (EXTRA_DIST), (splash_DATA): Added atomix-splash.png image. * configure.in: Bumped version to 0.9.1. * atomix-splash.png: New file. 2001-12-01 Jens Finke * src/atomix.h: Removed file. 2001-12-01 Jens Finke * src/atomix-ui.xml: Added more command shortcuts. Added 'Reset level' menu item. * src/undo.[ch]: Rewrote this. Stores unlimited moves in a stack like datastructure now. * src/board.c: Adapted to new undo design. (move_item_anim): Select item only if it was also selected before the animation. * src/main.c (verb_GameReset_cb): New callback function. (game_init): Don't connect to main window key press event. This enables the shortcuts again. (game_new): Grab focus for canvas widget. (create_mainwin_content): Connect key handler to playfield canvas key event. 2001-11-30 Yuriy Syrota * configure.in: Added uk (Ukrainian) to ALL_LINGUAS. 2001-11-30 Jens Finke * themes/default/Makefile.am (THEME): Added arrow-*.png files. 2001-11-30 Jens Finke * themes/default/theme: New format for selector specification. * themes/default/arrow-left.png, arrow-right.png, arrow-top.png, arrow-bottom.png: New files 2001-11-30 Jens Finke * src/board.c (board_init_level): Show atom items explicitely. * src/level_manager.c: Removed debug messages. (add_level): Made remaining output messages translateable. * src/main.c (create_user_config_dir): Rewrote function. (create_mainwin_content): Removed debug messages. (create_gui): Check existance of ui xml file. (main): Increased main window size. * src/theme-manager.c: Removed debug messages. 2001-11-30 Jens Finke * src/goal-view.[ch] (clear_view): Renamed to goal_view_clear and made it a public function. * src/main.c (game_prepare_level): Clear goal view. (game_clean_up): Clear goal view. 2001-11-30 Jens Finke * src/board.c (board_init): Create selector only once here not for every level initialization. (board_init_level): Place selector in the middle of the playfield. (board_destroy): Call selector_destroy. (board_undo_move): Hide selector during move. (board_clear): Just hide the selector, don't destroy it. (board_set_keyboard_control): Removed function. (move_item): Hide selector during atom move. (move_item_anim): Update status of selector after moving. (selector_move_to): Move the selector arrows too. (selector_unselect): Hide selector arrows. (selector_arrows_hide), (selector_hide), (show_arrow_group), (selector_arrows_show), (selector_destroy): New functions. Indicate possible atom directions through arrows. (selector_select): Show arrows. (selector_create): Create arrow canvas items too. * src/board.h (board_set_mouse_control), (board_set_keyboard_control): Removed declarations. * src/theme-manager.c (handle_selector_node): New function. (theme_manager_get_theme): Don't free theme_dir variable. (load_theme): Call handle_selector_node on 'selector' node. * src/theme-private.h (theme_set_selector_arrow_image): New declaration. * src/theme.[ch] (theme_get_selector_arrow_images): New function. (theme_set_selector_arrow_image): New function. 2001-11-29 German Poo-Caaman~o * configure.in: Added es (Spanish) to ALL_LINGUAS. 2001-11-28 Jens Finke * src/main.c (create_gui): Use new bonobo_ui_util_set_ui signature. Should be compilable now with the upcoming Gnome 2.0 beta version. 2001-11-27 Jesus Bravo Alvarez * configure.in: Added gl (Galician) to ALL_LINGUAS. 2001-11-27 Jens Finke * src/Makefile.am (atomix_SOURCES): Removed global.h. (libatomix_a_SOURCES): Added level-private.h. (EXTRA_DIST): Added atomix-ui.xml. * src/board.c (board_render): Don't print playfield layout. 2001-11-27 Jens Finke * configure.in: Bumped version to 0.9.0 2001-11-25 Jens Finke * src/Makefile.am: Install atomix-ui.xml file in $(pkgdatadir)/ui. Don't create score file at install time. * src/level-manager.c (level_manager_init_levels): Look for the level sequence description in the global atomix datadir too. Don't use '/' in g_build_filename function. * src/main.c (create_gui): Look for ui file in global datadir. * src/theme-manager.c (theme_manager_init_themes): Don't use '/' in g_build_filename. 2001-11-25 Jens Finke * src/board.c (selector_new): Add selector item to list of board canvas items. * src/main.c (game_skip_level): Increase level number. 2001-11-25 Jens Finke * src/board.c (board_render): Center the playfield correctly. * src/level-manager.c (add_level): No newline after debug output. * src/theme-manager.c (add_theme): No newline after debug output. * src/main.c (create_canvas_widget): Don't create scrolled window around gnome canvas. (main): Set initial size of main window to 620/420. 2001-11-25 Jens Finke * Makefile.am (SUBDIRS): Added level and themes dir. * configure.in: Generate Makefiles in level and themes dir. 2001-11-22 Jens Finke This is the first time after the GNOME 2.0 port that you can play atomix again. Well, theoretically. I must add the themes and levels to CVS yet. * src/board.c (move_item): The calculation of the item pixel position is somehow wrong. Added an ugly hack to correct this. Simplified control flow. * src/goal.c: Big changes here. With the new tile.[ch] design we can't use a hashtable as goal index anymore. There is now a gslist, which shouldn't be a performance hit since it stores only a couple of atom infos. (find_tile): New function, for searching in the list. (destroy_hash_value), (print_hash_table), (goal_print): removed functions. * src/main.c (game_prepare_level): Initialize the goal again. (game_level_finished): This uses the globale instance of AtomixApp now. This should be fixed. * src/tile.c (tile_finalize): Removed debug output. 2001-11-21 Jens Finke * src/board.c: Reworked this completely. Removed all the mouse handling stuff and the need for the canvas_map_* functions. Cleaned up the code. * src/main.c (on_key_press_event): New key press handler. (game_init): Register key event handler. (game_prepare_level): Don't free goal_pf. (game_level_timeout): Don't call board_show_normal_cursor. (game_level_finished): dito. 2001-11-21 Abel Cheung * configure.in: Added zh_TW to ALL_LINGUAS. 2001-11-20 Jens Finke * src/.cvsignore: Added level-convert and pf-test. 2001-11-20 Jens Finke * src/Checked huge page in. There are three major tile types now: ATOM, WALL and FLOOR. Each tile has a base image which may have overlay and underlay images too. Level descriptions consist of three parts now: environment, scenario and goal. These changes affects nearly all files. * src/level-convert.c: New file, converts levels from the 0.4.3 format to the new format. * src/pf-test.c: New file, checks functions of the playfield data type.. * src/Makefile.am (noinst_PROGRAMS): Added programs level-convert and pf-test. 2001-11-15 Jens Finke * src/goal-view.c (create_small_item): Scale the pixbuf with gdk_pixbuf_scale_simple. * src/main.c (create_canvas_widget): Create an aa canvas. 2001-11-14 Jens Finke * src/board.c (board_render): Use playfield_get_n_cols when iterating over the columns. * src/goal-view.c (clear_view): Check if item_group is != NULL. * src/level-manager.c (create_level_sequence): Added dummy handler for 'text' tag. (load_level): Added dummy handler for 'text' tag. Print just a message about unknown tag not a warning. * src/playfield.c (playfield_new_from_xml): Added dummy handler for 'text' tag. * src/theme-manager.c (load_theme), (handle_link_image_node), (handle_base_image_node): Added dummy handler for 'text' tag. * src/tile.c (tile_new_from_xml): Added dummy handler for 'text' tag. 2001-11-14 Jens Finke * src/level-private.h: Forgot to add this. So here it is. 2001-11-14 Jens Finke * src/board.c (board_render): Check for tile == NULL. * src/goal.c (destroy_hash_value): Use g_slist_free to free the list. * src/level-manager.c (level_manager_init_levels): Look in ~/.atomix/levels/ for 'sequence' file for now. (search_level_in_dir): Skip the dirs '.' and '..' correctly as well as the 'sequence' file. Use g_build_filename with NULL as last argument. (level_manager_get_next_level): Number of levels > 0 isn't an assertion anymore, but will be checked with a normal if statement. Get the filename from the hash table not the sequence list. (load_level): For a 'goal' node skip all other child nodes than 'playfield'. * src/main.c (game_user_quits): Use gtk_widget_destroy to free the dialog. Check user response against GTK_RESPONSE_YES. (game_finished): Use gtk_widget_destroy to free the dialog. * src/theme.c (get_theme_image_pixbuf): Ref every pixbuf before returning. 2001-11-14 Jens Finke * src/Makefile.am: Added playfield test program 'pf-test'. (atomix_SOURCES): Added goal-view.[ch], removed callbacks.[ch], preferences.[ch]. (libatomix_a_SOURCES): Added level-manager.[ch] * src/board.[ch]: Reworked this, so that it works with the other new classes. * src/goal-view.[ch]: New files. * src/goal.[ch]: Reworked this. It is now a seperate class with all the gui stuff moved to goal-view.[ch]. * src/callbacks.[ch]: Removed files. * src/canvas_helper.[ch]: Removed the non ref functions and removed the function name suffix _ref from the rest. * src/level-manager.[ch] (level_manager_is_last_level): New function. (level_manager_get_next_level): Use the filname from the successor of the search result. * src/level.c (level_get_playfield): Ref the outgoing playfield reference. (level_get_goal): dito. * src/level.h (level_get_type): Moved here from level-private.h. * src/main.[ch]: Reworked this and removed some of the functionality for now. It's more clean and structured now. Contains all the callbacks too. * src/theme-manager.c (handle_base_image_node): Ignore non bimage xml nodes. (handle_link_image_node): Ignore non limage xml nodes. * src/theme.h (theme_get_type): Moved here from theme-private.h. * src/theme.c (theme_finalize): Don't iterate through the hash table to free objects. (theme_new): Provide destroy method for hash data with g_hash_table_new_full. * src/util.c: Commented out all the functionality for now. We havn't a statusbar yet. * src/global.h: Removed file. 2001-11-13 Jens Finke * src/level-manager.[ch]: New files. * src/level.[ch]: Reworked these files, moved a lot of the general level handling to level-manager.[ch]. * src/playfield.[ch] (playfield_get_type): Fixed class type. (playfield_new_from_xml): New function. * src/theme-manager.c (theme_manager_init): Provide destroy functions for hash table key and value objects. (destroy_theme_item): Removed. (load_theme): Create theme after xml document creation. * src/theme.c (theme_get_type): Fixed class type. * src/tile.[ch] (tile_new_from_xml): New function. 2001-11-12 Jens Finke * src/goal.[ch]: Reworked these files. * src/main.[ch] (get_app): Added this function again temporary. * src/playfield.[ch] (playfield_get_n_rows), (playfield_get_n_cols): New functions. * src/tile.[ch]: Added link_id_value attribute, which defines the attached links as one single integer value. (tile_init), (tile_copy), (tile_add_link), (tile_remove_link), (tile_remove_all_links): Update link_id_value. (tile_is_equal): New function, compares two tiles. (tile_get_hash_value): New function, returns a single value, which identifies a tile uniquely. (tile_print): Made the output better fitting into playfield_print. 2001-11-12 Jens Finke * src/playfield.[ch]: Rewrote this, uses glib object system now. 2001-11-12 Jens Finke * src/theme-manager.c (theme_manager_init), (search_themes_in_dir), (load_theme): Removed unneeded variables. (string_to_tile_link): Initialize link with TILE_LINK_LAST. * src/theme.[ch] (theme_get_name), (theme_get_animstep): New functions. 2001-11-12 Jens Finke * src/board.c: Adaptions to make it work with the new tile.[ch]. (create_obstacle), (create_moveable), (create_item): Removed deprecated functions. (create_tile): New function, which uses the new theme interface. * src/callbacks.c (atomix_exit): Use g_object_unref to free the theme. * src/main.[ch]: Adaptions to the new theme[-manager] interface. * src/tile.c (tile_has_link): Return always false on TILE_LINK_LAST. 2001-11-12 Jens Finke * src/ChangeLog: New ChangeLog for all changes in the src dir. 2001-11-12 Jens Finke * src/theme.[ch]: Rewrote this. Adapted it to changes in tile.[ch]. * src/theme-manager.[ch]: New files. Handle all the managing stuff regarding to themes. * src/theme-private.h: New file, contains the private attributes and functions of a theme. * Makefile.am (SOURCES): Added theme-manager.[ch] and theme-private.h. (INCLUDES): Addded -Wall compiler option. 2001-11-12 Carlos Perell?³ Mar?­n * configure.in: Added the new locales from GNOME 1.4 version. 2001-11-11 Jens Finke * src/tile.[ch]: Rewrote this completely. There is a better handling of the available atom links. 2001-11-10 Jens Finke * Initial import to gnome cvs repository. atomix-3.19.4/MAINTAINERS000066400000000000000000000001031264725221400146050ustar00rootroot00000000000000Guilherme de S. Pastore Email: gpastore@gnome.org Userid: gpastore atomix-3.19.4/Makefile.am000066400000000000000000000003621264725221400151530ustar00rootroot00000000000000ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} SUBDIRS = po src data EXTRA_DIST = \ intltool-extract.in \ intltool-merge.in \ intltool-update.in DISTCLEANFILES = \ intltool-extract \ intltool-merge \ intltool-update atomix-3.19.4/NEWS000066400000000000000000000234441264725221400136240ustar00rootroot000000000000002016-01-18: Release versions 3.19.4 * New and updated translations - cs, courtesy of Marek Černocký - de, courtesy of Mario Blättermann - es, courtesy of Daniel Mustieles - pl, courtesy of Piotr Drąg - sr, courtesy of Мирослав Николић - sr@latin, courtesy of Miroslav Nikolić - tr, courtesy of Muhammet Kara * Added scalable icon (bug #746471) * Use new icon and GtkApplication (bug #742871) * Single-instance application * Remove window border * Register window actions * Fixed autogen deprecation warnings 2015-12-14: Release version 3.19.3 * New and updated translations - cs, courtesy of Marek Černocký - de, courtesy of Wolfgang Stoeggl - es, courtesy of Daniel Mustieles - pl, courtesy of Piotr Drąg - pt, courtesy of Pedro Albuquerque 2015-11-23: Release version 3.19.2 * New and updated translations - fi, courtesy of Jiri Grönroos - sk, courtesy of Dušan Kazik * Show gameplay tips (bug #587868) 2015-09-21: Release version 3.18.0 2015-09-14: Release version 3.17.92 * New and updated translations - pl, courtesy of Piotr Drąg 2015-08-31: Release version 3.17.91 * New and updated translations - el, courtesy of Tom Tryfonidis - es, courtesy of Daniel Mustieles - he, courtesy of Yosef Or Boczko - pt, courtesy of Pedro Albuquerque * Fixed about dialog not showing close button (Olav Vitters) * Website on about dialog should not be translatable (Piotr Drąg) 2015-08-17: Release version 3.17.90 * New and updated translations - ca, courtesy of Jordi Mas - lt, courtesy of Mantas Kriaučiūnas - oc, courtesy of Cédric Valmary (Tot en Òc) - pt, courtesy of Pedro Albuquerque - ru, courtesy of Yuri Myasoedov - tr, courtesy of Kaan Özdinçer 2015-03-23: Release version 3.16.0 * Fixed licensing mistake in appdata (bug #746473) 2015-03-16: Release version 3.15.92 * New and updated translations - bs, courtesy of Samir Ribic - sv, courtesy of Anders Jonsson - lt, courtesy of Mantas Kriaučiūnas 2015-03-02: Release version 3.15.91 * New and updated translations - es, courtesy of Daniel Mustieles - he, courtesy of Yosef Or Boczko - hu, courtesy of Balázs Úr - pt_BR, courtesy of Rafael Ferreira 2015-01-15: Release version 3.15.4 * Fixed obsolete FSF address (bug #721542) * Fixed build problem (bug #711056) * Ported to GTK3 (bug #742827) * Added appstream XML (bug #742886) * Updated desktop file (bug #711056) * Miscapitalized menu items (bug #711056) * About dialog does not close (bug #336524) * Updated website (bug #381360) * Level completion detection fixed (bug #544762) * Removed heavy overlinking (bug #596094) * New and updated translations - af, courtesy of F Wolff - ar, courtesy of Djihed Afifi - be, courtesy of Ihar Hrachyshka - bg, courtesy of Alexander Shopov - bn, courtesy of Progga - ca, courtesy of Jordi Mas - cs, courtesy of Marek Černocký - da, courtesy of Joe Hansen - de, courtesy of Mario Blättermann - dz, courtesy of sonam pelden - el, courtesy of Athanasios Lefteris - en_GB, courtesy of Bruce Cowan - eo, courtesy of Kristjan SCHMIDT - es, courtesy of Jorge González - eu, courtesy of Iñaki Larrañaga Murgoitio - fr, courtesy of Claude Paroz - gl, courtesy of Fran Dieguez - he, courtesy of Yaron Shahrabani - hu, courtesy of Gabor Kelemen - id, courtesy of Andika Triwidada - it, courtesy of Paolo Sammicheli - lt, courtesy of Aurimas Černius - lv, courtesy of Rūdofls Mazurs - mk, courtesy of Arangel Angov - ms, courtesy of Hasbullah Bin Pit - oc, courtesy of Yannig Marchegay (Kokoyaya) - pl, courtesy of Piotr Drąg - pt_BR, courtesy of Gabriel F. Vilar - ro, courtesy of Nicolae Antonio - ru, courtesy of Yuri Myasoedov - sk, courtesy of Marcel Telka - sl, courtesy of Matej Urbančič - sr, courtesy of Мирослав Николић - sr@latin, courtesy of Miroslav Nikolić - sv, courtesy of Daniel Nylander - th, courtesy of Neutron Soutmun - tr, courtesy of Muhammet Kara - zh_CN, courtesy of Wang Li 2006-03-11: Released version 2.14.0 * Fixed list of categories (bug #329319) * Update and cleanup of the build system (bug #327130) * New and updated translations: - Albanian [Laurent Dhima] - Belarusian [Ales Nyakhaychyk] - Bulgarian [Alexander Shopov] - Canadian English [Adam Weinberger] - Chinese (Hong Kong) [Abel Cheung] - Chinese (Taiwan) [Abel Cheung] - Czech [Lukas Novotny] - Dutch [Tino Meinen] - Estonian [Ivar Smolin] - Finnish [Ilkka Tuohela] - Galician [Ignacio Casal Quinteiro] - Georgian [Gia Shervashidze] - German [Hendrik Brandt] - Gujarati [Ankit Patel] - Hungarian [Gabor Kelemen] - Japanese [Takeshi AIHANA] - Norwegian [Kjartan Maraas] - Norwegian (bokmål) [Kjartan Maraas] - Russian [Valek Filippov] - Serbian [Slobodan D. Sredojevic] - Spanish [Francisco Javier F. Serrador] - Vietnamese [Clytie Siddall] 2006-01-05: Released version 2.13.4 * Include formulas of all compounds in the interface * Actually install Finnish, Macedonian and Malayalam translations * Updated translations: - Brazilian Portuguese [Guilherme de S. Pastore] - Serbian [Slobodan D. Sredojevic] - Tradicional Chinese [Abel Cheung] - Vietnamese [Clytie Siddall] 2005-12-12: Released version 2.13.3 * Updated translations: - Dutch [Vincent van Adrighem] - Gujarati [Ankit Patel] - Lithuanian [Žygimantas Beručka] - Norwegian bokmål [Kjartan Maraas] 2005-12-01: Released version 2.13.2 * Bumped version number to catch up with the GNOME release it is targettin * Fixes build on Cygwin * Fixes several bugs in the last release * Atomix now uses less CPU time and features greatly reduced memory consumption * Updated translations: - Albanian [Laurent Dhima] - Bulgarian [Alexander Shopov] - Canadian English [Adam Weinberger] - Estonian [Ivar Smolin] - Japanese [Takeshi AIHANA] - Norwegian (bokmål) [Kjartan Maraas] - Punjabi [Amanpreet Singh Alam] - Slovak [Marcel Telka] 2005-11-14: Released version 1.2.4 * Not many news, but great ones will follow * Fixes the names of some levels, thanks to Christian Rose! * Updated translations: - Brazilian Portuguese [Guilherme de S. Pastore] - Finnish [Ilkka Tuohela] - Galician [Ignacio Casal Quinteiro] - Slovak [Marcel Telka] - Spanish [Francisco Javier F. Serrador] 2005-09-12: Released version 1.2.3 * Fixes some bugs * Brings up-to-date documentation * Integrates better with the environment, mainly by making more use of GTK+ stock icons and the new default GtkAbout 2005-06-26: Released version 1.2.2 * Build and installation improvements * Better desktop integration through the .desktop file * Usability improvements, by disabling menu items at times they cannot be used 2005-06-17: Released version 1.2.1 * Builds with GCC 4.0. * Doesn't require libglade to build. * Provides an icon, both for the window and the menu. * Greatly improved internationalization, by allowing the translation of molecule names. * Tries not to silently ignore the user when no action can be taken (e.g. viewing scores when no scores were achieved). * Changes commercial namings of molecules to their original (correct?) names, such as Formaldehyd being renamed to Methanal. * Finally moved to the new level file format, instead of converting old formats at build-time. That also means level-convert is likely to die pretty soon. 2005-03-21: Released version 1.1.2 * Saves score if the application is closed but a game is running. * Hide the movement arrows when the atoms are hidden, namely during a game pause (and, therefore, prevent them from moving). * General improvements. 2005-03-18: Released version 1.1 * New maintainer (Atomix is now developed by another person) * Fixes the bug that made all the translations available be displayed on the main application menu at the same time, making the game pretty unusable for non-English speakers. * Doesn't force the existance of an .atomix directory in the users' home directories, although it will still work if the users want and have one. * General code improvements. 2003-12-03: Released version 1.0 * Build fixes (Gtk+ & ranlib) * New and updated translations: Christophe Merlet (fr), Stanislav Brabec (cs), Fatih Demir (ta), Dmitry G. Mastrukov (be), Pablo Saratxaga (wa), Naba Kumar (hi), Tatiana Gutierrez Bunster (es), Daniel Yacob (am), Roozbeh Pournader (fa), Laurent Dhima (sq), Metin Amiroff (az), Gil "Dolfin" Osher (he), Danilo Å egan (sr, sr@Latn), Alessio Frusciante (it), Abel Cheung (ta),Vincent van Adrighem (nl), Andras Timar (hu), Álvaro Peña González (es), Young nskystars-goo (ko). 2002-07-23: Released version 0.9.4 * installable in different prefix than rest of gnome * .desktop clean ups * score fixes * nice logo at startup 2002-05-17: Released version 0.9.3 * more levels (19 now) * concurrent mouse and keyboard steering * no more deprecated Gnome2 API calls * (a lot!) translation updates 2002-02-17: Released version 0.9.2 2001-12-10: Released version 0.9.1 * time counting * score counting and saving * arrows showing the possible movements of selected atoms * improved undo functionality * splash screen * about dialog * more shortcuts * code cleanup * translations work now * more/updated translations * bug fixes 2001-11-27: Released version 0.9.0. * initial GNOME 2.0 port release atomix-3.19.4/README000066400000000000000000000017701264725221400140030ustar00rootroot00000000000000Atomix is a puzzle game in which you have to build full molecules, from simple inorganic ones in the first levels to extremely complex organic ones in the last levels, out of isolated atoms, which are laying around among walls and other obstacles on the playfield. Once you push an atom in a certain direction, it will move until it hits something that makes it stop, which could be a wall or another atom. This behaviour is exactly what makes playing it not trivial and, therefore, fun, as you need to think quite a lot about how to have your molecule organized. For compilation and installation instructions, see the notes in the INSTALL file. As for latest releases, they are always available on the GNOME official FTP site: http://ftp.gnome.org/pub/GNOME/sources/atomix/ If you find any bugs or have any kind of feature requests, please, let me know by reporting them on the GNOME bugzilla, either by using bug-buddy or by visiting http://bugzilla.gnome.org. -- Guilherme de S. Pastore gpastore@gnome.org atomix-3.19.4/atomix.doap000066400000000000000000000025371264725221400152730ustar00rootroot00000000000000 atomix Build molecules out of single atoms Mind game - build molecules out of single atoms C Guilherme de S. Pastore gpastore Robert Roth robertroth atomix-3.19.4/autogen.sh000077500000000000000000000007131264725221400151200ustar00rootroot00000000000000#!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -z "$srcdir" && srcdir=. (test -f $srcdir/configure.ac \ && test -f $srcdir/ChangeLog \ && test -f $srcdir/src/level.h) || { echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" echo " top-level Atomix directory" exit 1 } which gnome-autogen.sh || { echo "You need to install gnome-common package" exit 1 } . gnome-autogen.sh atomix-3.19.4/configure.ac000066400000000000000000000023741264725221400154120ustar00rootroot00000000000000AC_PREREQ([2.63]) AC_INIT([atomix],[3.19.4],[http://bugzilla.gnome.org/enter_bug.cgi?product=atomix]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.10 foreign no-dist-gzip dist-xz]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) # Check for programs AC_PROG_CC AC_PROG_RANLIB APPSTREAM_XML GNOME_COMPILE_WARNINGS([maximum]) GNOME_MAINTAINER_MODE_DEFINES dnl ================= Requirements ======================= LIBGTK_REQUIRED=3.10.0 GLIB_REQUIRED=2.36.0 GDK_PIXBUF_REQUIRED=2.0.5 dnl ****************************** dnl pkg-config checks dnl ****************************** ATOMIX_MODULES="gtk+-3.0 >= $LIBGTK_REQUIRED gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED glib-2.0 >= $GLIB_REQUIRED" PKG_CHECK_MODULES(ATOMIX, $ATOMIX_MODULES) AC_SUBST(ATOMIX_CFLAGS) AC_SUBST(ATOMIX_LIBS) dnl ******************************* dnl Internationalization dnl ******************************* IT_PROG_INTLTOOL([0.40.0]) GETTEXT_PACKAGE=atomix AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext domain]) AC_SUBST(GETTEXT_PACKAGE) AC_CONFIG_FILES([ Makefile po/Makefile.in src/Makefile data/Makefile data/themes/Makefile data/themes/default/Makefile data/level/Makefile data/ui/Makefile ]) AC_OUTPUT atomix-3.19.4/data/000077500000000000000000000000001264725221400140275ustar00rootroot00000000000000atomix-3.19.4/data/Makefile.am000066400000000000000000000013451264725221400160660ustar00rootroot00000000000000ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} SUBDIRS = level themes ui logodir = $(pkgdatadir) logo_DATA = atomix-logo.png icondir = $(datadir)/icons/hicolor/scalable/apps icon_DATA = atomix.svg @INTLTOOL_DESKTOP_RULE@ appstream_in_files = atomix.appdata.xml.in appstream_XML = $(appstream_in_files:.xml.in=.xml) @APPSTREAM_XML_RULES@ @INTLTOOL_XML_RULE@ appdir = $(datadir)/applications app_in_files = atomix.desktop.in app_DATA = $(app_in_files:.desktop.in=.desktop) EXTRA_DIST = \ $(appstream_in_files) \ $(app_in_files) \ $(logo_DATA) \ $(icon_DATA) CLEANFILES = \ $(appstream_XML) \ $(app_DATA) check-local: $(desktop_DATA) \ $(DESKTOP_FILE_VALIDATE) $(desktop_DATA) DISTCHECK_CONFIGURE_FLAGS = --enable-appdata-check atomix-3.19.4/data/atomix-logo.png000066400000000000000000001525231264725221400170040ustar00rootroot00000000000000PNG  IHDR+[@wbKGD pHYs  ~tIME6 IDATxy]Wy/gyVwjI,YXɀ 0ƀcbB&Tg!"ȍὂBB. S/ExUN1*b`ٲ-ٚRjI-tNaXNwKjH>_{=~ַ4a kXְ5a kXְ5a\F/ 4a9rd?Ύm۶5mٲjLf!,Qʌ龾/^ 5"C=7]644ߵq֭[K7o.JMMM X*lvWW x t'а]su@ccc1app76o\ꪫJV*9rc2*lvoWW q= 5"Ν;;ZG LLL|aǎuvvb``Sk֬)m۶maƍђ2c9Ѹ 7a [an{~chooGGG5kUW]y 6,J1b \ˑ5a [aۻwoۯ޷o.1c( hii][l)]uU+xWζ `*}}}<ְ]c+KDD2ʖy߽[o˿˗>?Wް5쒲oC 455|3c`o|:Kְݻw˂ s R஻ѣGk.<#/ܹseddX,W^yV k uwygVZ!J%TUA+6m-܂J)x}fEDXn]~aa!9gAuuu d jXVo/ߴi,Q* 3g ---~=܃ӧO'Ŀ˿?)N89H<) Jl6ZrLP.%g jXV<_⁢PVqiO駟ƍ7ވJؾSMMM B2R^HX5yv蘾Z6 A@WWW:-Dʧ-_n]*MLLرc}eYLMM5kJRʪ2k%$V `xBaaaP,sq^8iEj5]]]?qU\.Wr~w}}}^ث[MMMu^B\ASSU*D$H]q j9ۡC>99ٴwO?]; G-;v Oƹ"\kڵ[`Wdyy\s537ns΋\pWWWiENb\.7߿?!oذbGM-f7 X]xV k<̻oosfMkBc||϶oߎB7a-oy֭[g Bl/x1z+0\U*;v, KU jX̦z{챷~;~RJ={{͛o=rHg3|PWW ]O\߶m[j…xOqKByY5_я~xG;\,_Skb;vғO>x~遁SJm||lP8յڵ+!wwwCꖭ]3Vc!vi۱cn۹s矯T"\s!&''o}+ww'j]]]+ b<&&&VxRJۗPP1VW9vWokՋԦ|]}ᇿ. Е%if -% _\Mb*1Y(I+ HT__ۿ[[VjMǎ2OO_YN5N o\ʑ!CMFJ|Ia )j %}@ .@s@Ʊẁ Ƌ;jxt cbYWVo,4559f]vz_gg'VWذaC^CCC&kׂs~!k{֏]n]D\gիW7U~9mll_|:gli^ ilRD)IҩBG$%$P$!PP3lJD Av)CWqk=]?xqqPJ;w~;g?u !GRssDWW׹p666Klݺ|vI)qԲnꢜl goYjܺ YHMrD|]-?$Ų4`1 )bZLjR112nWfXP'!!aUֵpl?QN0o899O|'?n !HAgyggff"ˈ{PVuwKڱcF^SLu=̞~nGy.P1޸*'6籱x EhX0Ah ?ҫ|2@2@ $`I lX{fBE0knnZ7l`bbSfԹjY6::Z7ߚ5kA,xl. qPA.{ꩧn>0裏 n㫯h¦vO\O v28@>E3 `@Y"dHg!U_Dp" ޽.3(Ń1+ /~FfffbBDrTΝ;3彽dW_Cpsn-\.:`V=7}~z-~# k[ 4HA)XUH2h1,=Ii?PmfYat`w()d0$8.eNU hEZ7ͯ ?M{VZիW_4q}> %ׁX]o߾~w~g T ٫X @y`e]?pQBdk qL- Էx":ԮrjBE㟎1:WRj>7Q899Y[4_\|"¦M.Z7z1V.Ż٬I@vy?~?? Tׇ2 X=Ϻi勸̛4b틻\gHo?qS-$Fhι|7Юn;huaK,g~~W=PX\U*KRdn nmCfMNN^Joo/0]>W"|3k9nsWЙSeR Q2n>0&)~ ;ibZM@A͛hxFkxUO()>oݻwWr9\TJkfѣGv<* R\`uIw}=iegy4P Dp@XOze1(8%KcQ v, 89e\Fx ^-XNg>󙡓'Ozf9(! z^fq/0]>W"?oZG#Ɯkf9ME,>{fQ",E[VA3<S<.Ϫ8.JX*v-X{׾Ub\.77כjqf-={R֯_H 344`V {l߾}|_]/>veN̝ *_CXP Z78W!n>@q?I1-gX,6黃LE\ۗ6K+PT+JJpH&Ji%@E/kct%ϭ^"f#ck2- HgRA R lfY?{gϞRԽR.sǏoSSS0 irr2y\A Ɖ'R֬Y'q\"׍5Wޛo] çѝc`C, Ā*_|)cP~`hmo3"?E8JLRa h7 fњϯ77JRG\nT*RԺ'HѳEz i֭[|)J5ιF bۄ-Ғ A'Nҗ4<7xKks h`c,P2ӑsǬ CUPZ%WI_$RIuQ!XR%}1) 2iH@#- I)TI< SM9@KВ!@-^B__|>sRʐ10d~.[0 <,⪫眗 p .+qhEk dFGGӧw܁j'O+3 zzz#+"l3ƚo=OX;6d$#xt PY̭cYO /B/=PɎ-`PR)5J *]ZI"4LI²H& cXR RVʀëz3xtV{xm###sDTPBٳ:NrusXasA8 \\.`vȑ7?c-ЇZvݼo߾]/.f9V(aÆv>u͵H˗ePUY+ Nhv9vf,IaU:-I Ӏev Bәif<"`@nم?݂pe{Gӣ܏;~Ї9%L&avjj* oX`S7ߦMe. jA^4m||mwnv뭷=39Ky晏=3YG̣j4EEY$  h,TUxk;bPKEu1yFmFQҠ$c(BL4}\]7Ӫ >%cB V]A,ÀdpjR믿}˖-H+M333{{{W4z]JG}41z&V 3th :O{~wO"m\|ݶ1e333صkWjY[[֯_?A1fU/`uk׮{ス7pß__˵ - &Z,N1O[0*keӱX{xk1XgNJ$+Ңtd{)Â$ ThT,B |B@vlܽ+l{iWs .|K|;oӦMRJ4޾ 3˲GhDk׮TwwJ&YشieUk2ۿUoy[6>>~Q:1"<7 E$D+#Z,l@lՅ`p5"Mz9HQmӌ p)]P#KIBfex]!d* ȰQ4vVu 'ԱT/ aK''Dj⾅}k֬ aXA׾>}c=^eL&K_3%ljjov[.L8Mw)[U݁F5'N *? "ڸ[n {ڵ9 IN2EWH0HY~V_=7i.YM}z]===x c A^V_",bsbǯڋ!`ܹY h@{;Qh@.ׂl Ĺ,̣R)TfObnfs3kd!\EzT_⾏jV< P{qt!>%` D J2e9u8 [ԭ#R:=pm 0PIeWr<@ﭷ:ĉ8#\GgOƳ>ZӃb&y;&K`b~{z 7|چ1|ݽk?ݽ#hn.yvtT hnFwjpLMDq4~M*ݷ-037k@[1¸wͮTڏ/ìԮMixTR=ԣ-7c[6KßNOW.2o.\L3tN/۷[֯:u**nwY[b?Oַfлj=݆֬uUEݬ/ `)0R%AyJճ]ZL7Ŀ#f;M ja}/3Ǫ,)W8A.JBlگf%EtwnXdYY; Չ'3t9s&9_ю?prW}=yyx)Y<{o;oK嚱fXw+Ƙӄ7I3 &eP$ /r!A@ --JRzK4# Zne$aY͊{$*FbzxA'mlMXY}4WhjO+ C<#=|"1:;;תj.6MMM܊Xi۾}{[ad˱akާsĺht@%y IDAT](m!A$8,zYyr8^)lqHHL*)=64lRv])BO sjc 㹳.خ]z"gܹ7o;֥` wo=z"k7%/]$PV71_2슈 Pf @0䨌 /,wTUi`07n*]ٻt+.yg+[bIhb;T}zzSSS//_IzGm۶|n%x=y`lW]rdbSL1 cȲ)*aYPX(諝tB+w!1hV^q>j! tfYjh=`ժU+s>R⡇J-c[Vz^`|@7W7FjtH1b1vAdeVZXgBXcik"SVe_^RHB̽ 2/, 326?yi[Hzv5׬HP%zݺu?7l/Znmxrr21u/^y#2cQ1=@,PٜI5NT Ru%!l%}R$d ձvCDMʄ{+S-}j ?)BPavU DŖE?Z|]ܺ;].6}d;v xK^rVWveھ}n>6wT1=rWބ@7c3!9 qsLOܕ1:z819tTUV40J/*ns bQzP %d2/j@B4w2L/!cGo! Ubښ5kV~1m۶U.OO|/A/y[n+yN \3(aW>ӊU7U OXfXf*P'AJH'˶#'c&;G *T&>J RRBӀ&m%U%N0T@J[n1O&Xm9lذ333Z@N{Uf!EkWd*>i2QY';1~,B$0ұ*)[hc'\ >e‡iFZk 6Ɖ=^k[e2 {l.6lE)kM]NDpWqfCLi`Ź/P匥HZ@WE:&ϤPr2¦ 8@>;bs 4^ ڝ:E t46fS퓡t_f<đ=E.}]{p .YXl-A?!BxUY!"vQ7ݢvujg+3-|>C N2%{e+Bg괿!$C!01*w>U[">sRǶPJdj?)2PPS<8$O& "n vt+iu: >(sFDRH > \1o.J@iuEVͭ=x|*ҡ  DEA͏2&uݗ$@Bt>R#$$(@J+iųiRxLEBmL,)aPBּ۩9YcA;$ȄBs%_/_QpHu}g ;vnwQEwZ:B 023o\l8%*Ǩt4Wat*IHO-{8Ah6HIX!UCgJUeկmZؤD}p/yDb|5yif]hIݻ7,oFkKW+P✃l_Ƃ>@`{@(h2*:)ECpHŲ(hCZv+} u]y' @(B!f=[Z{1U`̝N{ؖԹ e:Ӏ@6 :ؓbar J J(˺PdAuUD*&@qreq|ve H4/P9@)u~;d  ˰Io{ X<>2.?Y:8K0ΆY`rj׮]8s&=^Ёra8lB Ȃ~@U2* F1 hdFY,ʦρ+TZ'AdDݭWJsR]R3v1ܾ@޼#&KeL})j2̾QcȦkϷ>˲ {8rlF[[ פ*k(%B! Za\N8ٹ m K1O{,4$B 2@CbVG[GV["BJҠ"L0f Mi4hPf^ McYT ׫.cB$)55 NRʺQDUFցL&\l&l& 3C0d9IJ8-hj xs }eH]˔p.R>++O+E+w%څҭ?ٙd4_g0V \w1偶c[Nϳ!MyD{{bm.K}_ڵR?I rdۆ3gqht#,{ 5+jn)h-J#35\4~k,{>GY,HY0/y( EǪ SweX'ۊW))OF\@;-aW_}y177'Hd2yڔQb dt{hIcLhT *ΦR]@/T*=f$E:?huAg똲ES+,B )0_Z#O&d,볛 0317p`8b BVҔȾAWo]!<B bW$.%e"Ve6T=4!Ig%i&9q5%a54 )Ł >k 푰_sX8  \ 7o:f)hjYss' VM>I1e'THgEVZ[ beq݊{74*i8et3IDz!u+ߥ;W7PR1xѱ=k#ˬh<4 `Yac@&1]-*ފ\+RlirǶǗƀӫ$B UMϓmZ/RF"k*Ws:J遐\]4@Fҵ(R1,ǜ`&aW-Yuww칔]--(VCA ٠ "`Q3r,g1ЪH.i٩)n"N>PӲ- TQWPtw' a'7/@St]TBba,^ XM}.zpŸ{HW$-KR(P5)yLfz<ۣw81 %Cy VHt\? UZ s2T@(d t,,kyLF0+#&]eY,gjYA_dyJ9d,t{MB|0ŗ_nUۗJE9BPo@᭯>e/l3Wm\fzM::5%DRn^0îSS$X*nbnPR3tg.K*:SO IjeXxJj*%sK1׭h%+ɲ\BQVPߺJyԲ|--:8RҫGU)(dmMB0J=w\9쟝`H?)o*w̞Vtv65KJ+ebfJ ja@6ܒCqhjW,48iĠ*Ejr)P%| [ z@RoʁskWh`#хt5i\`k4"45黂*_F2w] WL)$ኑs6(I2 QL*7L H hKꘕyJZܯT>ueLtV/cE*gUd\@Thkkk;oZLjj\Lj&D6T3}U ƁtZ޾UѠO4+]@输HѬ, HU,(rVbʕ*N&YU=1u*Y2"hZMWw)ԕQHA'r3XXAJPHʹhL3X ]-XYS,$%j =di{~! |) %dzϜ4p}H1@өpcXjVRa҂TJ5!#b{cZh)'D' V*_z{{ j]<[V*ņir-pQ7Ru|)Zm|܋bOnGnf?OQ]w S-_!-M\@ȱaLEYV0v[*;bK^0fb$Xl 2\=bdXz$xVe@ 1 Ru!X ׫ FiVf}mHyIggSA:`9X -Nk1DiR1* sFBXi-3օРcÄn C#A{2I Mb% "-]o*YsOh[ЫI)ì:@a]Z5K%Xberx. cU$QJ |衇vu|qP|ʴdYeE\̊Ŏo/aM-4FeBb5+s^e/`s>.`=*I';tѻ#Z<їe?߀|Fhm+X7N2f>0)E./èJmʸ*% |)%jc㧱n*^dʵZlnٕ^fj p 'NP]m4 `Эx".!ΨncW5i9+ά"A1Ve&n/=W @y{VaN-#bhw8?j%Dy!D6SA&(, 'E'S/ JX}ȇ@JV5Ϭ[adˈP' IY^_TlRzZܕ#zl3K ]{d4:ԁP"L*ajig 8~,Z.5ؕ ZwQ,:9AcXd@ʴC?X}R\>̼D@Azx@+( 1{,KMw]T1be9Ӏ恐p5VQ1*8VqrYx2}}}bBQz݇B\ll LAbCLBH|\8A|$ӊkWq2*TgMfX\݆( hLOb.'")_[w4SgA{/8t3Ϣf^$D>3Й4(/T17Wڎ9{sCǸ< ztcaz K6z  JDAKhR ~zyTbc{fJ3+4qmIFT"TUUYhYQ֕Աb{(=a jF hJK.O'_(edY`2'ľv,Ψ3J>F@4V u|u1nI u]5+9yg9-.cLpW?4tQz%dwlm׫`4gt`DdBHMMY& !gj E aW*tϜCoo21AJ/e@)ͬbW\Ctu"kU_3z] JILb1RXu.ZcWYjƤO-fU=e|%pfJxaˏd yoJ+W N>d_sժ"J+ ^>+S(J@@RB."BCcE+R,K'7 pHPT #;Y*s3,_^ׂΝ=#A^842Md @B@u19C T&/VU) P) B%h> S)c@EZTrU`uI{X~=֭[BÇSVjy3!<*[bۥm wYv _Hӧ$ߠǝ0K"ykUܿ8XE@ JjBPVO} ӨI?R" TuVӝԍW`RDfe,qu ]+`h4, ]Q&]BJ 0B(P1Rd܌}TJSgNeLeF=1A }b cO3+.XPBY8 (>fahh۶m͛qW`Æ hnn?cu[Ύ llٌ* 01+]tu&AG "B&A60*lٲ>0Zә"јRBl2;VuQen> TQa2LZ1M8AėUϧ,.8yЧ -P sbj%IE+sm:VS`%@PT< BBEUE gV#P;֤x3b/:*DsS XUK.$$_\a7L@j(W(`R>ds;2z01_! hnqx=Nd)FK%EZXaRds3/n dEBFr=EfQ~*s ̼хI=݅BH9F 2@]A+8t\mVyЎnUiaAQ\7* rtXd9fa xAwwiU-GDz>3[YBll`!PV @%! lMJI$t.|mS)Qy9N/ȗ_YW $6Ѱ2C@CMz\P c7U1ͪFz 0,1Q "Q;*: 1kC(+Ψ@x YeeW6zV6!JJ38=uDMFKs;ANY@e^qVDP Q58 J[ n)z^N4HhY׹in`ZR ^# SH@)-UmVt"n i Ei8_!O  3E6^[+@E q2! R~Hf&Zx"0S]w̾#5x ]\$aYVP,wV5e}:RZ6DA͒#],tu[Om;y)ꠚ[0$cO ֪TMC[eϮ)i5Z%5'ѽ6ٛ  5AW,\Ciĉ)B{H1+iR>hZ bP@eDz,@Ӷ1ӯË&QK c@׹$pb|f="r#rH9ВV91Ht͑o3QYFu}B{ 6mBSS8Fgg' oFVΝ;g޽8/e1s,rA&c +и>1ω!n` -Vϸv僕Hѭ^"Vuߢev-YR/sAor#T 18l X`:S';1yl{hL8|DV jښݦ;5ùB&!4Gk %"]j̯ѵEZV4+󫴏:pYV"5EKXh@@Q@E d:b8yyfd.]1}}}x_0 Q.QTo>ٳO=݋ݻwT*-:sO [}3ծ|ЊE;a C;%Ѳ1|ve|tyr &j3W h1*! M`7cwaXƉ)h1깃yl0DtYUibb ]EtYY;fYY1.˦*:#Ӛ` ^}\c +)cZ"G~>Pu(-HNJ)R sWGg~fj)\%3<$;vC{aF,VQ_k-5`MƇD{{ ֯D^ijy93 LuA1UFZQ)ݴ/Śiܱ&TYYF%IuH+3$U' ; Vöm{i8ٳ\3LNp%L|O2 zdCnu] ,u-K,`A}X7o:ڕ)N:U;*!?B LhT@EdލHu'-PCъB>҂K#;xm$VP>2ήVs4 zuZ[0~Q 1U:ۣ:ņO`MPJNXwغ 8XIBqвvD[ochuڕu @y]B9ڿ/|Ӄ@OH@?]\mll58_r*ʙ 2լ8:ܹK>N. ~z\Bo('AwOҪ|2(HyF+7,̓,;z_9.wuuU/U--%$`l3o߄<0c3#DD<,`x^`eB-]TW^յ#/s"ffƧJ;{+6ͭ@^ РCKZŐ݄%A LzN2Җ姤9V܎$c9+j^pO5T,9R%pd6RW߅g]o殿H*]Det:߅(zR MM"%ff0>>Y TWk ^C3%c*f\xJtnL`bQn7pCΝ+,KҶꪍgUH mcvdm_Jȃ<" mH7q {-3jVc<*d~;I(7屼2^d?Uh{E#.uLL+8ju9wkl{r+IJsX^Y ._k0ll8)0OգҔ p)PrʓV$!8͊2D7d)cn,3'/ lUH __7nuu`k=*{RCU;3'Qv*y2<L9!8byz'U9TI L<*s(8zxwkah1Tݸiuu=w;vlvtwn:67havvhnn'0G T@HI^$)1^* bl|HWI= u6'L< ^PĤ:Sidd䶯^v tXˏ{3=kczc*.8;T2":UOF=T߽^|+zR5R=Kg@^*%Y jj"DDj׼Ư\"f=у? $fgS@/Q$qd*@fhXYY oz:/1<^F7POr9FEdk+{}|<4۷yLOڸZJƼd5lQ2MdiMX c"? |5*ƽ&37MUDW'N4I$IRب[BN>Ȏ&D qDo{K ;6K)qӷ}Û>ϿĐbu'еečIF::/4kE)oŢ +_f%\Md(ɇc`c}%:788\nZ7Xpy`e '"eY+ 1 w9ぐIVM-#8JBqi}1O$:hX)%_mU]UN uT?s*Ȑ36jU7!|@YO6^N"(!2u\\F*^a u 3lH<4ɝuP̥V 81eq/N*{}6FeX]Λ۷aan5;wVZ*ZI͸j@WqMthyRkc cLMJ̠`Dty:Ah}s&{'JqYB0#)U!hQۄp1+B'f6^qu|X[3_‘{ހ(o8o)-̌ؓ"ܪ#lzW$SIeE8D HQ 'URRsg ,tBSG{ۆv :4 >`sJ*3vOV%*U% NnSgj@8x+pmЅD9CLN4hˁVKՋi[L%(Tu_R~>]<IEƈ!ĉ@ww ?ajz3 =-]Kq IDATOUڵ!x]8r"됹N Tz E@ VV%. \Ycضc'x]}bm %4-6y 9i%qZ/ jǼp7AW2[QTUh>%48ܕ~)?CuT3%QY 74gųJTd_AE$ y-gНo0P*fL{0sHNQWq̗nA2L . α$+J+! ^,'OU%.]:!,֪lQ=c'ԺG1x(Us4W~w~aݻw?Catt/e\v,ԫ=N@}L51XD>qP((7C^+b㾝 I:I؃*+92d!.V*5[ @$}*ROע@eh}cL]_PincA)XTJkAJG^(Bp| fyfؽCVO-`˜ӟR;n*q@I/Uju;vG@h!˴0;U RJ,..bqqgϞ?E__݋ 'Oāpюd099Y|.l42fB%nVQs%jl?@G}8Ͷb^#3 !;jGIЬIkų :Xq VdVqZ9-X V}@Ih q)+vVoxUh43|34nݯG ֿ$%ҋ_AnaVC֤i}8)˶ YI菂9 V._:xvށ'@Wπ'$jq5HVej`Ԕsy)HU@|j"P;A*4ll9R)N14ret]q#. Sg VmcؾapCG@&@6 Ks  b!4U]s=J(Aň x#)b݀@c} KsSX),-LacmiF~yRx=?]$5XC% #@cfʨN^T=s|T倫he1 EU',UcVZ86ƪgЀPTGB0zƻR"ʹJHEozCR駟ŋJxKX^=~$!ROՋDRzc {qũ\y!:M)պ]guVeTԐcP:FCbmMb}C.ѐ6MZb;QA*D H <,-%)ZL chW78FElWl!M[f/%qcueJRUdT'MY#}J9"ӆPTǹ() `?+)PQ"]j%+,l+9XQ 2|YЄ{&fwnlau'<,YZk) :_=X]4Im7^8 G^qD0!d{NL#mGE`E!nC;8<E18OTţqXgsd!K3d64En!Rd6DAehX_]Fcc+7決h6nmUOͧ!<7!+MM# V&z;[-Zs괬[+X|{'IZec"oK!XlYeE>*1Ǒ@"D^bg7nWΚe\>U]?^C~7W0u4fƐ;OjW 'CU#҈wb1Lf)n01v`C޳pA3b(ҼT8JxDdLB250e)@WQ@f;sPǭ&Zullbey+ XFV+* *0⑖| X8l2&Be/In2!Y Y!W答rw\%1OO6`!D~3|-O`ffnp{04wV.cwB9֓Jb{;e'32Q hl \R#O@V T"߅24jhf?>'xc5T9m |R:Y=GOCD $FGqUwSj 6i,j41?1˓65]QJU Nl۵B<S w"=ѕ8@%y*蹣w-dfHR} _H@fR|r(K5Z !RZXܸc`NDw'3FLL2 ONc~rKX^X*23-k3f@W*ݶ ѻ}ۆ3MqLZ=r҆(R"-A1p(+fiwD:J)&)9Tfj@|NؤTTgK R Շҙ-TDJuUt] 8Qk-GS@r'Z+8&@y^o>?/ࡠ*BSd/3_(BmV^ l * q&4f/EAk}o>]4yk[qDȠvPHS .(eUAک$yU0 $e۞HP{*<ǬCi"Hj,E+$>q g /;w)1зGb^Z L ch7K3|ZvTJ6nzvn@*wUf`zȗʥ*Br)TG V]^`պ*TnU ,r/Q=)B_Ƙ]PʄRu4C*R~0w/^0~*{E\8s+ջ{cx=uLjQ[*wE$"BAO.)@1BOLOF& MHBLjVZRSR<˘ii 15L hݵA/@T4{͂HTGs̠&?+ `I P2qQ C̄B/"0U90Ѳ< ShHKI䘂TY<бN£~sVw@LDzfPoqƄU/ϔzI*jTwCqcW.]KzisUbLIP##=8=;ݧ(4PE hiJ&R?#FT7\2|Ml$ dҬ#] hKEF<jY<eQ#RDI!IS **ch4X^^iLNLc~v sKXt ;$I bێAl0]u$ xj(VR",AR%( 5 k `xbp" (bFC^0L< |'O$*+kt,%k7OIs=a3d:]$]WBK3^((+-#Zdr4a$#a1}}"mL(dU񣹹Ư2@)Sp1[/ysj`hxy3 b Ee~V "0 *3`#wNQ.ʄPiFz0^ 2zF"Ub{ʤ76h6ZX@NdGJUH<Ԉʐ"[HL DRG)v;E$8xAeTv:q=l\0j K\ضCZh~*hԠU*n %L+Hefz2Z@Ih"k+U/,(`Ъ#SgpVorͪNBox, 44 $Kf M аfj`XQɃewE8,:z mtL8ˁN3Wu(SYhYDIlB S9@+B3!3!oKYL$ez2$ł=y1eyy''9E"=" eJ@L@B( )uQ†R HAKIdNsgB€ DVGgY;W?_}n|C l1ݍ~+ jS*Jey4 {ɨ&@ `,f7&iY| ~WŞ;ov4۫&dX[[ŋ %9t _tߩ$9|̔{\I[Ǣ0Rvbڡ7*28EYܜ3gf`)TÉ2A2-)M -\ZÀ5Y`~ FDmc}&r ) oZsP0 %ii-vk=3FjZu0[YtV3HKx+3L|TEjR,i9܊ԓn\INc|6V 26p)@wO~pc^mzw PU[kݽH*U4Z!>':ص4{-!*iBIa1jS'x, bLK8u/T'=FrRzR]p^H{vC)/Im,(бuZ[P7n~XW u**b~2y(qӱd)a':lKـoHKZ_ , Hrm*IzTMT_cEp"]Jj@30@ )邴, ;ĻF;*v < ۰}xï]f'JQ10Чµ{NRIު @;x6'܋RL̀<`mNe@/xvfT5<2[h2=wmR4K(sqPÔ@iψ$\cIˋpJzP߷w-}~?bcu'~%N+ 0{Yi\j ? ZR =" ( W JhEL'T)xT6{~@R0ʆyFe*"Q TGӯ4D0;)G{AH\Yx_\&=%Z#cFgi?qUDYF#o,Ȕa={T /v1KrN=Mw8z/D]3`b$ɤГWzIl7pqmoX`DsA# e>+ƙ30z@q }.>n:NvTE9@JDqm `vaObpXB8"fMsUG 9X^˜4`Q{L 2\Iaa~!(,׮3n)Je%J IDATԩLKP:ursRcL`\!ׄvUFvS94pp>Kȸ 0q2r=;}iʙ܁M!>.rJE2p !NAxy^\JZۉK8&KS*r̫Z{YBdV ayy;`,r&j8htq wR1cQKFoQgUx*WH9(jKeZM9_/V X@*F尬H‡.4Q}2cA=*a;h5#xwN^} l wjoe> .P L$eJ^\^Q2p 92PAMY߂|wPB.+y`Ebi=&8KS[mt==4j*z4z.FJJ| Qna}qG@8Q_g 4[+ފΖ 8(bl|+21EĹayǐ9RfSkZ>XeMVV*Zm"I\ֳBսӢuBIB~ICJtTzy)]LlZ,1؛edϠ4(owN~;V]QTEk[UROga9oe/R;;7aSL-X `NLM\ƅ>m`k3f]墄.c2q%*"|5&|)FQ[ZZ=NU=- AKvXiYѼ1@/R*$x>TVi;DZ)h20Ӄ//ȧ仪fgkH e%,LwP Rt!XphߔBpi%}u@iMܕXӇs3DpCZ d]'05qsװ8C;1t}l @>yN# '9_j }<,8S9,uj12&yVSwŌ8J́l~ʃ_g3@˧xV6n(Pبya̪п/=>`SQxR0%㹓$w\V mV#&OZ' u bs5Ьe5$|WϕUCXJ~-D[ͪmX'!ZM,-hښG*snK5{tpHKeU+#9i0ƕ@lTe >,BpXhˍ)((+7m7-UQiҀ9:n-4S%^'0?z;y5PqwT yGUSh~O2`C|:1T/rLSSn+{QY@8M-9?9_ޮq&\kr[RRU@N;ΪdžzmIRgz04 sױ0=57$ʨL|ܡT2qtd`Q`a-`VHS#ܓ/|l( >pM8c˖S-PrvX=|p^X~a$+h2k9D`u ̤ o8z1V@ynuzm[2VfмH# c ˘Wws17="NN9J13g[VFy UBJ7n)6wZ㆟=nέ(R5;r eVgE:"Ӈܹu(3ܜȕD3sğlTB2bH.(hʂePLw8* PpUѦ2};\FN!]1Ʃ\?&uFQ20/\x[4dvc QPRUdg޾=R);i7؝s |zXwFwWy*@y׿>ܹ )Oނ *n;0ep/ŮbU9HAZ5,h9R}PQZ(*m|Z^-?gzqT&QqU ̩m 21Uȗg\ }YB23y8N6OLEM \jІ @=;}.Gpq@0Ѓ̏ rev`w-ࡴʌ[k!QCxgE혬-EƵoqP6\Ǭ]jl?PReuƶ Vb`E6ꢔ,`~;YQkȂV>u0</V#vAK/g?_TrF.Ph1) Nd =0\5eE@ňDeJ0d$o=`M<'rǐhڸ<~cqaUK:F:"h7@K֯O.@0Xs)uǸfV2;ouV5)u;˪%ɤ8Ǟ;BHtZ㱟x' EF]˃G|6p{qS0 *][I~4\ͮ˒Eb+Q7S]Z_X%~JCCRcDj8/{@psTKKH9)A-CF3)=N,pGT @J;,Hc<{*kX'`Զ&țNe&rFTT&$s/҅vu fӽk޷y;D."VR.#{0pck5KAjEdBzgeQi;ԠgJj2pxY3`,ֳ6] .,9mm۾b\pՙ3DҪ$D"M3@@\MN]W:utyq/>^]{J1OP m,48Ӓc L/LIlmIM=yVmzx:{x>jserPI(Tk~`OMD^'N+А: bO@ sgu[;GTJSөX)Q8ib}u+;?gqi*.];1?o+Ń|q#$H*ށƄ!Vٿv@-,(gfUOaHJihbn~{^-DJdeZL9c`e)-槌H9-MT5d-Qsܭ!ɨ )ڦ̏M{O,&zhE,,Įc]/h+@+UW!;xYBZ[g߽:)o{)zjPuꡋ@ZShpRY^\We|oS3/VVp滧q滧ۋ;O܋~w**".j([TCq"]`#j5 ZR*2 *T fh4V;խ4Kem4QaD%@% `S80ԡ2Z1]%ǍR^xv\4ߥ3/+cd爧Qu:rbPFZήJ^n{/+9qG Gq|Z{'#]* -Y:GNVR V$1x;cLb*,;!"h3} 4&.^tme|I|ơ={"J*jHŘ( qk&Ԯ7 \3dn"sKjuQH:*3{c YbvzIq`fv8AcD\Yp  D͕yUόeey^g !Խb*oU5QE1[g}vGJ3B`kqzpǐGOye^F; QuŒGI̦iaK4RNտ:NC-TQ&Nm̊ѽ찴tЉjZ6/_a}meyF^|滸:6WQ<7Z bDqbwVRV,9hb 9UWhќC eSY,K)`=U+5u!*$U$qI@+bzG"|5bZ7STgs9&N~r)<]+v6IU^s̖f^U7)s^%q7%I W6O?S?{ w?8>(,/ ;{4JrJ2 ,n8DF܃RBf7!gb<}g2N c"cpqC4+2jS1ЦSf.fOe\Ҵ "- Hjs3QQw2BUqZsw#ٹ1|;hf]T 7.Y(UGBk0k8I'߄T/-pf.o.؁~al4jå%~ԩS{{n!Icees<裘şٟVp#"MSĭ6JX bVBUV^>}eS1$Iwömm[1;;K._"v !p{'>1 ( GHqGUJc@{jH Rz0UV f&'0}}S.cfjאe:ĉ'pn^8\;qE-f̭c7V95m+ 4PkDUc*".ZզܖRh3nHJSkЦy妭A|eZVg(GU=!|Ye|t&s{sM5ȶJ7oXX_x!+>կ~Ys53l#\YZm6\!mt*:? t_3צ: v?A]tՅ ٳ'>k~=JQTIIڙp `ČAv Fk+I,/C[$*~i!P'ۃuoBNMMGҒWS)TR(Q0ӛj „wJg'WU*"NkdQTPͣܖ;WF^oU'O`EUAY^(:D怋VyL\*V2Yeif;?Q:wΝ+,SZAslaj!uo6''KKRbvvFczرcq)ӧuf GWqRA'JdnC朇$Kن]z/_勘>XGݼiIT!Ԧml6s}A5VQI*HDWҀ14`9*&ܝ6!}.˕p+e6VEeyGṶV\Kgl@evzʂ$RmA-kXQ{J5*.^-SN@gtaO4>OTtA*yLNNZq%iNG6;wG4̓1|׾孨$4Zh5EY'~D{ WL޽{l[<38}M{=܃~8qfffl6o6~pio6Ο?ՑBSp]H+XM+X28N ,ϢvZ)X1r꟭ԕdH%ju3cGe^̀L7 ; ;>cuݓ0hDj(vMVE :^ R ss2j q)Sx1 H8ܞ̹טV#j_#3%!U @fLiVsg/9J |n+^?>os~pI\pA7\ 8__?ygf_g2늬$WWAH\@.T1::۷vN{evnv]jeXY^A3ic#ioWqewfNeuw)ɻ97^*D`ME}65]T͕~Cc* )cפun<@@HAL2 .4@]YvVd^YVn0`ex;вez'L*$M3,g++~CVakZGx׻ޅ??tENЇ>'N`nnMQa޽8tr 3XܦMJg5}~turKmXp!8p> V!"Gg^ߒX|߇n*5T+5Tk+߅H)nNiiw{9ADI l<ѭ A^&y[b@7;Ht:Jec:P)8pW:gw7;֓<;Íb)>xFGGqg=zw-e&,_ j88N z Y|FӀ )%sYsf`$G!51nQG+KF|З@p]U>@e"9DyY/DIWۈIuD}j*(㌩P6^Q(P LV  K3ccKǎFB`bbG<Ʀxߍߵc Y4Yz򗿌}ch|||Go}[KU!@o{|?k_bdՅ~Vșl8uww;^CZ^.%]Z-ޘEvضGO| 5[M1 q`v~TBB MĖչyns2CЍXcV}(rJA2`W*, pWNA> 2JR7)PҶ@Ҏ>x VVV ,ç?i|ggy߈o}[x'l&_j:<~~LZ[[5yͦo~3>Ov4`W/I&"c\tɞfґ#Gry\e+3[(KiƷ|͏ոKg1>M뭤=#$Q8R`qeH͙櫘2M,qa`^9J\?Ԭ&Q D Zԃl,ȷ˶DKu, L:!34-LMUOOj,oE!w]رcWnW3_Z?A;L {I)''qckvL׮]?yz⡇wppǏF>駟>9<kҴx孯qrqT*9~ն2if~<n6^5_$N AmrSC`6ݑפ>sQ30FKI1@m Y]TH-C2OQ;u9M} 1t9L_3 {:VW ;zΝT*uC9s o?c? .>__uVVMzrM$7`xxzիpoˣ(֮a}`XE *WωK99$ŽxTnGsKl\S B..r`Lҋ"6}c!ݰvz7ӧ(} պTMbե4^2ϴ6mMRCS[XA]-v@nt ̈2>ӯy1uN7o"B)u:3_-e!"!FCCCF &O1 TUy !8p`Yeeew) JAi:*9Op Zh EtWQNZ;:عs1W+4 LZVFA a`GXq^ʺ>pB,YsqΊcb16شi/,,w hooΝ;֧ef₱/Qݹ?…^n{ ],hllZo;|IBPvvvc}8qbHl$ٖ7i\ve6l6زem\.&MV FI";WTL1,e1nPT6D3X>HÉ 6 MBV:AEhfK `hERa] Y3]44ned^04o5Fs-uBE;> f;D[Cvv6333qM7Gu"===*Β8x 6olԩzi:[u("8I}0jԨ.1j nׯm^^G_&Ox`Y6.,Eim:;;q}%d%B0uTKE1׬Y~;j=EQ;h RP-|*4M4eV/ M0S`e߭ǝ3@0i?ct$,^b!z%1x* ! , NX@~ֶ("4oI/j+{EaLUU$>v#%%---/uvvbxcL8۷o;㸝uX/ c"`9y h}LaشiS dY9سgTUy%%%`,eYi|bgܹسgA?CZl{!^ڶ܁S BmXS XG!ܒ%.bZ\ָHдEd2so,Y~ĥZI9vh;R _0m!…Rՠ2 0; 0Cmzs"ݽEX/sɒZjfcNg}۷cԨQu>qfϞ]vq;@`&n"vd$ l/6S\\|Z1c i$?EgggLA4ϣ0| ۷oD#_y桰б?_hDvv<cwlktZ8Czzzm&N?n^\B`GÈd7vm:tVZ~%t%%%>}z5,Xhll3999aNjAVhmmEzzc"---=BDQ{ >ÇkwܹXd (,b~| ^pr 3<uV1 $"61UqEUz4] ?_tҠOu6S w vӎZbYqt/2S"Kd} &US(*|>Z[Gnw\4x/i[D#GUUk.[-Srr2L.5!---Xd :::obɓ'c1f=z4>GOC'- ESuRXuכI'C<'7 nwTvη~ M0 k!,(@0@1,L2;:t(=^{ 1ȑ#1~~xl +RUU{y IVh׮]Xt)Ph[oŋlGcQO?hG`tXsSjN'+ڜD 饈t-Ɏ`!(Ze㸑e+b?MzLg͖)dzK'u?Fu x4!U>!0f .IQ*V:\xqcD30zhvmc_rŌ4i|̈́遐V4j(PeÕ=0z ?ro1{llݺ&3336rycm&ŻVO4o矏[o5nrj}7nG}h_t(B'0*PS)\SZ[fzc#l4+CDz3<,B4Mc@MрL:(+ȤeFdIZΨ8)BZCm. E6AZ:㳪,2IQ eiÆ +x&Ç{={0h `Ϭ`3gn _Xloii~k& 4j(9_~e( -B^^9bzi͛1w\11Ǐ7_`c JdCVL{`*"~i5  yAy R8Ź p.X2C5>.]veGNVҊm>Ț2фe+3:jX5J`coڹ#0[Յ{bػw/Ce3kǎ7n&$P.-- > 0WxAUU[.nE0g(o O87tY+A3 7o֭[QYYuOn}D}}}Xøy睇?ϸ l?A0m4_,˚N|1+(,9s愉vKQ\\ z̯e0Si\AH۷-G0֢i^~e|W'8Lx&믏?ӟNx饗xℶ9s&nݚhߏ˗cq  6O>W_}B0l00'|5Ν;q}aʔ)1=@QTU7|>'O|7^0IؑUee%ƎxYzzzlocȑ9syDW_ s g6l-vС:kk^xaThiiACC;ڵ+=^Ν;Caٲeb<>^pa}jj7x'|g0)j̙׬Y+ϲC p(x'~zZ믿FEEΓKoUU~z⮻:3DAX;vnjcBdЀgyK,q0|pS@nooEE [Vŵ|DQ  Wx%yŖϧ4ݴe˖&MxYUTT [0 RSStHtuuŭu=|w-܂v+lu2/$IxǠ( ͛"p/0zA-[ 6cAQQ~cڴiQoK^GQ_^tEG:YsF`g/Ϯa$''?Ȋ,5.xy{ハcRUwFMM :;;' TRȲ{ w}79&'z|澽q#@ 9s8q" `;|9@ϲ+xbSJt ;v,n|κ_nذ!) rZ|ee>~ Y:YFSNux[ZZ\(qM7m1c#G?xꪪAB'2 &ĉsϡ2m۶aԩظqc>cLDC-[PQQ擄abF󡺺:vvv"E1-EBBNdgcwNsm/$(˲,(Bॗ^rX?KpθGچW\?r$f\#<'%%u,4[˫cTVHwxgpuaј0a222pX/m۶sGGGI,2f͚m۶^ lϣ( v^|EZ 55iiix,*++(X~}̘1ݒ$%I 666,X ͘1/9kjllt9=:,MUUtvvoe㸣nynۭL:d/TlIDATڱcǯ'DݼѝEo~ǡ k&+!񻦦ؽ{wR+0|ptTDU^ػw/U4ݏ}%C﷝L#Ea7nYFhEQUV7|s~6/))8.02p@7ްu8k_f/4iRtt۷uuuصkvލÇ1~&))r<ߕ0(EΝ׿an999dYضm~n`,ؽ 4M#999f\QS{bȑCQӁ)ŋ㪫017Ŭ}A|>x<ǩvk+#<`0GDŽ p饗<,O~G}T^pa;Z[[իYda 0wܡ9rDYIXg-Yi@U՜'6sZD|y> rTeUA!#GTMvMeee!C<رcڈ#8_}Up۶m9!wA0{wl7ܖhϩʕ+1k,$e#o[T[MM y,_#2B,;6H4<~ GV&YE*PYYiFǃ Ltuużg}'kèi?2&MR+UUvg=OӴHӴBӴMd'!B +%\.yeY(M4MQaf -Iщe9E$yG&=٠Pe9;2jԨ.ճ>]v8S'''K/]sȑ={\."bF"55նg[[_>nIq嗣{ŷ~={`߾}hmm5So]vYr/Æ Hƥ^IKKڵk髯:ʕ+ /_/,, 4-SGVg2***ɐ!4M8SVVvtȐ!ߏ= ].Kt\ Zqqa(ljjX%,Y)IxI(I.RU$1&eN<8K..d۷{wؑgj>n <.(0|pp.QhI#NeyTVVqNվ}߯/=EEE=ner:AJ-))rrrDhjjE!,Ӳ,I`0pľ[ؾ}{>; ٳ,y'B;,u]k<$ ԰tKK Ӄn4 ׋d5##C),,rss,(Кylﱦix뭷h"GIKKCII 8`ۮ( ~_`۶mT!Czz:}]P7Ö-[֯X?OQVVa|شiy(wy֭ϖϽ[4MEɍjnn(s88GQɋB~~_~~a4MQ 0~y <WQU ,0*M˲Oksss eYyrAq'3 CB8MxEQxEQ\-++cEE!VC94BJ)!!D8p8[ŋcj:C?xw1uT477ѣݻ~TUU9Nz*0 ׿"--qkce˖ޓ{ظqcBEQXj***H]Qk/3f_577+YYYgKx֓UuuѣGa 33biiiLzzM.4-2 #4-1 #3 #,+q's<<'ZiR,˞a:B8y].[^QUQQ։2& O%E)giKUUJU<ُڸ\3ͳ /uuu d}1m4\qq+*իWclݺo&MPu ]'O=ʕ+ %%%g~u֓Ukkoر4ȝM{<aQQQU "R%4-4-[RhVYUQYՊNxh-''!a繿N9xW\."qIl(EQATeTҰ4MUEiWSSSPχ 1ڎ;|@1+$G?P%n(ɶm+$_UUqcҤI͍;oھUVcU]]RPPpVWg=Y]|ŵ,݁@ $ *$Iʚddd bϪX`O.k?EQy'G<ߥڿ$phnn&V:5EVVUUe90L`РA>,]]]hnnFjj*4MCOO;۷Ν;QYYYJ^ORC[IMMŻ ]]]x'oii]w݅z+n_~%V^;}N: 4M#0 ʲhjB4Lb(J5()--+$tjyy8㸨N(M(,˄Al_MӰtR$''cΝFOO %~hqaa8PTTz˲aAUyWnuhƚ5k YZU*⋄/ fΜ`K,_~5i֬Yaf5үΩ*,˚((:Yi4tiHwwwFOOOd: =X5$hz,FQBte.ے Ж%BhnnN wt7~*N0 S\\/((EEEEQ~aEƥj@ Plٲof9zlذ!#G`Q儌 1222駟(k߹s'*+W,..IJJjJJJ,,,LGF OQU³>T[[tߓ̲tO>q:Qtuu󔕕˲477YYY-#)N%t:|!C< @e0 *((Ţ`^^^nw@ Z7X7Ý3H IXNMӶ$$2( vZ?0k333yoaYViZ8ԟg׬Y WWZ5駟fxEqduN }8}ؽ{w/33ӓ!rbu ), #+1HN6D ,.첟򗿬wu,0 Bdyw~w! 0{6Az~DYᔢ|@($I(i E/T",(ktƺ׏~]@ DE"˲1 ^/Qia6e[9yeYiG#DQ'GEA$Fe*R0RP̋ q.r6AAqU؇S4EQ8NeYUEE(b^+p~X7ekETSU@De!#@^Bj 0 Ͳl˲D}2j&˲$ME(QÒEY4M,ˊ=×=賬pZJ~5`WPuJӖN٢(Ң((˲1`$zS%3 #2 #,+9Ok(ʲJHD[* ^J¢!,FqwU@YGSSpE(F^$bZTˆ!XTUaԂ[? r,=X\@Hز4#FQsssH #>LDNeE$Yj=$tV"bXZqXVa}$,uƍ.}CЇ>}Cib+zIENDB`atomix-3.19.4/data/atomix.appdata.xml.in000066400000000000000000000020471264725221400200730ustar00rootroot00000000000000 atomix.desktop CC0-1.0 GPL-2.0+ <_name>Atomix <_summary>Build molecules out of single atoms <_p> Atomix is a puzzle game where your goal is to assemble molecules from compound atoms by moving them on the playfield. However, atoms don't just move wherever you want to move them to, they slide until they hit either a wall or another atom. <_p> Try to build the molecules as fast as you can on each level to earn a higher score. https://wiki.gnome.org/Apps/Atomix?action=AttachFile&do=get&target=atomix-screenshot.png https://wiki.gnome.org/Apps/Atomix games_list_at_gnome.org GNOME atomix-3.19.4/data/atomix.desktop.in000066400000000000000000000006111264725221400173260ustar00rootroot00000000000000[Desktop Entry] _Name=Atomix _GenericName=Molecule puzzle game _Comment=A puzzle game about atoms and molecules Exec=atomix Icon=atomix Terminal=false Type=Application Categories=GNOME;GTK;Game;LogicGame; Keywords=GNOME;game;logic;puzzle;atoms;molecules;sokoban; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=atomix X-GNOME-Bugzilla-Component=atomix X-GNOME-Bugzilla-Version=2.14.x atomix-3.19.4/data/atomix.svg000066400000000000000000000157351264725221400160640ustar00rootroot00000000000000 Atomix icon image/svg+xml Atomix icon Leonardo Pereira Robert Roth Vector icon for the GNOME Atomix game atomix-3.19.4/data/level-transform.xsl000066400000000000000000000025451264725221400177050ustar00rootroot00000000000000 atomix-3.19.4/data/level/000077500000000000000000000000001264725221400151365ustar00rootroot00000000000000atomix-3.19.4/data/level/Makefile.am000066400000000000000000000010501264725221400171660ustar00rootroot00000000000000leveldir = $(pkgdatadir)/level level_files = \ aceticacid.atomix.xml \ acetone.atomix.xml \ butanol.atomix.xml \ cyclobutane.atomix.xml \ dimethylether.atomix.xml \ ethane.atomix.xml \ ethanal.atomix.xml \ ethanol.atomix.xml \ ethylene.atomix.xml \ glycerin.atomix.xml \ lactic-acid.atomix.xml \ methanal.atomix.xml \ methane.atomix.xml \ methanol.atomix.xml \ propanal.atomix.xml \ propylene.atomix.xml \ pyran.atomix.xml \ transbutylen.atomix.xml \ water.atomix.xml level_DATA = $(level_files) sequence EXTRA_DIST = $(level_DATA)atomix-3.19.4/data/level/aceticacid.atomix.xml000066400000000000000000000202051264725221400212300ustar00rootroot00000000000000 link-right link-left link-left link-right link-top link-top link-right link-bottom link-left link-right link-left link-top-double link-bottom-double link-bottom link-bottom link-bottom-double link-right link-top link-right link-bottom link-left link-right link-left link-top-double link-right link-left link-left link-top atomix-3.19.4/data/level/acetone.atomix.xml000066400000000000000000000275571264725221400206160ustar00rootroot00000000000000 link-top-double link-top link-right link-bottom link-left link-top link-right link-left link-bottom-double link-bottom link-top link-right link-bottom link-top link-right link-bottom link-left link-left link-bottom link-bottom link-right link-top link-right link-bottom link-left link-right link-left link-bottom-double link-top link-right link-bottom link-left link-left link-top link-top-double link-top atomix-3.19.4/data/level/butanol.atomix.xml000066400000000000000000000336061264725221400206340ustar00rootroot00000000000000 link-top link-bottom link-top link-right link-bottom link-left link-bottom link-left link-top link-top link-top link-right link-bottom link-left link-top link-bottom link-top link-right link-bottom link-left link-right link-top link-bottom link-bottom link-top link-right link-bottom link-left link-bottom link-bottom link-bottom link-bottom link-right link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-left link-top link-top link-top link-top link-bottom link-top atomix-3.19.4/data/level/cyclobutane.atomix.xml000066400000000000000000000243261264725221400214770ustar00rootroot00000000000000 link-right link-left link-top link-top link-right link-bottom link-left link-right link-top link-right link-bottom link-left link-left link-bottom link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-bottom link-top link-bottom link-bottom link-right link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-left link-right link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-left link-top link-top atomix-3.19.4/data/level/dimethylether.atomix.xml000066400000000000000000000274341264725221400220410ustar00rootroot00000000000000 link-top link-right link-bottom link-left link-right link-left link-right link-top link-bottom link-left link-top link-bottom link-top link-right link-bottom link-left link-bottom link-bottom link-right link-top link-right link-bottom link-left link-right link-left link-top link-right link-bottom link-left link-left link-top link-top atomix-3.19.4/data/level/ethanal.atomix.xml000066400000000000000000000213241264725221400205760ustar00rootroot00000000000000 link-bottom link-top link-right link-bottom link-left link-top link-right link-top link-left link-right-double link-bottom link-left-double link-bottom link-bottom link-right link-top link-right link-bottom link-left link-top link-left link-right-double link-left-double link-top atomix-3.19.4/data/level/ethane.atomix.xml000066400000000000000000000214071264725221400204300ustar00rootroot00000000000000 link-top-right link-bottom link-top link-bottom-right link-bottom link-bottom-left link-top link-top-right link-bottom link-top-left link-bottom-right link-top link-top-left link-bottom-left link-bottom-right link-bottom link-bottom-left link-top link-top-right link-bottom link-top-left link-top link-bottom-right link-bottom link-bottom-left link-top-right link-top link-top-left atomix-3.19.4/data/level/ethanol.atomix.xml000066400000000000000000000225511264725221400206170ustar00rootroot00000000000000 link-top link-top link-right link-bottom link-left link-top link-bottom link-right link-bottom link-top link-right link-bottom link-left link-right link-left link-left link-bottom link-bottom link-right link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-right link-left link-left link-top link-top atomix-3.19.4/data/level/ethylene.atomix.xml000066400000000000000000000200571264725221400210010ustar00rootroot00000000000000 link-top-right link-top-right link-bottom-right link-left-double link-bottom-left link-bottom-left link-top-left link-right-double link-top-left link-bottom-right link-bottom-right link-bottom-left link-bottom-left link-top-left link-right-double link-top-right link-bottom-right link-left-double link-top-right link-top-left atomix-3.19.4/data/level/glycerin.atomix.xml000066400000000000000000000305151264725221400210000ustar00rootroot00000000000000 link-top link-top link-right link-bottom link-left link-right link-left link-top link-right link-bottom link-left link-left link-right link-right link-left link-right link-right link-left link-right link-top link-right link-bottom link-left link-left link-bottom link-left link-bottom link-right link-top link-right link-bottom link-left link-right link-left link-left link-right link-top link-right link-bottom link-left link-right link-left link-left link-right link-top link-right link-bottom link-left link-right link-left link-left link-top atomix-3.19.4/data/level/lactic-acid.atomix.xml000066400000000000000000000301431264725221400213160ustar00rootroot00000000000000 link-bottom-right link-top-right link-bottom-right link-bottom-left link-top-left link-bottom-right link-top-left link-top-right link-bottom-right link-bottom-left link-top-left link-right link-bottom-left link-top-double link-bottom-double link-left link-right link-left link-bottom-right link-top-left link-top-right link-top-left link-bottom-right link-bottom-double link-bottom-right link-top-left link-right link-bottom-left link-top-double link-right link-left link-left link-bottom-right link-top-right link-bottom-right link-bottom-left link-top-left link-top-right link-bottom-right link-bottom-left link-top-left link-top-left link-top-right link-top-left atomix-3.19.4/data/level/methanal.atomix.xml000066400000000000000000000242001264725221400207470ustar00rootroot00000000000000 link-left-double link-top link-bottom link-right-double link-top link-bottom link-bottom link-top link-bottom link-right-double link-left-double link-top atomix-3.19.4/data/level/methane.atomix.xml000066400000000000000000000207061264725221400206060ustar00rootroot00000000000000 link-left link-top link-right link-bottom link-left link-right link-bottom link-top link-bottom link-right link-top link-right link-bottom link-left link-left link-top atomix-3.19.4/data/level/methanol.atomix.xml000066400000000000000000000212051264725221400207670ustar00rootroot00000000000000 link-right link-left link-top link-top link-right link-bottom link-left link-left link-bottom link-right link-bottom link-right link-top link-right link-bottom link-left link-right link-left link-left link-top atomix-3.19.4/data/level/propanal.atomix.xml000066400000000000000000000256761264725221400210140ustar00rootroot00000000000000 link-bottom link-right link-bottom link-left link-bottom-double link-top link-top link-right link-bottom link-left link-left link-bottom link-top link-right link-bottom link-left link-right link-top-double link-top link-bottom link-bottom link-right link-top link-right link-bottom link-left link-top link-right link-bottom link-left link-right link-bottom link-left link-bottom-double link-left link-top link-top link-top-double atomix-3.19.4/data/level/propylene.atomix.xml000066400000000000000000000241641264725221400212040ustar00rootroot00000000000000 link-bottom-left link-top link-top-right link-bottom-right link-left-double link-bottom link-bottom link-right link-top link-left link-right-double link-top link-right link-bottom link-left link-top-left link-bottom link-bottom link-bottom-left link-right link-top link-right link-bottom link-left link-top link-left link-right-double link-top-right link-bottom-right link-left-double link-top link-top-left atomix-3.19.4/data/level/pyran.atomix.xml000066400000000000000000000276401264725221400203220ustar00rootroot00000000000000 link-top link-bottom-right link-left-double link-bottom-left link-top-right link-bottom-right link-bottom link-top-right link-bottom link-left-double link-bottom link-top-left link-right-double link-bottom link-top link-top link-bottom-left link-right-double link-top-left link-top link-top-right link-bottom-right link-bottom-left link-top-left link-bottom link-bottom link-top link-bottom-left link-right-double link-top link-bottom-right link-left-double link-bottom-left link-top-right link-bottom-right link-top-right link-bottom-right link-bottom-left link-top-left link-bottom link-top-left link-right-double link-top-right link-bottom link-left-double link-top-left link-top link-top atomix-3.19.4/data/level/sequence000066400000000000000000000010041264725221400166640ustar00rootroot00000000000000 atomix-3.19.4/data/level/transbutylen.atomix.xml000066400000000000000000000306511264725221400217170ustar00rootroot00000000000000 link-top-right link-bottom-right link-left-double link-bottom-left link-top-left link-right-double link-bottom-left link-top-right link-top-left link-bottom-right link-top-right link-bottom-right link-bottom-left link-top-left link-bottom-right link-bottom-right link-top-left link-top-right link-bottom-right link-bottom-left link-top-left link-top-left link-bottom-right link-bottom-left link-bottom-right link-top-right link-bottom-right link-bottom-left link-top-left link-bottom-right link-bottom-left link-top-left link-right-double link-top-right link-bottom-right link-left-double link-top-left link-top-right link-bottom-right link-bottom-left link-top-left link-top-left link-top-right link-top-left atomix-3.19.4/data/level/water.atomix.xml000066400000000000000000000137741264725221400203160ustar00rootroot00000000000000 link-left link-right link-left link-right link-right link-right link-left link-left atomix-3.19.4/data/themes/000077500000000000000000000000001264725221400153145ustar00rootroot00000000000000atomix-3.19.4/data/themes/Makefile.am000066400000000000000000000000231264725221400173430ustar00rootroot00000000000000SUBDIRS = default atomix-3.19.4/data/themes/default/000077500000000000000000000000001264725221400167405ustar00rootroot00000000000000atomix-3.19.4/data/themes/default/Makefile.am000066400000000000000000000021051264725221400207720ustar00rootroot00000000000000themesdir = $(pkgdatadir)/themes themedir = $(themesdir)/default THEME = \ arrow-bottom.png \ arrow-left.png \ arrow-right.png \ arrow-top.png \ atom-c.png \ atom-f.png \ atom-h.png \ atom-n.png \ atom-o.png \ cursor.png \ floor.png \ link-bottom-double.png \ link-bottom-left.png \ link-bottom-right.png \ link-bottom.png \ link-left-double.png \ link-left.png \ link-right-double.png \ link-right.png \ link-top-double.png \ link-top-left.png \ link-top-right.png \ link-top.png \ shadow-bottom-right.png \ shadow-left-top.png \ shadow-left.png \ shadow-top-left-both.png \ shadow-top-left.png \ shadow-top.png \ theme \ wall-bottom-left.png \ wall-bottom-right.png \ wall-horizontal-left-end.png \ wall-horizontal-right-end.png \ wall-horizontal-bottomx.png \ wall-horizontal-topx.png \ wall-horizontal.png \ wall-single.png \ wall-top-left.png \ wall-top-right.png \ wall-vertical-bottom-end.png \ wall-vertical-leftx.png \ wall-vertical-rightx.png \ wall-vertical-top-end.png \ wall-vertical.png theme_DATA = $(THEME) EXTRA_DIST = $(THEME) atomix-3.19.4/data/themes/default/arrow-bottom.png000066400000000000000000000011021264725221400220740ustar00rootroot00000000000000PNG  IHDR szzbKGDC pHYs  ~tIME $IDATx헽N0)?- 02ta*/b-m6aj;q~d5{{#hy~jd2I%@EQ @%ǁ}VK3qW0QN1p.{iP@Xm z>7lΥ,`yin8E%] ^t%fX; YX&Ү 0p& BQ $*' 8ȁa"$ƃbl"B8T\E '`l:"djӭoJ섒M "Bt|KKl % _s=g@D<\9Ag|RcM }G!ZJ^ESZH>UDJ;uV>PԬzkىn/Qh'z~G7!o"kx튾3߮RRIENDB`atomix-3.19.4/data/themes/default/arrow-left.png000066400000000000000000000010751264725221400215330ustar00rootroot00000000000000PNG  IHDR szzbKGDC pHYs  ~tIME %ɅhIDATxj@hĢ R^{|^VZ(&2k6Mzr`Fٝ@E@*Hxx:`0\HP7d"l{&qw X Gt)kUWIn.Ґ0y7D2]@wf$@]\۲{C-%5ƃc5chɝeM݂gRE>!h Q*k`T#D! ABkQJRNJQ !Y/vp[,, |SN0'"k<#jÕo`#ckhF$qhL HC-00'`2zaP5ḑxCڡ UU)5á;RM}lG{A`W׹-?o\( $mUA{+mPe$8Rtt-14+W:C`}W 7X _{[ S_)S b>DT[/~q(IjU5>uVF4`d/hٽ J\)fEC+ Cs`G\KWدSu$)M\]Ôց5Ü_G'@IQvwѢөG0IENDB`atomix-3.19.4/data/themes/default/arrow-top.png000066400000000000000000000010701264725221400213760ustar00rootroot00000000000000PNG  IHDR szzbKGDC pHYs  ~tIME $ /PIDATxKN0A E,@G趛J-G!yqR;vtɊѯgyq4h&^ J<yx*,bU@_902G7JLQaB4pW b^q$'nQaGN4o h%x(+ {Cb>R$fiz@L3SxcrԱ46s|f9:lF^;]v@f A.-˶2gu\I15cڃ82ώbQ RSX[΅;Os:r U<[4Z׮zbȁ{B/npIVs8F]ßqi'΁d nsDOɸX&XBZ Dt|OhYU!3d9@NHy IENDB`atomix-3.19.4/data/themes/default/atom-c.png000066400000000000000000000037121264725221400206310ustar00rootroot00000000000000PNG  IHDR szzbKGD pHYs  ~tIME TWIDATxŗo?%E(Q#Պc e85 5-@FFۃ FuB=@=!Jn ʡv਱ʖ,RK%rݙYSrE0rəy}s `O. e#ZB(zeOn3l/| 4`cW{RYK:tA ݘIZeuuJ2/n@U;W (Vu0@J m(X[[\._7xtP"埾{9>> h6H)QJEQ,Dkt:M*beeM? ӎFa͏=jLMMQX^^fgga`&ibBH) u}n8y;õ'K3LsG?eVVV}˲HRR),², 0qL4M\Ų,L$p.rkkeZ ?믕 Ϟ=(m۶@"q1MX8ʣ<f /|orr0T*a8ض|Eazzq4+++DQh)%iQkl?Yx:zR### qR\p۶|i ׮]K A!C}ݗc  K?#Gh4Vq/|"n<&'')J . "Rt۩g.Vnu 2f^l< @(޲,NFQD\gF>Fd2A@V# ä|,D]W~.(yI,! ey%I)g# }+ R M :&J) HJ( C @JPx 9׿:!՝|OF0цnl_ A:B(<.$˞q2QAZZZJ&l&9@2&$ikZgHĞwww1M3}&sssori("qN:ba( KuDrΥj5N8cǎqyΝ;GP 2;;DNJD<`[}zXM o{DA u?|\.G60 : ܸqrxyHm=XU/KB|G)o3 y+Sz(h4a 6nw#'gD@>' C xΐR*ɱ6y4.]ݹ y 2sYGRJfi6a<5@xG^G)E__N:߾{fmn`/=bFJ[[P+`X}ߧ^SՈRDWWwTo.+ >jkB}+cR ˲ED~ۣhN e땅;%` 1n?Y_v&;>=DQDѠVyX,R,iDw}|Zc9eKݶLAI ɐdk핵[3`x]8bҎPX,'Y.(w5zts㫍%'m-^bٌv4ێL֖IKX{¼m{WiqچwD~-腗z4y؞IENDB`atomix-3.19.4/data/themes/default/atom-f.png000066400000000000000000000036431264725221400206370ustar00rootroot00000000000000PNG  IHDR szzbKGDCXIDATxŗK{'3d`[ؑ,0+H&N $vYE ,`.^dDߑ>zXCz\.l?yxIw;um |ɗN,GWd8w|/&v1њ`1J$#ڝ67odfas,)7x@Ѐđ=x;caD'PX4dgsmv}G͋Rƽ'|Ѯ_ONL'@H yc 't!h-gL?Vl {%C̷Vm>lB@.r\@DBRm5B1mb,;hݸ q#/NIuJ+@!ӎ`Zy'oӧ'G'Iꐛ!DD, ^I˘HD!6{Osg(0$5bXJHmZ@Pnl(̈́$I$c` h C(XV^Ran]0  H= "zYnX@YogŹfo} *kjd@jN*G 4Օϥ"w7W**O38Pw%g&Eu\kF'Jp3v 飬0%;pe xR ٯ-[g~ 6arlT[:%}fYmp՝tOTuZgE\Yt1}S/2Lߠ3U~*+\MfZ@w:k8H\R_2SN5Eo6,6l(' jEtgV?}.g} LnjLϠSN5gjL^o G-&c z=h/_A5d0ABRL_`9ޖ[eK iԺBHAMQ\UAo}{:O5ЅFjKZä́&7tUw)zjMa ZotSWzTD y8ZVK{IENDB`atomix-3.19.4/data/themes/default/atom-h.png000066400000000000000000000037421264725221400206410ustar00rootroot00000000000000PNG  IHDR szzbKGD pHYs  ~tIME eoIDATxŗ]\e93;~QRjDhL 4ʽ ĘPoL11+?xA/L ~@l vٙ9=tvKUofrr=}^?/_~3GWܴǾy)@܁[Cxk#6vK9 |$}Vi}玹Yvlfjr;= /7_o~  xƏ4=wq>eCTge,,X=:7q#/?d1gԧA Vg=yBX#HzJ=Q:w^? }/XBx;#s|~HQJ!DJ B'7zc, bB͇nh8x6[gKwnq(I$IZBJ!DBd' $6q!V/P&h 9tm{^_Z+XIӴ N5J1b9141F4Z{O\K̨GNt'cWq!RH}?'-Z_?@{g1hHw}3o*F$I0:}Z& iAzN^#FV Um!Ƨ? l3w޽k;a%DX' iH^/I&JAb,:okA`+ T 7Mo!MzY)BhZoծ%ژJB 7Ġ1xb4@fn!7WVd&)6 +/7A!H ؖہI h0eקDb3F+HY"CYAؚhz?}Us74x@@oq&C*=4dYn>bĹҰB FWpQ˜ %LJ@v  !ڙNk5"9Uݴ,4X{GI?JQ~^?LuCFWgexnTy|;|aHM_=%Q<(( ) lr<'Z b "ۜ6 C^[]G+111y~b@a x rk2@ԛtϽ ti^ /^V :<ȯS(,e\A`),>6lvݟ~f'16PXeW!euCWej/w0N{y7̿쮏>۶b ;,!nU+ b2d85])ӢZ+s{<ꩆ v;^qV[7Nx5 #/=xts[ǂ}^j9JI =z24o\b@+_h_oO0_xoK;CggӶ;&DM+IRCjGUV?9ǒ?qog}E@<r1ǁx,Qw-QJR2ETZ8uc9a`tf7W@;WcH,w]zurW7['!'k Pp jID5bJh{ʃIy01o -}ݿCzv.S-mIRM)"bb9ʍҿpѝ/= :g)da QgS|=*S :ҭ! w~*7FIT! 6 1B`swRDK8tyߑc/c6&\sb,"Sl0>\:0D39ޟRMSpKqL/' =,T&;~Gv_zHd !b}k ZvC@( Ԋ{+)tCa\$M Sfmd>`LFbSj4DWI\ s oƬءZzaK5 FKC]lQXW~!㻞@[hm2TAR)&1H58$ ;*A+51FGX/#2Ϗ̩4j$%*\lK˨8BXYMʜW_Eg)o\X43H-RGWz$$V8CC/4QI:>ޔP k-*@3(^ vXy_kcD8CC[۷DQt&dG8U6Ћ,adU%+"ɐtĉ 1!x/fzSu5~p?% *ƫ  +,*ءe/[ t=gS~q8׋,Q=)KkX u*/aaC3_h_\^ ܆e$ I E/vgڒjHR$88~tX-Xqǟ,TR m TAyU=I3V:H.W;K{+`Qٱw}kpKaR)*X DGqf Ɔoh *)P)+c=X[\[\؜?h?htJR'Q$IQ]_bImׁSm BKi ZMުr_R ) }{=>[&I*:Ҭ{)+cKyۖnev3<69ޟ!-`LV ;LIu*'?.|睋o׀<:ؖ99y>p#s;F2mw5o⊷x~A*p='E&#EXF5rej:%iX~.jq/7S!,TSqN$p מIENDB`atomix-3.19.4/data/themes/default/atom-o.png000066400000000000000000000043141264725221400206440ustar00rootroot00000000000000PNG  IHDR szzbKGD pHYs  ~tIME ,(MYIDATxŗidUj뭺{zzf`Ą6 $AL$$0I\?Q?QL0 A"Ȣa鞞Z^[=~xaQ7W?s ogskOqȟȘhD+Rֹ銓$޳Og;0 +,?/"f)Oex8_zh\6nYykoGf0*60&&FK"2<zY<~^u_{ۏ)]y}TO|;R'|e;I֯xJ"8#"lӧU[!lx!%X6Z)/p =ONl[L7_&SY%d<*p*V @,fffюæpy|ؑŕY@~4o`玲{?Ktr5~/C{й<*Ce2(/+IL- +Bd 0DJp-VjbMw?s'ZuB*GzFq֞)W''jEV+5h/ָzm#OCt3?6m \| vz=>M_g`()RoOcE-,V*@KiFC;.*8De=} m5W}ďkq#䇆qU$7F?cu@Ԁi]b*(R 8(ףpxc<@덿$_F!QìN\Щ`9quľOpQ5+tbNFuAk??YSILSJ%iot4 zoO}Vhi@l21MG#cxv4$访Fd*P%א 61HrՍ(DZM$ 8lS6y"٨#C#Bj_G!BcɆAbzW0-gUq!d6t ʫAlXI M٩UzבF 6tkJ""h^퇲MXaXߠ 1nlaOY?:D"Fp.lT26W TVB=,jn%Herdo[09}{f ޯ,v$޳ʙB(׃}-((򽟠y|{tT&-c;VD}X#<T.Kgg/[vφE7W l@ IP~n?N;00㇙c(=eȲYF3u/IL 8739fZZIj}jҷH*U@`-ciH`%#`,/f$KЬfFÈ0 1(3ԘM M#&I Y$P-ea{;'@ x5?NՋ%(!Av5D:"{iK%, \ڑKSlrĞ*/fd5Z1"QC2вL]6nRh(#p~csx"(:K1`.U` G᭵BY 6ٴm FX-C%r#O}os9(0=D3#}cGc EVhm4DĖRh(Gl{l{L끹ǗG_&)Benس»/όZ4at~{=-6$1-[)-aUի0>٬PkxJ):?Eu6s蝛Cm=/':("Kf{ %}/7;#zŋ* IENDB`atomix-3.19.4/data/themes/default/decor-liquid.png000066400000000000000000000016611264725221400220330ustar00rootroot00000000000000PNG  IHDR szzbKGD pHYs  ~tIME -Qv>IDATxk\U{̝4eI X:!$VJARA )"tݍH5eBȦX&&`&$4mMj: N29E@ M<{.vdw#ٝNU0 'SU}{xj:l~.{oL0U 49Z!ST@$0tBq;-grf򿏄#J/&S'؍D%)ʥ>/vQ}{Cu~Tŀtٟ\K Z2c"%S٧d:ȏ_.D!ƭpBD5ZȬd69MCaaˮrǟ?q@]MZ 5K4Q,bAyɩJS(%GK[>r<(XMD=ӳ7Ig+t|xܚQ d KK,W z` <ds9&f8{qB~^h6J])r1BmǭsP(8k5Ju+C'-KX/$%SF5kK`\3%3 |}e蛟(9џNj]pc?L5~'Ro"F]q?8>\}wN;ηUD\? \uH$]-NzΨF۔IENDB`atomix-3.19.4/data/themes/default/floor.png000066400000000000000000000004131264725221400205650ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxн 0/i;X;)3pZA!C;4?nn&yo!G0c1ؿ&My?$9FQж-k4MoY] 8hu]?˲ܽ3ir]7}ߏmRgueY^)u a}04B0#hK}M_ Je_X}K># d[8/a9IENDB`atomix-3.19.4/data/themes/default/link-bottom-left.png000066400000000000000000000005321264725221400226350ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~IDATx?j@_V "jo  rr`%Bb1vvdSḨ@QEQEQ8<ϗ(Ɨij,[mM,g7oGsim^$g=7azu]}!|g]Dģ(cam0<[Y<u4M"LӄG\UUujt]AJyIt˲]u}In`ϯ/neSeIENDB`atomix-3.19.4/data/themes/default/link-bottom-right.png000066400000000000000000000005551264725221400230250ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~IDATx=0ƀ1~!CLjzaϣƀsIƭfem    cqZ34MӪ۶u]EQ!eMM<CW۶/|꺎aJ),cG!4uM<( !Wa_=BUU43B}@AEW]:riڶ}(eBxK`Ѻ@)uc ',+e8|s7VIENDB`atomix-3.19.4/data/themes/default/link-bottom.png000066400000000000000000000003201264725221400217000ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~rIDATx1 Ѓ׵2"iT .pvT """""9P) !"1zzkvRB5:6kZ [x.`!e&IENDB`atomix-3.19.4/data/themes/default/link-left-double.png000066400000000000000000000005111264725221400226000ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~IDATx!@EuHc:$f/!83jE*D@N2H_RMT_ 8١<̌}ki`\)#2/IlZU qAD}g9]ׁ,,&}yfYviaPUжm[ŧ0Rjq,g KEḭŐm}4MvTBIENDB`atomix-3.19.4/data/themes/default/link-left.png000066400000000000000000000003161264725221400213330ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~pIDATxӱ 0D?2Ү *V ݇%(EZ1$ { ,˂!p5 s(zϰ뺟(ލ1䀚}_۶& UUkcg[,Klۖ?BmiBI={'2Li9PsIENDB`atomix-3.19.4/data/themes/default/link-right.png000066400000000000000000000003161264725221400215160ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~pIDATxϱ 7bj&مyhhYN%7Nrg)XrWoVb{J "Jsvz卑fZkc朏$""MIENDB`atomix-3.19.4/data/themes/default/link-top-double.png000066400000000000000000000004651264725221400224600ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~IDATx?@o/&@{`'YH+ϗ p!)+af8,k۶4p]W6Mâ(.kv]m=$J)oضNB\]inyKeR%,BEcl$I<F^a&z$Ij$B*"G{0@)!,wOmPE Cx MӐ|>*"˲H4OUURi٬/ˡ*#GR,8x<4}Nu}n(  G.H IENDB`atomix-3.19.4/data/themes/default/link-top-right.png000066400000000000000000000005661264725221400223250ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~IDATx!r@N-2K 8 Dg8C *GȮ*06q-.RO t]&`ZiTU'`#qݺ!苢H{AeubY((_3qIENDB`atomix-3.19.4/data/themes/default/link-top.png000066400000000000000000000003141264725221400212010ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs  ~nIDATxб DQ+55+bh\årpȽЗERJPU1ZCDD9]]`T4*w)X.N6z tIENDB`atomix-3.19.4/data/themes/default/shadow-bottom-right.png000066400000000000000000000002621264725221400233500ustar00rootroot00000000000000PNG  IHDR szzbKGDgIDATx10E1q$D Hn#¹ ]~Yft@'{Gf;| C4J)Rnq#FQ}IENDB`atomix-3.19.4/data/themes/default/shadow-left-top.png000066400000000000000000000003221264725221400224600ustar00rootroot00000000000000PNG  IHDR szzbKGDIDATxӱ A/0 L "ByB&0NK,@C8ܯp}p. bxvB$=$VX'02 !I 0OYi<0Iq4@ PQ%IENDB`atomix-3.19.4/data/themes/default/shadow-left.png000066400000000000000000000002041264725221400216570ustar00rootroot00000000000000PNG  IHDR szzbKGD9IDATxΡ # bͼyt9@G IENDB`atomix-3.19.4/data/themes/default/shadow-top-left-both.png000066400000000000000000000003661264725221400234220ustar00rootroot00000000000000PNG  IHDR szzbKGDIDATxս QȄ2E,2P ˵,Wݞ{9^Q&3LJ#,1'@/ }lЎ@;4(q= 8G! 7 ](ԆQ鵜OTKn([d@d@d@d#_=^baIENDB`atomix-3.19.4/data/themes/default/shadow-top-left.png000066400000000000000000000003151264725221400224620ustar00rootroot00000000000000PNG  IHDR szzbKGDIDATxӡ AwBaP( A0WS&A0̗lew^x@KwcI\Oz$@ & PNW $@뺮B&#MGIENDB`atomix-3.19.4/data/themes/default/shadow-top.png000066400000000000000000000002001264725221400215230ustar00rootroot00000000000000PNG  IHDR szzbKGD5IDATxA 0 @G*G!`s-:+@> 6zXZkOfIENDB`atomix-3.19.4/data/themes/default/theme000066400000000000000000000035151264725221400177710ustar00rootroot00000000000000 atomix-3.19.4/data/themes/default/wall-bottom-left.png000066400000000000000000000010401264725221400226320ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxŖKr0D[?Rc2KeX.7 Llk x3k@" a3!jpx0! }58"x렜-rO,x4P&`JRη 1L«EB=Ie`ӚG0.yOȶ]§JF??/d«5a)J&8%/b$ RB05*@VoL!6,/@ۮm!,1I8G^z<4^BV &s7/#[ ]tG8ka> !x H :;k71_o+5֘?LeBa|Q@Qsgm5]Rv\;"_tQ_ï*0T~E9t76:48~ pIpStyIENDB`atomix-3.19.4/data/themes/default/wall-bottom-right.png000066400000000000000000000007251264725221400230260ustar00rootroot00000000000000PNG  IHDR szzbKGDIDATxA0 E޷gv7D;E! m "0KHD@?׫dT rM Q5vAd S s;\ךfT g b 'Ld63)y}P].-7<}ffȞVWB{<ՠoY{&KӘt#Hf&0<ۂȮ?oϒUw^vMƒ/ p' Fu_ 9'MIENDB`atomix-3.19.4/data/themes/default/wall-horizontal-bottomx.png000066400000000000000000000007001264725221400242630ustar00rootroot00000000000000PNG  IHDR bKGD pHYs  ~tIME 3޻MIDATxMr0 F%Y8I 2=%2(lӁ8iW|k=9?2>.0 hf{M)zlVl) !^qw*. ADm:HdqDZ0[[T TDC)l)%~^mk1f^1DRٮ9FD߶_ "D<[ΪVU4x=vD{ȽkmY]q "1T5Wt$"A$xAamXOv'|ߚ>}I? _LH"~)~& :|UY>ӡ;Aamq.31PnsCvvX1 IENDB`atomix-3.19.4/data/themes/default/wall-horizontal-left-end.png000066400000000000000000000011411264725221400242650ustar00rootroot00000000000000PNG  IHDR bKGD pHYs  ~tIME 7M懂IDATxMR#1 F?re)ĒY81!I貫,ၘV3swD`\<1Y.#q3wgfNI:UU;# D!"N)E`CJDI=ۻ!p7UX^C;$f|wCN'͡3S!g~PνVZ _AgU3""hy̮'ƟpD)U/n>"(uG0s_W|Mph'zCc}J)ooo' Kٮ-{K)7̜R__١D5Z#Bo $gY,:m78B/}~MIzN z| UݬV^%͘tzZo$ֺlFo=Rp:>P~PIENDB`atomix-3.19.4/data/themes/default/wall-horizontal-right-end.png000066400000000000000000000011071264725221400244520ustar00rootroot00000000000000PNG  IHDR bKGD pHYs  ~tIME 8q{IDATxn0gYa.}\R*5)a@3?_,hfJ;'"VˋB)m%x_Da\.1F@1^>bعctfv"!2dYJ4!ScNy?դ.z_#U)iJQ`#ezRk:mFP8"w﫼+X rfe@>[عbLCf)8{L'"DNE0l҉HG;nv^*0 >f2S՝)%"!7`!HƼ׭,Y,|'3(3% @eLdC~z.f\h beIENDB`atomix-3.19.4/data/themes/default/wall-horizontal-topx.png000066400000000000000000000011741264725221400235670ustar00rootroot00000000000000PNG  IHDR bKGD pHYs  ~tIME >ln IDATxr0 %r/g܆@I,[ oCٻW#4c-x1-D{f3I7pC@t+TcEmiQ>!( ƨ@䧩~}5k3\]ҏjS"|<݉qܟVhm[:/¹{10sݖM3@|q%@b[w]4 "Cg@R>16MsڑSf댵OeiS:c~4aZXgdܯ࣎~07C! Xt Ѧi.Lb?Mhb?ρY[uZD&M.*|cڭVB(./JfZ):fQmZ33" hyzQ)$A4W$;9c4"yg셈J/4c\| Ob>kaCHDs |̯n74#-0]IENDB`atomix-3.19.4/data/themes/default/wall-horizontal.png000066400000000000000000000004031264725221400225710ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxA aZ{^KvijHqAhvȃ}98X+Zc?/UM㨪D1jwz ,bfXǒ*"=u.e773([بoǀ*)@q1gDaEyWC@yO+f"">SL1g +3;hW0#S'3%=s;練> HKvq O"Kb?>뺟]§/$"I6ؒIENDB`atomix-3.19.4/data/themes/default/wall-top-left.png000066400000000000000000000007341264725221400221410ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxMr0 ms1),`[R`5L +$=hDS^i0t! Dup0"5psn7Ĉ Dy]XECTY Td[q"AT̻@pz0,1y2 &|=1 !<5'"Ebܢ mZZ"z?̊K>RHc+2? G rG(:+vZ ι͋~@sm Ta k3',!(%!'`*XkMӠޣ_ B#x 9WIENDB`atomix-3.19.4/data/themes/default/wall-top-right.png000066400000000000000000000010441264725221400223170ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxڽ]n0䒴CL/Q$.Z@r?>"։E2A7Ýߟ{ocEp!%+J/ ēspN#|ƒ `fBln[(w\<93"Փہm(Z ZxAN5plZӯ%c-k|3+?P¯%k[𫇹E;E&{KP bt󝣘CT >>6"m-~ßNV1rDIENDB`atomix-3.19.4/data/themes/default/wall-vertical-bottom-end.png000066400000000000000000000010011264725221400242520ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxn!`4/Tɪ"YjJ ".vgq0 Ѱu}#r;jj\gC?S:^lr~ߋpPmt~s!yr圫oJAal ?72"WFD<@D ƀls 1$Bx,!X =qDN 9g۲iWsWULӄH"CuQ{y ĻD\C@j~ua>O,JruMpMC_ #p^p0 xUH|/X<Ÿ~B*"q ħi=_H1@*kV qK8/K%P9>놜JIJHˋ:G˫Kevno%f IENDB`atomix-3.19.4/data/themes/default/wall-vertical-leftx.png000066400000000000000000000011001264725221400233240ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxڽr@EW5c+6XCtT@_A#> ^0F,eYFScdbq LDEUQْuםwsjY$+ sϦhwg7`$I@Xc0ZcsSwlvas@ϰL;6<݌f`h#l6mG,Cc;G۶f wјAuIENDB`atomix-3.19.4/data/themes/default/wall-vertical-top-end.png000066400000000000000000000010571264725221400235630ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATx0Dv/Hff%n{  lٕ\r܏JZ1U^>kx S2qH3cu'Bl!!%#猘*z8Pk%Ĉxf~Tє8v#>9 S%1Z>FDضC}Nf]JyX!"8=ff`4pLmgߎA܇ p̂>v{S&Uoɵq> "Dpӫ68הN~mjMyߘi@QK!N|Rr޳+T񵎵=fx6%~y3+EL!:Jw9kݎZ 9>Jݏ^ 9w/e8Re`Y]Lો3u8l6~}~UbߓEO1o ʓsIENDB`atomix-3.19.4/data/themes/default/wall-vertical.png000066400000000000000000000004051264725221400222130ustar00rootroot00000000000000PNG  IHDR szzbKGDCIDATxA Etsz/٥"M5&.hc 餔b "rG˂Lιs CN{} 678 520 False 0 atomix Atomix True False vertical True False True False _File True True False True False _New Game True win.GameNew True False _End Game True win.GameEnd True False True False _Skip Level True win.GameSkip True False _Reset Level True win.GameReset True False _Undo Move True win.GameUndo True False _Pause Game True win.GamePause True False _Continue Game True win.GameContinue True False True False _Quit True app.GameQuit True False _Help True True False True False _About app.GameAbout True False True 0 True False 12 True False 0 0 none True False True False center center True True 0 True False vertical 6 True False 0 in True False True False 12 6 4 True False end Level: 0 0 True False end Molecule: 0 1 True False end Formula: 0 2 True False end Score: 0 3 True False end Time: 0 4 True False start empty 1 0 True False 0 empty 1 1 True False 0 empty 1 2 True False 0 empty 1 3 True False Statistics False True 0 True False 0 none 200 50 True False True False center center True True 1 False True 1 True True 1
New Game win.GameNew <Primary>n End Game win.GameEnd Skip Level win.GameSkip <Primary>s Reset Level win.GameReset Undo Move win.GameUndo <Primary>z Pause Game win.GamePause <Primary>c Continue Game win.GameContinue <Primary>c
About app.GameAbout Quit app.GameQuit <Primary>q
atomix-3.19.4/po/000077500000000000000000000000001264725221400135345ustar00rootroot00000000000000atomix-3.19.4/po/ChangeLog000066400000000000000000000471121264725221400153130ustar00rootroot000000000000002008-07-31 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-07-31 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2008-07-09 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. 2008-07-02 Yannig Marchegay * oc.po: Updated Occitan translation. 2008-06-11 Yannig Marchegay * oc.po: Updated Occitan translation. 2008-03-07 Inaki Larranaga Murgoitio * eu.po: Updated Basque translation. 2008-03-05 Inaki Larranaga Murgoitio * LINGUAS: Added " please keep this list sorted alphabetically" * LINGUAS: Added 'eu' (Basque) entry. * eu.po: Add Basque translation. 2007-12-31 Yannig Marchegay * oc.po: Updated Occitan translation. 2007-12-04 Nikos Charonitakis * el.po: Updated Greek translation by Athanasios Lefteris . 2007-11-21 Yannig Marchegay * oc.po: Updated Occitan translation 2007-11-01 Gabor Kelemen * hu.po: Translation updated 2007-05-19 Leonardo Ferreira Fontenelle * pt_BR.po: Fix in Brazilian Portuguese translation by Raul Pereira . 2007-04-25 Christophe Merlet * oc.po: Added Occitan translation from Yannig MARCHEGAY . * LINGUAS: Added "oc" (Occitan). 2007-04-22 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-03-21 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. 2007-02-22 Peter Bach * da.po: Updated Danish translation. 2007-02-12 Stéphane Raimbault * fr.po: Updated French translation (shortcuts) by Jonathan Ernst. 2007-02-12 Pema Geyleg * LINGUAS: Added dz to the list. * dz.po: Added Dzongkha Translation. 2007-01-10 Theppitak Karoonboonyanan * th.po: Added Thai translation by Neutron Soutmun . * LINGUAS: Added th. 2007-01-08 Alessio Frusciante * it.po: Updated Italian translation by Paolo Sammicheli . 2006-11-18 Djihed Afifi * ar.po: Added Arabic Translation. * LINGUAS: Added ar. 2006-11-17 Gabor Kelemen * hu.po: Translation updated. 2006-09-11 David Lodge * en_GB.po: Updated British (English) translation. 2006-08-22 Gintautas Miliauskas * lt.po: Updated Lithuanian translation. 2006-08-14 Jordi Mas i Hernàndez * ca.po: Fixes typos and errors in the Catalan translation 2006-07-29 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-07-25 Christophe Merlet * fr.po: Updated French translation from Jonathan Ernst . 2006-07-21 Josep Puigdemont i Casamajó * ca.po: Updated Catalan translation by Esteve Blanch Sanmartí 2006-06-19 Marcel Telka * sk.po: Updated Slovak translation. 2006-06-16 Yair Hershkovitz * he.po: Updated Hebrew translation. 2006-06-15 Hendrik Richter * de.po: Updated German translation. 2006-04-12 Daniel Nylander * sv.po: Updated Swedish translation 2006-03-13 Runa Bhattacharjee * bn.po: Added Bengali Translation by Progga. 2006-02-23 Clytie Siddall * ka.po: Added Georgian translation by Gia Shervashidze . 2006-02-15 Gabor Kelemen * hu.po: Hungarian translation updated. 2006-01-30 Lukas Novotny * cs.po: Updated Czech translation. 2006-01-30 Laurent Dhima * sq.po: Updated Albanian translation. 2006-01-23 Kjartan Maraas * nb.po: Updated Norwegian bokmål translation. * no.po: Same. 2006-01-22 Hendrik Brandt * de.po: Updated German translation. 2006-01-22 Nickolay V. Shmyrev * ru.po: Updated Russian translation by Valek Filippov. 2006-01-19 Ales Nyakhaychyk * be.po: Updated Belarusian translation. 2006-01-19 Priit Laes * et.po: Translation updated by Ivar Smolin. 2006-01-12 Slobodan D. Sredojevic * sr.po, sr@Latn.po: Updated Serbian translation 2006-01-10 Abel Cheung * zh_HK.po: New Chinese (Hong Kong) translation * zh_TW.po: Updated Chinese (Taiwan) translation 2006-01-09 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2006-01-09 Alexander Shopov * bg.po: Updated Bulgarian translation. 2006-01-08 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2006-01-08 Takeshi AIHANA * ja.po: Updated Japanese translation. 2006-01-07 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-01-07 Clytie Siddall * vi.po: Updated Vietnamese translation. 2006-01-07 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-01-06 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2005-01-06 Ankit Patel * gu.po: Updated Gujarati Translation. 2006-01-05 Guilherme de S. Pastore * pt_BR.po: Updated Brazilian Portuguese translation. 2006-01-04 Slobodan D. Sredojevic * sr.po, sr@Latn.po: Updated Serbian translation 2005-12-20 Abel Cheung * zh_TW.po: Updated traditional Chinese translation from GNOME HK Team 2005-12-19 Clytie Siddall * vi.po: Updated Vietnamese translation. 2005-12-09 Vincent van Adrighem * nl.po: Translation updated by Tino Meinen. 2005-12-09 Ankit Patel * gu.po: Updated Gujarati Translation. 2005-12-08 Kjartan Maraas * nb.po: Updated Norwegian bokmÃ¥l translation. * no.po: Same. 2005-12-06 Žygimantas Beručka * lt.po: Added Lithuanian translation. 2005-11-26 Marcel Telka * sk.po: Updated Slovak translation. 2005-11-23 Alexander Shopov * bg.po: Updated Bulgarian translation by Alexander Shopov 2005-11-21 Priit Laes * et.po: Translation updated by Ivar Smolin. 2005-11-20 Amanpreet Singh Alam * pa.po: Added Punjabi Translation File 2005-11-20 Kjartan Maraas * nb.po: Add this. 2005-11-18 Laurent Dhima * sq.po: Updated Albanian translation. 2005-11-17 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-11-16 Priit Laes * et.po: Translation updated by Ivar Smolin. 2005-11-15 Takeshi AIHANA * ja.po: Updated Japanese translation. 2005-11-14 Guilherme de S. Pastore * es.po: Converted to UTF-8. 2005-11-14 Ignacio Casal Quinteiro * gl.po: Updated Galician Translation. 2005-11-14 Marcel Telka * sk.po: Updated Slovak translation. 2005-11-14 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2005-11-14 Ilkka Tuohela * fi.po: Updated Finnish translation. 2005-11-13 Guilherme de S. Pastore * pt_BR.po: updated Brazilian Portuguese translation * POTFILES.in: updated for the name change in some levels 2005-11-13 Christian Rose * sv.po: Updated Swedish translation. 2005-09-10 Guilherme de S. Pastore * pt_BR.po: updated Brazilian Portuguese translation 2005-08-08 Chao-Hsiung Liao * zh_TW.po: Updated Traditional Chinese translation. 2005-08-04 Takeshi AIHANA * ja.po: Updated Japanese translation. 2005-06-26 Guilherme de S. Pastore * pt_BR.po: fixed Brazilian Portuguese translation of Ethylene (Etileno -> Eteno). 2005-06-18 Guilherme de S. Pastore * pt_BR.po: Updated Brazilian Portuguese translation. 2005-06-16 Guilherme de S. Pastore * POTFILES.in: added all level files to POTFILES.in * pt_BR.po: first attempt to translate chemical substances names, proof-read by Leonardo Pereira . Thanks! 2005-04-24 Guilherme de S. Pastore * pt_BR.po: Updated, revised and fixed some encoding problems with the Brazilian Portuguese translation 2005-04-23 Estêvão Samuel Procópio * pt_BR.po: Updated Brazilian Portuguese Translation. 2005-03-26 Guilherme de S. Pastore * POTFILES.in: src/atomix-ui.xml.in no longer exists, replaced with src/atomix-ui.xml 2005-03-16 Guilherme de S. Pastore * pt_BR.po: Fixed spelling mistake in the Brazilian Portuguese translation 2004-08-23 Alastair McKinstry * ga.po: Added Irish translation. 2004-08-20 Laurent Dhima * sq.po: Updated Albanian translation. 2004-08-18 Laurent Dhima * sq.po: Updated Albanian translation. 2004-08-13 Tommi Vainikainen * fi.po: Unified some fields in po headers for Finnish team. 2004-08-19 Ankit Patel * gu.po: Translation updated. 2004-06-28 Laurent Dhima * sq.po: Translation updated. 2004-06-06 Alexander Shopov * bg.po: Added Bulgarian translation by Rostislav Raikov 2004-05-26 Vincent van Adrighem * nl.po: Translation updated. 2004-05-12 Samúel Jón Gunnarsson * is.po: Added Icelandic translation by Victor Jónsson 2004-04-30 Adam Weinberger * en_CA.po: Added Canadian English translation. 2004-04-15 Andras Timar * hu.po: Updated Hungarian translation. 2004-04-10 Baris Cicek * tr.po: Fixed Charset On Turkish Translation 2004-04-04 Gareth Owen * en_GB.po: Added British English translation 2004-03-30 Pablo Saratxaga * wa.po: updated Walloon file 2004-03-21 Andras Timar * hu.po: Updated Hungarian translation. 2004-02-27 Priit Laes * et.po: Translation updated by Tõivo Leedjärv. 2004-02-26 Vincent van Adrighem * nl.po: Translation updated by Kees van den Broek. 2004-02-23 Guntupalli Karunakar * hi.po: updated Hindi translation. 2004-01-31 Laurent Dhima * sq.po: Updated Albanian translation. 2004-01-28 Miloslav Trmac * cs.po: Fixed Czech translation. 2003-12-26 Jordi Mallach * ca.po: Recode to UTF-8. 2003-12-18 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2003-12-03 Jens Finke * es.po: Updated Spanish translation by �varo Pe� Gonz�ez. * ko.po: New Korean translation by Young nskystars-goo. 2003-10-25 Metin Amiroff * az.po: Updated Azerbaijani translation. 2003-07-17 Vincent van Adrighem * nl.po: Dutch translation updated by Kees van den Broek. 2003-07-08 Andras Timar * hu.po: Terminology fixes. 2003-06-23 Vincent van Adrighem * nl.po: Dutch translation updated by hemmes. 2003-06-23 Vincent van Adrighem * nl.po: Dutch translation updated by Kees van den Broek. 2003-06-04 Abel Cheung * ta.po: Fix broken encoding. 2003-05-26 Alessio Frusciante * it.po: Updated Italian translation by Paolo Sammicheli. 2003-05-06 Danilo Å egan * sr.po, sr@Latn.po: Added Serbian translation by http://Prevod.org/. 2003-03-20 Gil "Dolfin" Osher * he.po: Added Hebrew translation. 2003-03-07 Metin Amiroff * az.po: Updated Azerbaijani translation. 2003-02-24 Roozbeh Pournader * fa.po: Updated Persian translation. 2003-02-22 Laurent Dhima * sq.po: Added Albanian translation. 2003-02-21 Roozbeh Pournader * fa.po: Added Persian translation. 2003-01-24 Daniel Yacob * am.po: Added Amharic translation. 2002-01-08 German Poo-Caaman~o * es.po: Updated translation by Tatiana Gutierrez Bunster 2002-01-07 Naba Kumar * hi.po: New hindi translation by Guntupalli Karunakar 2002-12-30 Fatih Demir * kn.po: Added Kanada translation by Pramod R . 2002-12-29 Pablo Saratxaga * wa.po: Converted to UTF-8 2002-11-22 Dmitry G. Mastrukov * be.po: Added Belarusian translation * from Belarusian team . 2002-11-05 Fatih Demir * ta.po: Added Tamil translation by Elango. 2002-10-09 Stanislav Brabec * cs.po: Added Czech translation from Michal Bukovjan . 2002-07-25 Christophe Merlet * fr.po: Updated French translation. 2002-07-18 Jens Finke * de.po: Updated German translation. 2002-06-21 Andras Timar * hu.po: Added Hungarian file. 2002-06-06 Jesus Bravo Alvarez * gl.po: Updated Galician translation from Manuel A. Fernandez Montecelo 2002-05-29 Pablo Saratxaga * vi.po: Updated Vietnamese file 2002-05-26 Carlos Perello Marin * pt_BR.po: Updated by Alexandre Folle de Menezes * 2002-05-12 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Alexandre Folle de Menezes . 2002-05-05 Gustavo Maciel Dias Vieira * pt_BR.po: Added Brazilian Portuguese translation done by Alexandre Folle de Menezes . 2002-05-04 Peteris Krisjanis *lv.po: Updated Latvian translation 2002-04-29 Pablo Saratxaga * vi.po: Added Vietnamese file * wa.po: Updated Walloon file 2002-04-29 Duarte Loreto * pt.po: Converted Portuguese translation to UTF-8. 2002-04-19 Pablo Saratxaga * ca.po: Added Catalan file * wa.po: Added Walloon file 2002-04-14 Abel Cheung * zh_TW.po: Updated traditional Chinese translation. 2002-04-12 Jarkko Ranta * fi.po: Added Finnish translation by Lauri Nurmi. 2002-04-11 Takeshi Aihana * ja.po: Added Japanese Translation. 2002-03-30 T?µivo Leedj?¤rv * et.po: Updated Estonian translation. 2002-03-22 T?µivo Leedj?¤rv * et.po: Added Estonian translation. 2002-03-08 Ole Laursen * da.po: Updated Danish translation. 2002-03-04 Kjartan Maraas * no.po: Updated Norwegian (bokm?Â¥l) translation. 2002-03-04 Fatih Demir * tr.po: Committed updated Turkish translation by G?¶rkem. 2002-03-03 Wang Jian * zh_CN.po: Updated Simplified Chinese translation. 2002-03-02 Duarte Loreto * pt.po: Updated Portuguese translation. 2002-03-01 Christophe Merlet * fr.po: updated French translation and converted to UTF-8. 2002-02-29 Valek Filippov * ru.po: updated russian translation. 2002-02-28 Zbigniew Chyla * pl.po: Updated Polish translation by GNOME PL Team . 2002-02-28 Stanislav Visnovsky * sk.po: Updated Slovak translation. 2002-02-27 Jens Finke * de.po: Updated german translation and converted it to UTF-8. 2002-02-20 Hasbullah Bin Pit * ms.po: Updated Malay Translation. 2002-02-19 Simos Xenitellis * el.po: Added Greek translation. 2002-02-18 Christian Rose * sv.po: Updated Swedish translation. 2002-02-17 Jens Finke * de.po: Updated german translation. 2002-02-17 Wang Jian * zh_CN.po: Updated Simplified Chinese translation. 2002-02-16 Jens Finke * POTFILES.skip: New file. 2002-01-30 Zbigniew Chyla * pl.po: Updated Polish translation by GNOME PL Team . 2002-01-29 Wang Jian * zh_CN.po: Converted to UTF-8. 2002-01-28 Christian Rose * sv.po: Converted to UTF-8. 2002-01-21 Wang Jian * zh_CN.po: Added Simplified Chinese translation by Wang Li . 2002-01-19 Hasbullah Bin Pit * ms.po: Added Malay Malay Translation. 2002-01-13 Peteris Krisjanis * lv.po: Added Latvian translation. 2001-12-21 Duarte Loreto * pt.po: Updated portuguese translation 2001-12-12 Kjartan Maraas * no.po: Updated Norwegian (bokm?Â¥l) translation. 2001-12-12 Stanislav Visnovsky * sk.po: Added Slovak translation. 2001-12-09 Jens Finke * POTFILES.in: Added src/atomix-ui.xml.in. 2001-12-09 Abel Cheung * zh_TW.po: Updated traditional Chinese translation. 2001-12-08 Christian Rose * sv.po: Updated Swedish translation. 2001-12-07 Pablo Saratxaga * az.po: Added Azeri file 2001-12-04 Kjartan Maraas * no.po: Updated Norwegian (bokm?Â¥l) translation. * POTFILES.in: Update. 2001-12-02 Christian Rose * sv.po: Updated Swedish translation. 2001-11-30 Christian Rose * sv.po: Updated Swedish translation. 2001-11-30 Yuriy Syrota * uk.po: Added uk.po (ukrainian translation) 2001-11-29 German Poo-Caaman~o * es.po: Added es.po (spanish translation) 2001-11-28 Abel Cheung * zh_TW.po: Updated traditional Chinese translation. 2001-11-27 Jesus Bravo Alvarez * gl.po: Added Galician translation from Manuel A. Fern??ndez Montecelo 2001-11-24 Jens Finke * POTFILES.in: Removed src/callbacks.c 2001-11-21 Abel Cheung * zh_TW.po: New traditional Chinese translation. 2001-11-12 Carlos Perell?³ Mar?­n * da.po, de.po, fr.po, nl.po, no.po, , pl.po, pt.po, ru.po, tr.po: Added from GNOME 1.4 version. * it.gmo, po2tbl.sed.in, sv.gmo: Removed, generated files. atomix-3.19.4/po/LINGUAS000066400000000000000000000004131264725221400145570ustar00rootroot00000000000000# please keep this list sorted alphabetically # af am ar az be bg bn bs ca cs da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hu id is it ja ka kn ko lt lv mk ml ms nb nl oc pa pl pt pt_BR ro ru sk sl sq sr sr@latin sv ta th tr uk vi wa zh_CN zh_HK zh_TW atomix-3.19.4/po/POTFILES.in000066400000000000000000000014031264725221400153070ustar00rootroot00000000000000data/atomix.appdata.xml.in data/atomix.desktop.in data/level/aceticacid.atomix.xml data/level/acetone.atomix.xml data/level/butanol.atomix.xml data/level/cyclobutane.atomix.xml data/level/dimethylether.atomix.xml data/level/ethanal.atomix.xml data/level/ethane.atomix.xml data/level/ethanol.atomix.xml data/level/ethylene.atomix.xml data/level/glycerin.atomix.xml data/level/lactic-acid.atomix.xml data/level/methanal.atomix.xml data/level/methane.atomix.xml data/level/methanol.atomix.xml data/level/propanal.atomix.xml data/level/propylene.atomix.xml data/level/pyran.atomix.xml data/level/transbutylen.atomix.xml data/level/water.atomix.xml [type: gettext/glade]data/ui/interface.ui src/board-gtk.c src/games-show.c src/level-manager.c src/main.c src/theme-manager.c atomix-3.19.4/po/POTFILES.skip000066400000000000000000000000221264725221400156430ustar00rootroot00000000000000src/atomix-ui.xml atomix-3.19.4/po/af.po000066400000000000000000000137141264725221400144700ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Hermien Bos , 2010. # F Wolff , 2010. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: " "http://bugzilla.gnome.org/enter_bug.cgi?product=atomix&component=general\n" "POT-Creation-Date: 2010-12-13 21:53+0000\n" "PO-Revision-Date: 2010-12-15 19:54+0200\n" "Last-Translator: F Wolff \n" "Language-Team: translate-discuss-af@lists.sourceforge.net\n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.0-beta1\n" "X-Project-Style: gnome\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Asynsuur/Etanoësuur" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Asetoon/Propanoësuur" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Siklobutaan" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetiel-eter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanoon" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etaan" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Eteen" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Gliserien" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Melksuur" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metoon" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metaan" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanoon" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propeen" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piraan" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbuteen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Water" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Kon nie skakel wys nie" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Tyd" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Telling" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "Nuwe spel" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Spel" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Fout" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Kon nie vlakvolgordebeskrywing vind nie." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Geen vlak gevind nie." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Vlak '%s' gevind in: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "'n Legkaartspeletjie oor atome en molekules" #: ../src/main.c:170 msgid "translator-credits" msgstr "Hermien Bos" #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Baie geluk! Al die Atomix-vlakke is voltooi." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Kon nie eers een vlak vind nie." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Wil u die spel beëindig?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistiek" #: ../src/main.c:707 msgid "Level:" msgstr "Vlak:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molekule:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formule:" #: ../src/main.c:710 msgid "Score:" msgstr "Telling:" #: ../src/main.c:711 msgid "Time:" msgstr "Tyd:" #: ../src/main.c:734 msgid "_Game" msgstr "_Spel" #: ../src/main.c:735 msgid "_Help" msgstr "_Hulp" #: ../src/main.c:737 msgid "End Game" msgstr "Beëindig spel" #: ../src/main.c:738 msgid "Skip Level" msgstr "Slaan vlak oor" #: ../src/main.c:739 msgid "Reset Level" msgstr "Begin vlak oor" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Stop spel tydelik" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Gaan voort met spel" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Punte..." #: ../src/main.c:745 msgid "About" msgstr "Aangaande" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Geen temas gevind nie." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Tema '%s' gevind in: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekulêre legkaartspeletjie" #~ msgid "Continue paused game" #~ msgstr "Gaan voort met tydelik gestaakte spel" #~ msgid "End a game" #~ msgstr "Staak spel" #~ msgid "Pause the running game" #~ msgstr "Staak huidige spel tydelik" #~ msgid "Restores start situation" #~ msgstr "Herstel begin situasie" #~ msgid "Set preferences" #~ msgstr "Stel voorkeure" #~ msgid "Skip the current level" #~ msgstr "Slaan die huidige vlak oor" #~ msgid "Start a new game" #~ msgstr "Begin 'n nuwe speletjie" #~ msgid "Undo the last move" #~ msgstr "Ontdoen die vorige skuif" #~ msgid "View highscores" #~ msgstr "Bekyk hoogste tellings" #~ msgid "_Preferences ..." #~ msgstr "_Voorkeure..." #~ msgid "_Undo move" #~ msgstr "_Ontdoen skuif" #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Geen punte tot dusver verwerf nie. Speel eers 'n bietjie voor u terugkom." #~ msgid "Couldn't find file: %s" #~ msgstr "Kon nie lêer kry nie: %s" atomix-3.19.4/po/am.po000066400000000000000000000100261264725221400144700ustar00rootroot00000000000000# Translations into the Amharic Language. # Copyright (C) 2002 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # Ge'ez Frontier Foundation , 2002. # # msgid "" msgstr "" "Project-Id-Version: atomix\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2003-01-24 11:45+EDT\n" "Last-Translator: Ge'ez Frontier Foundation \n" "Language-Team: Amharic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "ውጣ (_X)" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "ጨዋታውን ጨርስ" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "ከጨዋታን ውጣ" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "ደረጃን እንደነበረ አድረግ" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "ምርጫዎችን ይምረጡ" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "ደረጃን ዝለል (_L)" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "አዲስ ጨዋታ ጀምር" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "መጨረሻ የተንቀሳቀሰው ይመለስ" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "ትልቅ ነጥቦች አሳይ" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "ስለ (_A)" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "ጨዋታን ቀጥል (_C)" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "አስተካክል (_E)" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "ጨዋታውን ጨርስ (_E)" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_ጨዋታ (_G)" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "_መረጃ (_H)" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "አዲስ ጨዋታ (_N)" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "ጨዋታውን ለጥቂት ጊዜ አሳርፍ (_P)" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "ምርጫዎች... (_P)" #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "ነጥቦች... (_S)" #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "_የተንቀሳቀሰው ይመለስ" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "" #: src/level-manager.c:185 msgid "No level found." msgstr "ምንም ደረጃ አልተገኘም።" #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "አቶሚክስ" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "" #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "የቍጥር መረጃ ጥናት" #: src/main.c:707 msgid "Level:" msgstr "ደረጃ፦" #: src/main.c:708 msgid "Molecule:" msgstr "" #: src/main.c:709 msgid "Score:" msgstr "ነጥብ፦" #: src/main.c:710 msgid "Time:" msgstr "ሰዓት፦" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "" #: src/theme-manager.c:141 msgid "No themes found." msgstr "" #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "" atomix-3.19.4/po/ar.po000066400000000000000000000143141264725221400145010ustar00rootroot00000000000000# Arabic translations for THIS package. # Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as THIS package. # Automatically generated, 2007. # Djihed Afifi , 2007 msgid "" msgstr "" "Project-Id-Version: Arabic\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-04-21 22:52+0100\n" "PO-Revision-Date: 2007-04-14 18:49+0100\n" "Last-Translator: Djihed Afifi \n" "Language-Team: Arabeyes \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "" #: ../level/acetone.atomix.xml.h:1 #, fuzzy msgid "Acetone" msgstr "أفعال" #: ../level/butanol.atomix.xml.h:1 #, fuzzy msgid "Butanol" msgstr "بوتان" #: ../level/cyclobutane.atomix.xml.h:1 #, fuzzy msgid "Cyclobutane" msgstr "استنساخ" #: ../level/dimethylether.atomix.xml.h:1 #, fuzzy msgid "Dimethyl Ether" msgstr "القطر" #: ../level/ethanal.atomix.xml.h:1 #, fuzzy msgid "Ethanal" msgstr "غانا" #: ../level/ethane.atomix.xml.h:1 #, fuzzy msgid "Ethane" msgstr "ايثرنت" #: ../level/ethanol.atomix.xml.h:1 #, fuzzy msgid "Ethanol" msgstr "تانجو" #: ../level/ethylene.atomix.xml.h:1 #, fuzzy msgid "Ethylene" msgstr "ايثرنت" #: ../level/glycerin.atomix.xml.h:1 #, fuzzy msgid "Glycerin" msgstr "جورجي" #: ../level/lactic-acid.atomix.xml.h:1 #, fuzzy msgid "Lactic Acid" msgstr "اسِد الرئيسي" #: ../level/methanal.atomix.xml.h:1 #, fuzzy msgid "Methanal" msgstr "ميتال" #: ../level/methane.atomix.xml.h:1 #, fuzzy msgid "Methane" msgstr "ميامن" #: ../level/methanol.atomix.xml.h:1 #, fuzzy msgid "Methanol" msgstr "ميتال" #: ../level/propanal.atomix.xml.h:1 #, fuzzy msgid "Propanal" msgstr "شخصي" # #-#-#-#-# gnome-icon-theme.gnome-2-18.ar.po (gnome-icon-theme.gnome-2-16.ar) #-#-#-#-# # 48x48/emblems/emblem-people.icon.in.h:1 #: ../level/propylene.atomix.xml.h:1 #, fuzzy msgid "Propylene" msgstr "أناس" #: ../level/pyran.atomix.xml.h:1 #, fuzzy msgid "Pyran" msgstr "بارانا" #: ../level/transbutylen.atomix.xml.h:1 #, fuzzy msgid "Trans Butylen" msgstr "قابل للترجمة" #: ../level/water.atomix.xml.h:1 #, fuzzy msgid "Water" msgstr "الطقس" #: ../src/atomix-ui.xml.h:1 #, fuzzy msgid "Continue paused game" msgstr "اعداد اللعبة" #: ../src/atomix-ui.xml.h:2 #, fuzzy msgid "End a game" msgstr "أ_نهِ اللعبة" #: ../src/atomix-ui.xml.h:3 #, fuzzy msgid "Pause the running game" msgstr "إحفظ اللعبة الحالية" #: ../src/atomix-ui.xml.h:4 #, fuzzy msgid "Reset level" msgstr "حدث OnReset" #: ../src/atomix-ui.xml.h:5 #, fuzzy msgid "Restores start situation" msgstr "استعِد الموضع السابق للمؤشّر" #: ../src/atomix-ui.xml.h:6 #, fuzzy msgid "Set preferences" msgstr "تفضيلات أداة الكلام" #: ../src/atomix-ui.xml.h:7 #, fuzzy msgid "Skip _level" msgstr "تخطّي الكل" #: ../src/atomix-ui.xml.h:8 #, fuzzy msgid "Skip the current level" msgstr "تخطى المسار الحالي" #: ../src/atomix-ui.xml.h:9 #, fuzzy msgid "Start a new game" msgstr "ابدأ على صفحة جديدة" #: ../src/atomix-ui.xml.h:10 #, fuzzy msgid "Undo the last move" msgstr "أعِد النقلة اﻷخيرة" #: ../src/atomix-ui.xml.h:11 #, fuzzy msgid "View highscores" msgstr "اعرض كأيقونات" #: ../src/atomix-ui.xml.h:12 #, fuzzy msgid "_Continue game" msgstr "_مواصلة" #: ../src/atomix-ui.xml.h:13 #, fuzzy msgid "_End Game" msgstr "أ_نهِ اللعبة" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_لعبة" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , YEAR. # msgid "" msgstr "" "Project-Id-Version: atomix-game 0.9.1\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2003-03-07 19:01+0200\n" "Last-Translator: Mətin Əmirov \n" "Language-Team: Azerbaijani Turkic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Report-Msgid-Bugs-To: \n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "Oyuna davam et" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "Ç_ıx" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "Oyunu qurtar" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "Oyundan Çıx" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "Oyuna fasilə ver" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "Səviyyəni sıfırla" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "Başlama vəziyyətini geri alar" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "Seçənəkləri dəyişdir" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "_Səviyyəni keç" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "Səviyyəni keç" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "Yeni oyun başlat" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "Axırıncı gedişi qaytar" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "Proqram müəllifləri haqqında" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "Ən yüksək xalları toplayanları göstər" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "_Haqqında" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "Oyuna _Davam Et" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "_Düzəlt" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "Oyunu Qu_rtar" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_Oyun" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "_Yardım" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "_Yeni Oyun" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "Oyuna _fasilə ver" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "_Seçənəklər..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "_Xallar..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "Gedişi _qaytar" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "Səviyə ardıcıllıq təsvirini tapa bilmədim." #: src/level-manager.c:185 msgid "No level found." msgstr "Səviyyə tapılmadı." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "'%s' səviyyəsini %s-da tapdım" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomiks" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Müəllif Hüququ (C) 1999-2002 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "Molekullar və atomlar haqqında ağıl oyunu" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "Təbriklər! Bütün atomiks səviyyələrini uğurla keçdiniz." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "Ən az bir səviyyəni tapa bilmədim!" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "Həqiqətən də bu oyundan çıxmaq istəyirsiniz?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "Cərgəni yarada bilmədim : %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "Statistikalar " #: src/main.c:707 msgid "Level:" msgstr "Səviyyə:" #: src/main.c:708 msgid "Molecule:" msgstr "Molekul:" #: src/main.c:709 msgid "Score:" msgstr "Xal:" #: src/main.c:710 msgid "Time:" msgstr "Vaxt:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "Faylı tapa bilmədim: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "Heç örtük yoxdur." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "'%s' örtüyünü %s-da tapdım" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "Molekul ağıl oyunu" atomix-3.19.4/po/be.po000066400000000000000000000131351264725221400144650ustar00rootroot00000000000000# Belarusian translation of atomix. # Ales Nyakhaychyk , 2002. # Ihar Hrachyshka , 2012. # msgid "" msgstr "" "Project-Id-Version: atomix master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&component=general\n" "POT-Creation-Date: 2010-12-13 20:12+0000\n" "PO-Revision-Date: 2012-10-02 16:40+0300\n" "Last-Translator: Ihar Hrachyshka \n" "Language-Team: Belarusian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Воцатная кіслата" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Ацэтон" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Бутылавы спірт" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Цыклабутан" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Дыметылавы эфір" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Этаналь" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Этан" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Этанол" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Этылен" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Гліцэрын" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Малочная кіслата" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Метаналь" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Метан" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Метанол" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Прапаналь" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Прапілен" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Піран" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Трансбутылен" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Вада" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Не ўдалося паказаць спасылку" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Час" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Лік" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dхв %dс" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "Новая гульня" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Назва" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Памылка" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Не ўдалося адшукаць апісанне паслядоўнасці ўзроўняў." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Узроўні не знойдзены." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Узровень \"%s\" знойдзены ў: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Гульня-галаваломка з атамамі і малекуламі" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Алесь Няхайчык \n" "Ігар Грачышка " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Віншуем! Вы паспяхова скончылі ўсе ўзроўні Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Не ўдалося адшукаць ніводнага ўзроўню." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Скончыць гульню?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Статыстыка" #: ../src/main.c:707 msgid "Level:" msgstr "Узровень:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Малекула:" #: ../src/main.c:709 msgid "Formula:" msgstr "Формула:" #: ../src/main.c:710 msgid "Score:" msgstr "Лік:" #: ../src/main.c:711 msgid "Time:" msgstr "Час:" #: ../src/main.c:734 msgid "_Game" msgstr "_Гульня" #: ../src/main.c:735 msgid "_Help" msgstr "_Дапамога" #: ../src/main.c:737 msgid "End Game" msgstr "Скончыць гульню" #: ../src/main.c:738 msgid "Skip Level" msgstr "Прапусціць узровень" #: ../src/main.c:739 msgid "Reset Level" msgstr "Перайграць узровень" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Прыпыніць гульню" #: ../src/main.c:742 msgid "_Continue Game" msgstr "Пр_ацягнуць гульню" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Рэкорды..." #: ../src/main.c:745 msgid "About" msgstr "Аб праграме" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Матывы афармлення не знойдзены." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Матыў афармлення \"%s\" знойдзены ў: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Гульня-галаваломка з малекуламі" atomix-3.19.4/po/bg.po000066400000000000000000000156001264725221400144660ustar00rootroot00000000000000# Bulgarian translation of atomix. # Copyright (C) 2004, 2005 THE atomix'S COPYRIGHT HOLDER # This file is distributed under the same license as the atomix package. # Rostislav Raykov , 2004. # Alexander Shopov , 2005. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-09 18:31+0200\n" "PO-Revision-Date: 2006-01-09 18:32+0200\n" "Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Етанова киселина (оцетна киселина)" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Пропанон (ацетон)" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Бутанол" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Циклобутан" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Диметилов етер" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Eтанал" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Етан" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Етанол (етилов алкохол)" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Етен (етилен)" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "1,2,3-пропантриол (глицерин)" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "2-хидроксипропанолова киселина (млечна киселина)" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Метанал (формалин)" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Метан" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Метанол (метилов алкохол)" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Пропанал (пропалдехид)" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Пропен (пропилен)" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Пиран" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Транс бутен" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Диводороден моноксид (вода)" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Продължаване на игра на пауза" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Спиране на игра" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Пауза на текущата игра" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Р_естартиране на ниво" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Връщане на началната позиция" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Настройки" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Пр_опускане на ниво" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Пропускане на текущото ниво" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Започване на нова игра" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Връщане на последния ход" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Рекорди" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "Прод_ължаване на игра" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Спиране на игра" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Игра" #. submenu name="Edit" _label="_Edit"> #. #. #. #. \n" "Александър Шопов \n" "\n" "Проектът за превод на GNOME има нужда от подкрепа.\n" "Научете повече за нас на http://gnome.cult.bg\n" "Докладвайте за грешки на http://gnome.cult.bg/bugs" #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Поздравления! Завършихте всички нива на Atomix." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Няма открити нива." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Искате ли да завършите играта?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "Статистика" #: ../src/main.c:734 msgid "Level:" msgstr "Ниво:" #: ../src/main.c:735 msgid "Molecule:" msgstr "Молекула:" #: ../src/main.c:736 msgid "Formula:" msgstr "Формула:" #: ../src/main.c:737 msgid "Score:" msgstr "Резултат:" #: ../src/main.c:738 msgid "Time:" msgstr "Време:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "Файлът „%s“ не може да бъде открит." #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Не са открити теми." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "Темата „%s“ е открита в %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Загадки с молекули" atomix-3.19.4/po/bn.po000066400000000000000000000165471264725221400145100ustar00rootroot00000000000000# Bangla translation of Atomix. # Copyright (C) 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the Atomix package. # Progga , 2006. # msgid "" msgstr "" "Project-Id-Version: Atomix (GNOME 2.14)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-03-13 02:07+0100\n" "PO-Revision-Date: 2006-03-07 21:00+0600\n" "Last-Translator: Progga \n" "Language-Team: Bangla \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "অ্যাসিটিক এসিড" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "অ্যাসিটোন" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "বিউটানল" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "সাইক্লোবিউটেন" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "ডাইমিথাইল ইথার" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "ইথানাল" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "ইথেন" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "ইথানল" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "ইথিলিন" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "গ্লিসারিন" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "ল্যাকটিক এসিড" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "মিথানাল" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "মিথেন" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "মিথানল" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "প্রোপানাল" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "প্রোপিলিন" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "পাইরিন" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ট্রান্স বিউটিলিন" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "পানি" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "স্থগিতকৃত খেলা পুনরায় চালু করো" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "খেলা শেষ করো" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "চলমান খেলাকে স্থগিত করো" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "দক্ষতা স্তর রিসেট করো" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "খেলা আরম্ভের অবস্থায় ফিরে যায়" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "পছন্দ নির্ধারণ করুন" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "দক্ষতা স্তর এড়িয়ে যাও (_স)" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "বর্তমান দক্ষতা স্তর এড়িয়ে যাও" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "নতুন খেলা আরম্ভ করো" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "সর্বশেষ চাল বাতিল করো" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "সেরা স্কোরগুলো প্রদর্শন করো" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "খেলা চালিয়ে যাও (_চ)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "খেলা শেষ করো (_শ)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "খেলা (_খ)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2013. # msgid "" msgstr "" "Project-Id-Version: bosnianuniversetranslation\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-02-27 03:51+0000\n" "PO-Revision-Date: 2015-03-02 09:16+0100\n" "Last-Translator: Samir Ribić \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.7.4\n" "X-Launchpad-Export-Date: 2015-02-15 06:17+0000\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Graditi molekule od pojedinih atoma" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix je igra zagonetke gdje je vaš cilj sastaviti molekule iz atoma " "komponenti pomičući ih po polju za igru. Ipak, atomi se ne kreću tamo gdje " "vi želite, nego klize dok ne udare u zid ili drugi atom." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Pokušajte izgraditi molekule što brže možete na svakom nivou da zaradite " "rekord." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Igra slaganja molekula" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Sirćetna kiselina" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciklo-butan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil Eter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilen" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Mliječna kiselina" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilen" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piren" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butilen" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Voda" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "Dato_teka:" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Nova igra" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Kraj igre" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "_Preskoči nivo" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Resetuj nivo" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Poništi potez" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Pauziraj igru" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Nastavi igru" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Izlaz" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Pomoć" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_O programu…" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nivo:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekul:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formula:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Rezultat:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Vrijeme:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "prazno" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statistika" #: ../src/level-manager.c:204 msgid "Couldn't find level sequence description." msgstr "Ne mogu pronaći opis redoslijeda nivoa." #: ../src/level-manager.c:218 msgid "No level found." msgstr "Nivo nije pronađen." #: ../src/level-manager.c:314 #, c-format msgid "Found level '%s' in: %s" msgstr "Pronađen nivo '%s' u: %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Logička slagalica sa atomima i molekulama" #: ../src/main.c:136 msgid "translator-credits" msgstr " Samir Ribić https://launchpad.net/~megaribi" #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Čestitamo. Završili ste sve nivoe u igri Atomix." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "Tema nije pronađena." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "Pronađena tema '%s' u: %s" atomix-3.19.4/po/ca.po000066400000000000000000000146371264725221400144720ustar00rootroot00000000000000# Catalan translation of atomix. # Copyright © 2002, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # Gisela Carbonell, 2002. # Esteve Blanch Sanmartí, 2006. # msgid "" msgstr "" "Project-Id-Version: atomix 0.9.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-01-18 17:28+0000\n" "PO-Revision-Date: 2006-07-21 04:37+0200\n" "Last-Translator: Jordi Mas \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Trencaclosques de molècules" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Àcid acètic" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetona" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Betanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclebutà" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil-Èter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Età" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilè" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Àcid làctic" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metà" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilè" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirà" # FIXME #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbutilè" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Aigua" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "Joc _nou" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Finalitza el joc" #: ../data/ui/interface.ui.h:5 #, fuzzy #| msgid "Skip _level" msgid "_Skip Level" msgstr "Omet el _nivell" #: ../data/ui/interface.ui.h:6 #, fuzzy #| msgid "Reset level" msgid "_Reset Level" msgstr "Reinicia el nivell" #: ../data/ui/interface.ui.h:7 #, fuzzy #| msgid "_Undo move" msgid "_Undo Move" msgstr "_Desfés la jugada" #: ../data/ui/interface.ui.h:8 #, fuzzy #| msgid "_Pause game" msgid "_Pause Game" msgstr "_Atura el joc" #: ../data/ui/interface.ui.h:9 #, fuzzy #| msgid "_Continue game" msgid "_Continue Game" msgstr "_Continua el joc" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Ajuda" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nivell:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molècula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Fórmula:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Puntuació:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Temps:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Estadístiques" #: ../src/level-manager.c:207 msgid "Couldn't find level sequence description." msgstr "No s'ha trobat la descripció de la seqüència del nivell." #: ../src/level-manager.c:221 msgid "No level found." msgstr "No s'ha trobat cap nivell." #: ../src/level-manager.c:317 #, c-format msgid "Found level '%s' in: %s" msgstr "S'ha trobat el nivell '%s' a: %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Un trencaclosques sobre àtoms i molècules" #: ../src/main.c:136 msgid "translator-credits" msgstr "" "Gisela Carbonell\n" "Esteve Blanch Sanmartí " #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Felicitats! Heu finalitzat tots els nivells de l'Atomix." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "No s'ha trobat cap tema." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "S'ha trobat el tema '%s' a: %s" #~ msgid "Continue paused game" #~ msgstr "Continua el joc aturat" #~ msgid "End a game" #~ msgstr "Finalitza un joc" #~ msgid "Pause the running game" #~ msgstr "Atura el joc en execució" #~ msgid "Restores start situation" #~ msgstr "Restaura la situació inicial" #~ msgid "Set preferences" #~ msgstr "Defineix les preferències" #~ msgid "Skip the current level" #~ msgstr "Omet el nivell actual" #~ msgid "Start a new game" #~ msgstr "Inicia un joc nou" #~ msgid "Undo the last move" #~ msgstr "Desfés l'últim moviment" #~ msgid "View highscores" #~ msgstr "Visualitza les puntuacions màximes" #~ msgid "_Game" #~ msgstr "_Joc" #~ msgid "_Preferences ..." #~ msgstr "_Preferències ..." #~ msgid "_Scores ..." #~ msgstr "_Puntuacions ..." #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Encara no s'han registrat marcadors. Jugueu una mica abans de tornar!" #~ msgid "Couldn't find at least one level." #~ msgstr "No s'ha trobat ni un sol nivell" #~ msgid "Do you want to finish the game?" #~ msgstr "Voleu finalitzar el joc?" #~ msgid "Couldn't find file: %s" #~ msgstr "No s'ha pogut localitzar el fitxer: %s" atomix-3.19.4/po/cs.po000066400000000000000000000160031264725221400145010ustar00rootroot00000000000000# Czech translation of atomix. # Copyright (C) 2010 the author(s) of atomix. # Copyright (C) 1999, 2000, 2001, 2002 Jens Finke. # Copyright (C) 2006 Lukas Novotny . # This file is distributed under the same license as the atomix package. # # Michal Bukovjan , 2002. # Miloslav Trmac , 2004. # Lukas Novotny , 2006. # Marek Černocký , 2010, 2015, 2016. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2016-01-01 15:57+0000\n" "PO-Revision-Date: 2016-01-01 19:59+0100\n" "Last-Translator: Marek Černocký \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Gtranslator 2.91.7\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Sestavte molekuly z jednotlivých atomů" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix je logická hra, ve které je cílem sestavit molekuly z jednotlivých " "atomů jejich přesouváním po hracím poli. Atomy ale nemůžete přesouvat, " "jak vás napadne. Po udaní směru se samy pohybují, až dokud nenarazí do zdi " "nebo do jiného atomu." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Molekuly v jednotlivých úrovních se snažte sestavit co nejrychleji dokážete, " "abyste dosáhli vyššího skóre." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Logická hra s molekulami" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Logická hra s atomy a molekulami" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Kyselina octová" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyklobutan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetyléter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Acetaldehyd" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etylen" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Kyselina mléčná" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Formaldehyd" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metylalkohol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylen" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butylen" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Voda" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Soubor" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Nová hra" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Konec hry" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "Pře_skočit úroveň" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "Ú_roveň od začátku" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Tah _zpět" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Pozastavit hru" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "Pok_račovat ve hře" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "U_končit" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Nápověda" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "O _aplikaci" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Úroveň:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Vzorec:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Skóre:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Čas:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "prázdné" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statistika" #: ../data/ui/interface.ui.h:20 msgid "New Game" msgstr "Nová hra" #: ../data/ui/interface.ui.h:21 msgid "End Game" msgstr "Konec hry" #: ../data/ui/interface.ui.h:22 msgid "Skip Level" msgstr "Přeskočit úroveň" #: ../data/ui/interface.ui.h:23 msgid "Reset Level" msgstr "Úroveň od začátku" #: ../data/ui/interface.ui.h:24 msgid "Undo Move" msgstr "Tah zpět" #: ../data/ui/interface.ui.h:25 msgid "Pause Game" msgstr "Pozastavit hru" #: ../data/ui/interface.ui.h:26 msgid "Continue Game" msgstr "Pokračovat ve hře" #: ../data/ui/interface.ui.h:27 msgid "About" msgstr "O aplikaci" #: ../data/ui/interface.ui.h:28 msgid "Quit" msgstr "Ukončit" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Proveďte atomy bludištěm, aby vytvořily molekulu.\n" "Kliknutím, nebo šipkami a zmáčknutím Enter, vyberte atom a přesuňte jej.\n" "Buďte ale opatrní: atom se pohybuje, dokud nenarazí na zeď.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Nelze nalézt popis pořadí úrovní." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Nebyla nalezena žádná úroveň." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Nalezena úroveň „%s“ v: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Lukáš Novotný \n" "Marek Černocký " #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "Gratulace! Dokončil jste všechny úrovně hry Atomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Nebyly nalezeny žádné motivy." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Nalezen motiv „%s“ v: %s" atomix-3.19.4/po/da.po000066400000000000000000000116161264725221400144650ustar00rootroot00000000000000# Danish translation of atomix. # Copyright (C) 2001-07 Free Software Foundation, Inc. # Keld Simonsen , 2001. # Ole Laursen , 2002. # Peter Bach , 2007. # Joe Hansen , 2010. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-01-02 10:43+0100\n" "PO-Revision-Date: 2010-12-15 13:01+01:00\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acetic Syre" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetone" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutane" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimethyl Ether" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Ethanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Ethane" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Ethanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Ethylene" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerin" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Lactic Syre" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Methanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Methane" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Methanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylene" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butylen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Vand" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Kunne ikke vise henvisning" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Tid" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Point" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "Nyt spil" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Navn" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Fejl" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Kunne ikke finde niveausekvensbeskrivelse." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Intet niveau fundet." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Fandt niveau '%s' i: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Et tænkespil om atomer og molekyler" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Joe Hansen, 2010\n" "Peter Bach, 2007\n" "\n" "Dansk-gruppen \n" "Mere info: http://www.dansk-gruppen.dk" #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Tillykke! Du klaret alle niveauer i Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Kunne ikke finde blot ét niveau." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Vil du virkelig afslutte spillet?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistik" #: ../src/main.c:707 msgid "Level:" msgstr "Niveau:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molekyle:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formel:" #: ../src/main.c:710 msgid "Score:" msgstr "Point:" #: ../src/main.c:711 msgid "Time:" msgstr "Tid:" #: ../src/main.c:734 msgid "_Game" msgstr "_Spil" #: ../src/main.c:735 msgid "_Help" msgstr "_Hjælp" #: ../src/main.c:737 msgid "End Game" msgstr "Afslut spil" #: ../src/main.c:738 msgid "Skip Level" msgstr "Spring niveau over" #: ../src/main.c:739 msgid "Reset Level" msgstr "Nulstil niveau" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Pause spil" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Fortsæt spil" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Point..." #: ../src/main.c:745 msgid "About" msgstr "Om" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Ingen temaer fundet." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Fandt temaet '%s' i: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekyletænkespil" atomix-3.19.4/po/de.po000066400000000000000000000161031264725221400144650ustar00rootroot00000000000000# German translation for Atomix. # Copyright (C) 2001-2002 Free Software Foundation, Inc. # Christian Meyer , 2001. # Jens Finke , 2002. # Hendrik Brandt , 2006. # Jens Finke , 2006. # Mario Blättermann , 2010. # Wolfgang Stöggl , 2015. # Mario Blättermann , 2015. # msgid "" msgstr "" "Project-Id-Version: atomix master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-12-30 03:57+0000\n" "PO-Revision-Date: 2015-12-30 12:42+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.5\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Moleküle aus einzelnen Atomen bauen" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix ist ein Puzzle-Spiel mit dem Ziel, Moleküle aus den vorhandenen " "Atomen durch deren Bewegung auf dem Spielfeld zusammenzubauen. Die Atome " "bewegen sich allerdings nicht so, wie Sie sie vielleicht bewegen möchten. " "Sie gleiten, bis sie entweder auf eine Wand oder ein anderes Atom treffen." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Versuchen Sie, die Moleküle auf jeder Spielstufe so schnell wie möglich " "zusammenzubauen, um eine höhere Punktzahl zu erhalten." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekül-Puzzlespiel" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Ein Puzzlespiel über Atome und Moleküle" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Essigsäure" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Azeton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimethyläther" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Äthanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Äthan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Äthanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Äthylen" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glyzerin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Milchsäure" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Methanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Methan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Methanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylen" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbutylen" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Wasser" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Datei" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Neues Spiel" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "Spiel _beenden" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "Level über_springen" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "Level zu_rücksetzen" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Z_ug zurücknehmen" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Spiel _pausieren" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "Spiel _fortsetzen" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Beenden" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Hilfe" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Info" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Level:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekül:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formel:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Punktzahl:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Zeit:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "leer" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statistik" #: ../data/ui/interface.ui.h:20 msgid "New Game" msgstr "Neues Spiel" #: ../data/ui/interface.ui.h:21 msgid "End Game" msgstr "Spiel beenden" #: ../data/ui/interface.ui.h:22 msgid "Skip Level" msgstr "Level überspringen" #: ../data/ui/interface.ui.h:23 msgid "Reset Level" msgstr "Level zurücksetzen" #: ../data/ui/interface.ui.h:24 msgid "Undo Move" msgstr "Zug zurücknehmen" #: ../data/ui/interface.ui.h:25 msgid "Pause Game" msgstr "Spiel pausieren" #: ../data/ui/interface.ui.h:26 msgid "Continue Game" msgstr "Spiel fortsetzen" #: ../data/ui/interface.ui.h:27 msgid "About" msgstr "Info" #: ../data/ui/interface.ui.h:28 msgid "Quit" msgstr "Beenden" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Führen Sie die Atome durch das Labyrinth, um Moleküle zu formen.\n" "Klicken Sie oder verwenden sie die Pfeiltasten und die Eingabetaste,\n" "um ein Atom auszuwählen und es zu verschieben. Seien Sie vorsichtig,\n" "denn Atom bewegt sich weiter, bis es eine Wand erreicht.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Levelsequenz-Beschreibung wurde nicht gefunden." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Keine Level gefunden." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Level »%s« gefunden in: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Hendrik Brandt \n" "Christian Meyer \n" "Jens Finke \n" "Mario Blättermann " #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "Glückwunsch! Sie haben erfolgreich alle Atomix-Level abgeschlossen." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Keine Themen gefunden." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Thema »%s« gefunden in: %s" atomix-3.19.4/po/dz.po000066400000000000000000000175531264725221400145240ustar00rootroot00000000000000# 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: atomix.head.pot\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-02-12 03:14+0000\n" "PO-Revision-Date: 2007-02-12 12:21+0530\n" "Last-Translator: sonam pelden \n" "Language-Team: Dzongkha \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Poedit-Language: Dzongkha\n" "X-Poedit-Country: Bhutan\n" "X-Poedit-SourceCharset: utf-8\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "ཨེ་སི་ཊིཀ་ཨེ་སིཌི་" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "ཨེ་སི་ཊོན་" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "བུ་ཊ་ནོལ་" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "སའི་ཀོལོ་བི་ཊེན་" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "ཌའི་མེ་ཐེལ་ཨི་ཐར་" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "ཨི་ཐེ་ནཱལ་" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "ཨི་ཐེན་" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "ཨི་ཐ་ནཱོལ་" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "ཨི་ཐའི་ལིནི་" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "ཇིལིསི་རིན་" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "ལེཀ་ཊིཀ་ཨེ་སིཌི་" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "མི་ཐེ་ནཱལ་" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "མི་ཐེན་ནི་" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "མི་ཐཱ་ནོལ་" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "པོར་པ་ནལ་" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "པོར་པེ་ལིན་" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "པེརེན་" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ཊེརནསི་ བུ་ཊ་ལིན་" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "ཆུ་" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "ཐེམ་ཡོད་པའི་རྩེདམོ་འཕྲོ་མཐུད་" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "རྩེདམོ་མཇུག་བསྡུ་" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "ལཱ་འབད་མི་རྩེདམོ་འདི་ཐེམ་" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "གནས་རིམ་སླར་སྒྲིག་" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "དུས་སྐབས་འགོ་བཙུགས་སོར་ཆུད་འབད་" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "དགའ་གདམ་ཚུ་གཞི་སྒྲིག་འབད་" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "གནས་རིམ་གོམ་འགྱོ་" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "ད་ལྟོའི་གནས་རིམ་གོམ་འགྱོ་" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "རྩེདམོ་གསརཔ་ཅིག་འགོ་བཙུགས་" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "མཇུག་གི་སྤོ་བཤུད་འདི་འབད་བཤོལ་" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "སྐུགས་མཐོ་ཤོས་འདི་སྟོན་" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "རྩེདམོ་འཕྲོ་མཐུད། (_C)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "རྩེདམོ་མཇུག་བསྡུ། (_E)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "རྩེདམོ། (_G)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2002. # Athanasios Lefteris , 2007, 2011. msgid "" msgstr "" "Project-Id-Version: el\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-08-18 21:00+0000\n" "PO-Revision-Date: 2015-08-30 13:20+0300\n" "Last-Translator: Tom Tryfonidis \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.4\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:127 ../src/main.c:684 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Συνθέσετε μόρια από απλά άτομα" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Το Atomix είναι ένα παιχνίδι γρίφου όπου ο στόχος είναι η σύνθεση μορίων από " "ενώσεις ατόμων μετακινώντας τα στο πεδίο του παιχνιδιού. Τα άτομα δεν " "μετακινούνται σε οποιαδήποτε θέση, αλλά ολισθαίνουν μέχρι να χτυπήσουν είτε " "ένα τοίχο είτε ένα άλλο άτομο." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Δοκιμάστε να συνθέσετε τα μόρια όσο γρήγορα μπορείτε σε κάθε επίπεδο για να " "κερδίσετε μεγαλύτερη βαθμολογία" #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Παιχνίδι γρίφου με μόρια" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Οξικό οξύ" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Ακετόνη" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Βουτανόλη" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Κυκλοβουτάνιο" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Διμεθυλαιθέρας" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Αιθανάλη" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Αιθάνιο" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Αιθανόλη" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Αιθυλένιο" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Γλυκερίνη" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Γαλακτικό οξύ" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Μεθανάλη" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Μεθάνιο" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Μεθανόλη" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Προπανάλη" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Προπυλένιο" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Πυρράνιο" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Τρανς Βουτυλένιο" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Νερό" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Αρχείο" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Νέο παιxνίδι" # #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Τερματισμός παιχνιδιού" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "Πα_ράκαμψη επιπέδου" # #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Επαναφορά επιπέδου" # #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Α_ναίρεση κίνησης" # #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Παύση παιχνιδιού" # #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "Σ_υνέχεια παιχνιδιού" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "Έ_ξοδος" # #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Βοήθεια" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "Π_ερί" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Επίπεδο:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Μόριο:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Τύπος:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Βαθμολογία:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Χρόνος:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "κενό" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Στατιστικά" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Δε βρέθηκε περιγραφή ακολουθίας επιπέδου." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Δε βρέθηκαν επίπεδα." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Βρέθηκε επίπεδο '%s' στο: %s" #: ../src/main.c:129 msgid "A puzzle game about atoms and molecules" msgstr "Ένα παιχνίδι γρίφου με άτομα και μόρια" #: ../src/main.c:130 msgid "https://github.com/GNOME/atomix" msgstr "https://github.com/GNOME/atomix" #: ../src/main.c:133 msgid "translator-credits" msgstr "" "Ελληνική μεταφραστική ομάδα GNOME\n" " Σίμος Ξενιτέλλης \n" " Μύρων Αποστολάκης \n" "\n" "Για περισσότερες πληροφορίες, επισκεφθείτε τη σελίδα\n" "http://gnome.gr/" # #: ../src/main.c:440 msgid "Congratulations! You have finished all Atomix levels." msgstr "Συγχαρητήρια! Έχετε τερματίσει όλα τα επίπεδα του Atomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Δε βρέθηκαν θέματα." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Βρέθηκε το θέμα '%s' στο: %s" #~ msgid "Could not show link" #~ msgstr "Αδυναμία προβολής συνδέσμου" #~ msgid "Time" #~ msgstr "χρόνος" #~ msgid "Score" #~ msgstr "Βαθμολογία" #~ msgid "%dm %ds" #~ msgstr "%dλ %dδ" atomix-3.19.4/po/en_CA.po000066400000000000000000000126131264725221400150440ustar00rootroot00000000000000# Canadian English translation of atomix. # Copyright (C) 2004-2006 Adam Weinberger and the GNOME Foundation # This file is distributed under the same licence as the atomix package. # Adam Weinberger , 2004, 2006. # # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-09 21:41-0500\n" "PO-Revision-Date: 2005-04-30 18:20-0400\n" "Last-Translator: Adam Weinberger \n" "Language-Team: Canadian English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acetic Acid" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetone" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutane" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimethyl Ether" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Ethanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Ethane" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Ethanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Ethylene" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerin" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Lactic Acid" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Methanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Methane" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Methanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylene" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butylene" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Water" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Continue paused game" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "End a game" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Pause the running game" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Reset level" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Restores start situation" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Set preferences" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Skip _level" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Skip the current level" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Start a new game" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Undo the last move" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "View highscores" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Continue game" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_End Game" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Game" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Congratulations! You have finished all Atomix levels." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Couldn't find at least one level." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Do you want to finish the game?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "Statistics" #: ../src/main.c:734 msgid "Level:" msgstr "Level:" #: ../src/main.c:735 msgid "Molecule:" msgstr "Molecule:" #: ../src/main.c:736 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:737 msgid "Score:" msgstr "Score:" #: ../src/main.c:738 msgid "Time:" msgstr "Time:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "Couldn't find file: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "No themes found." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "Found theme '%s' in: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molecule puzzle game" atomix-3.19.4/po/en_GB.po000066400000000000000000000145031264725221400150510ustar00rootroot00000000000000# English (British) translation. # Copyright (C) 2004 THE atomix'S COPYRIGHT HOLDER # This file is distributed under the same license as the atomix package. # Gareth Owen , 2004. # Chris Leonard , 2012. # Bruce Cowan , 2012. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=atomix" "&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2012-07-12 23:38+0000\n" "PO-Revision-Date: 2012-09-14 15:28+0100\n" "Last-Translator: Bruce Cowan \n" "Language-Team: British English \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.1\n" "X-Project-Style: gnome\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acetic Acid" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetone" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutane" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimethyl Ether" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Ethanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Ethane" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Ethanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Ethylene" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerin" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Lactic Acid" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Methanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Methane" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Methanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylene" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butylen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Water" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Could not show link" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Time" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Score" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "New Game" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Name" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Error" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Couldn't find level sequence description." #: ../src/level-manager.c:190 msgid "No level found." msgstr "No level found." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Found level '%s' in: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "A puzzle game about atoms and molecules" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Gareth Owen \n" "David Lodge \n" "Chris Leonard " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Congratulations! You have finished all Atomix levels." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Couldn't find at least one level." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Do you want to finish the game?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistics" #: ../src/main.c:707 msgid "Level:" msgstr "Level:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molecule:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:710 msgid "Score:" msgstr "Score:" #: ../src/main.c:711 msgid "Time:" msgstr "Time:" #: ../src/main.c:734 msgid "_Game" msgstr "_Game" #: ../src/main.c:735 msgid "_Help" msgstr "_Help" #: ../src/main.c:737 msgid "End Game" msgstr "End Game" #: ../src/main.c:738 msgid "Skip Level" msgstr "Skip Level" #: ../src/main.c:739 msgid "Reset Level" msgstr "Reset Level" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Pause Game" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Continue Game" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Scores…" #: ../src/main.c:745 msgid "About" msgstr "About" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "No themes found." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Found theme '%s' in: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molecule puzzle game" #~ msgid "Continue paused game" #~ msgstr "Continue paused game" #~ msgid "End a game" #~ msgstr "End a game" #~ msgid "Pause the running game" #~ msgstr "Pause the running game" #~ msgid "Restores start situation" #~ msgstr "Restores start situation" #~ msgid "Set preferences" #~ msgstr "Set preferences" #~ msgid "Skip the current level" #~ msgstr "Skip the current level" #~ msgid "Start a new game" #~ msgstr "Start a new game" #~ msgid "Undo the last move" #~ msgstr "Undo the last move" #~ msgid "View highscores" #~ msgstr "View highscores" #~ msgid "_Edit" #~ msgstr "_Edit" #~ msgid "_Preferences ..." #~ msgstr "_Preferences ..." #~ msgid "_Undo move" #~ msgstr "_Undo move" #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgid "Couldn't find file: %s" #~ msgstr "Couldn't find file: %s" #~ msgid "E_xit" #~ msgstr "E_xit" #~ msgid "Exit game" #~ msgstr "Exit game" #~ msgid "View game credits" #~ msgstr "View game credits" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Copyright (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "Couldn't create directory: %s" atomix-3.19.4/po/eo.po000066400000000000000000000135571264725221400145120ustar00rootroot00000000000000# Esperanto translation for atomix. # Copyright (C) 2009-2011 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # Kristjan SCHMIDT , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&component=general\n" "POT-Creation-Date: 2010-12-13 20:12+0000\n" "PO-Revision-Date: 2011-11-11 20:24+0100\n" "Last-Translator: Kristjan SCHMIDT \n" "Language-Team: Esperanto \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bits\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Aceta acido" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetono" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanalo" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etano" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanolo" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Eteno" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerino" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Lakta acido" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanalo" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metano" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanolo" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propileno" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Akvo" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Ne eblas montri ligilon" #: ../src/games-scores-dialog.c:113 #| msgid "Time:" msgid "Time" msgstr "Horo" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 #| msgid "Score:" msgid "Score" msgstr "Poentaro" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 #| msgid "_New Game" msgid "New Game" msgstr "Nova ludo" #: ../src/games-scores-dialog.c:537 #| msgid "_Game" msgid "Name" msgstr "Nomo" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Eraro" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "" #: ../src/level-manager.c:190 msgid "No level found." msgstr "Ne trovis nivelon." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Trovis nivelon '%s' en: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Puzloludo pri atomoj kaj molekuloj" #: ../src/main.c:170 msgid "translator-credits" msgstr "Kristjan SCHMIDT, 2011." #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Gratulon! Vi finigis ĉiujn nivelojn de Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "" #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Ĉu fi volas ĉesi la ludon?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistikoj" #: ../src/main.c:707 msgid "Level:" msgstr "Nivelo:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molekulo:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formulo:" #: ../src/main.c:710 msgid "Score:" msgstr "Poentoj:" #: ../src/main.c:711 msgid "Time:" msgstr "Tempo:" #: ../src/main.c:734 msgid "_Game" msgstr "_Ludo" #: ../src/main.c:735 msgid "_Help" msgstr "_Helpo" #: ../src/main.c:737 #| msgid "_End Game" msgid "End Game" msgstr "Fini ludon" #: ../src/main.c:738 #| msgid "Skip _level" msgid "Skip Level" msgstr "Preterpasi nivelon" #: ../src/main.c:739 #| msgid "Reset level" msgid "Reset Level" msgstr "Rekomencigi nivelon" #: ../src/main.c:741 #| msgid "_Pause game" msgid "_Pause Game" msgstr "_Paŭzigi ludon" #: ../src/main.c:742 #| msgid "_Continue game" msgid "_Continue Game" msgstr "_Daŭrigi ludon" #: ../src/main.c:743 #| msgid "_Scores ..." msgid "_Scores..." msgstr "_Poentoj ..." #: ../src/main.c:745 msgid "About" msgstr "Pri" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Ne trovis etoson." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Trovis etoson '%s' en: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekulo-puzloludo" #~ msgid "Continue paused game" #~ msgstr "Daŭrigi paŭzigitan ludon" #~ msgid "End a game" #~ msgstr "Fini ludon" #~ msgid "Pause the running game" #~ msgstr "Paŭzigi la aktivan ludon" #~ msgid "Restores start situation" #~ msgstr "Restaŭtri komenc-situacion" #~ msgid "Set preferences" #~ msgstr "Fari agordojn" #~ msgid "Skip the current level" #~ msgstr "Preterpasi la aktualan nivelon" #~ msgid "Start a new game" #~ msgstr "Komenci novan ludon" #~ msgid "Undo the last move" #~ msgstr "Malfari la lastan agon" #~ msgid "View highscores" #~ msgstr "Montri la plej altajn poentojn" #~ msgid "_Preferences ..." #~ msgstr "_Agordoj ..." #~ msgid "_Undo move" #~ msgstr "_Malfari movon" #~ msgid "Couldn't find file: %s" #~ msgstr "Ne trovis dosieron: %s" #~ msgid "http://www.gnome.org/projects/atomix" #~ msgstr "http://www.gnome.org/projects/atomix" atomix-3.19.4/po/es.po000066400000000000000000000232261264725221400145100ustar00rootroot00000000000000# translation of atomix.master.es.po to Spanish # Spanish/Spain translation of ATOMIX. # Copyright (C) 2001, 2003 Free Software Foundation, Inc. # Álvaro Peña , 2001. # Francisco Javier F. Serrador , 2003. # Jorge González , 2010. # # Daniel Mustieles , 2015. , 2016. # msgid "" msgstr "" "Project-Id-Version: atomix.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2016-01-07 03:57+0000\n" "PO-Revision-Date: 2016-01-07 11:40+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español; Castellano \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Gtranslator 2.91.6\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Construir moléculas a partir de átomos sencillos" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix es un juego tipo puzle en el que el objetivo es ensamblar moléculas a " "partir de átomos, moviéndolos sobre el tablero del juego. Sin embargo, los " "átomos no se mueven a donde quiere, sino que se deslizan hasta que " "encuentran una pared u otro átomo." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Pruebe a construir las moléculas tan rápido como pueda en cada nivel para " "ganar más puntos." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Puzle con moléculas" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Un juego de puzles sobre átomos y moléculas" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ácido acético" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetona" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutano" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil-éter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etano" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etileno" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Ácido láctico" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metano" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propileno" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirano" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbutileno" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Agua" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Archivo" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "Juego _nuevo" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "Finalizar el ju_ego" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "_Saltar nivel" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Reiniciar nivel" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Deshacer movimiento" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Pausar juego" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Continuar juego" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Salir" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "Ay_uda" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "A_cerca de" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nivel:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molécula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Fórmula:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Puntuación:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Tiempo:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "vaciar" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Estadísticas" #: ../data/ui/interface.ui.h:20 #| msgid "_New Game" msgid "New Game" msgstr "Juego nuevo" #: ../data/ui/interface.ui.h:21 #| msgid "_End Game" msgid "End Game" msgstr "Finalizar el juego" #: ../data/ui/interface.ui.h:22 #| msgid "_Skip Level" msgid "Skip Level" msgstr "Saltar nivel" #: ../data/ui/interface.ui.h:23 #| msgid "_Reset Level" msgid "Reset Level" msgstr "Reiniciar nivel" #: ../data/ui/interface.ui.h:24 #| msgid "_Undo Move" msgid "Undo Move" msgstr "Deshacer movimiento" #: ../data/ui/interface.ui.h:25 #| msgid "_Pause Game" msgid "Pause Game" msgstr "Pausar juego" #: ../data/ui/interface.ui.h:26 #| msgid "_Continue Game" msgid "Continue Game" msgstr "Continuar juego" #: ../data/ui/interface.ui.h:27 #| msgid "_About" msgid "About" msgstr "Acerca de" #: ../data/ui/interface.ui.h:28 #| msgid "_Quit" msgid "Quit" msgstr "Salir" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Guíe a los átomos por el laberinto para formar moléculas.\n" "Pulse o use las teclas de flechas e Intro para seleccionar un átomo y " "moverlo.\n" "Tenga cuidado: un átomo se sigue moviendo hasta que encuentra una pared.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "No se puede encontrar secuencia de descripción del nivel" #: ../src/level-manager.c:214 msgid "No level found." msgstr "No se encontró ningún nivel." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Encontrado nivel «%s» en: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Daniel Mustieles , 2015\n" "Jorge González , 2010\n" "Francisco Javier F. Serrador " #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "¡Felicidades! Ha terminado todos los niveles de Atomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "No se encontraron temas." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Se encontró el tema «%s» en: %s" #~ msgid "https://github.com/GNOME/atomix" #~ msgstr "https://github.com/GNOME/atomix" #~ msgid "Could not show link" #~ msgstr "No se pudo mostrar el enlace" #~| msgid "Time:" #~ msgid "Time" #~ msgstr "Tiempo" #~| msgid "Score:" #~ msgid "Score" #~ msgstr "Puntuación" #~ msgid "%dm %ds" #~ msgstr "%dm %ds" #~| msgid "_Game" #~ msgid "Name" #~ msgstr "Nombre" #~ msgid "Error" #~ msgstr "Error" #~ msgid "Couldn't find at least one level." #~ msgstr "No se pudo encontrar al menos un nivel." #~ msgid "Do you want to finish the game?" #~ msgstr "¿Quiere terminar el juego?" #~ msgid "_Game" #~ msgstr "_Juego" #~| msgid "_Scores ..." #~ msgid "_Scores..." #~ msgstr "_Puntuaciones…" #~ msgid "Continue paused game" #~ msgstr "Continuar juego pausado" #~ msgid "End a game" #~ msgstr "Finalizar el juego" #~ msgid "Pause the running game" #~ msgstr "Pausar el juego actual" #~ msgid "Restores start situation" #~ msgstr "Restaura la situación inicial" #~ msgid "Set preferences" #~ msgstr "Establecer preferencias" #~ msgid "Skip the current level" #~ msgstr "Saltar el nivel actual" #~ msgid "Start a new game" #~ msgstr "Inicia un juego" #~ msgid "Undo the last move" #~ msgstr "Deshacer el último movimiento" #~ msgid "View highscores" #~ msgstr "Ver puntuaciones" #~ msgid "_Edit" #~ msgstr "_Editar" #~ msgid "_Preferences ..." #~ msgstr "_Preferencias..." #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "No ha conseguido ningún punto aún. Juegue un poco actes de volver." #~ msgid "Couldn't find file: %s" #~ msgstr "No se pudo encontrar el archivo: %s" #~ msgid "E_xit" #~ msgstr "_Salir" #~ msgid "Exit game" #~ msgstr "Salir del juego" #~ msgid "View game credits" #~ msgstr "Ver creditos del juego" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Copyright © 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "No se puede crear el directorio: %s" #~ msgid "Game Paused" #~ msgstr "Juego Parado" #~ msgid "Game Over" #~ msgstr "Juego Terminado" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - Juego Mental con Moléculas" #~ msgid "No more undo levels." #~ msgstr "No hay mas niveles por hacer." #~ msgid "This is the last level. You can't skip any further." #~ msgstr "Este es el último nivel. No puede saltar ninguno más." #~ msgid "XML file %s not found." #~ msgstr "No se pudo encontrar el fichero XML %s." atomix-3.19.4/po/et.po000066400000000000000000000131501264725221400145040ustar00rootroot00000000000000# Atomix'i eesti keele tõlge. # Estonian translation of atomix. # # Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # # Tõivo Leedjärv , 2002. # Ivar Smolin , 2005, 2006. # Jüri Ruut, 2005. # msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-15 13:44+0100\n" "PO-Revision-Date: 2006-01-15 15:24+0200\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Etaanhape" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Atsetoon" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanool" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Tsüklobutaan" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetüüleeter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanaal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etaan" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanool" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Eteen" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glütseriin" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Piimhape" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanaal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metaan" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanool" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanaal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propeen" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Püraan" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-buteen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Vesi" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Jätka peatatud mängu" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Lõpeta mäng" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Peata aktiivne mäng" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Algväärtusta tase" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Taastab taseme algoleku" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Määra eelistused" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "_Hüppa järgmisele tasemele" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Jäta praegune tase vahele" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Alusta uut mängu" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Unusta viimane liigutus" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Vaata parimaid tulemusi" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Jätka mängu" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Lõpeta mäng" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Mäng" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2002.\n" "Ivar Smolin , 2005, 2006.\n" "Jüri Ruut, 2005." #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Õnnitlused! Sa lõpetasid kõis Atomix tasemed." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Ei leia vähemalt ühte taset." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Kas sa tahad mängu lõpetada?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "Statistika" #: ../src/main.c:734 msgid "Level:" msgstr "Tase:" #: ../src/main.c:735 msgid "Molecule:" msgstr "Molekul:" #: ../src/main.c:736 msgid "Formula:" msgstr "Valem:" #: ../src/main.c:737 msgid "Score:" msgstr "Punkte:" #: ../src/main.c:738 msgid "Time:" msgstr "Aeg:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "Ei leia faili: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Ei leia ühtegi teemat." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "Teema '%s' leitud failist: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Mõttemäng molekulidest" atomix-3.19.4/po/eu.po000066400000000000000000000131401264725221400145040ustar00rootroot00000000000000# translation of eu.po to Basque # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Iñaki Larrañaga Murgoitio , 2008, 2010. msgid "" msgstr "" "Project-Id-Version: eu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-03-05 19:20+0100\n" "PO-Revision-Date: 2010-03-30 12:00+0200\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Azido azetikoa" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Azetona" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanola" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ziklobutanoa" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil eterra" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanala" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etanoa" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanola" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilenoa" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glizerina" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Azido laktikoa" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanala" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metanoa" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanola" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanala" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilenoa" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piranoa" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butilenoa" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Ura" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Jarraitu pausatutako jokoa" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Amaitu jokoa" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Pausarazi jokoa" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Berrezarri maila" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Leheneratu hasierako egoera" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Ezarri hobespenak" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Saltatu _maila" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Saltatu uneko maila" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Hasi joko berria" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Desegin azken mugimendua" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Ikusi puntuazioa" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Jarraitu jokoa" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Amaitu jokoa" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Jokoa" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:489 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:500 msgid "Congratulations! You have finished all Atomix levels." msgstr "Zorionak! Atomix-en maila guztiak gainditu dituzu." #: ../src/main.c:510 msgid "Couldn't find at least one level." msgstr "Ezin izan da maila bat gutxienez aurkitu." #: ../src/main.c:515 msgid "Do you want to finish the game?" msgstr "Nahi duzu jokoa amaitzea?" #. create statistics frame #: ../src/main.c:729 msgid "Statistics" msgstr "Estatistikak" #: ../src/main.c:735 msgid "Level:" msgstr "Maila:" #: ../src/main.c:736 msgid "Molecule:" msgstr "Molekula:" #: ../src/main.c:737 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:738 msgid "Score:" msgstr "Puntuazioa:" #: ../src/main.c:739 msgid "Time:" msgstr "Denbora:" #: ../src/main.c:779 #, c-format msgid "Couldn't find file: %s" msgstr "Ezin izan da fitxategia aurkitu: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Ez da gairik aurkitu." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "'%s' gaia aurkitu da hemen: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekulen puzzle-jokoa" atomix-3.19.4/po/fa.po000066400000000000000000000105511264725221400144640ustar00rootroot00000000000000# Persian translation of atomix. # Copyright (C) 2003 The FarsiWeb Project Group # Roozbeh Pournader , 2003. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2003-02-23 16:24+0330\n" "Last-Translator: Roozbeh Pournader \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.6\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "ادامه‌ی بازی متوقف‌شده" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "خروج" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "اتمام بازی" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "خروج از بازی" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "توقف بازی در حال اجرا" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "از اول مرحله" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "بازیابی وضعیت شروع" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "تنظیم ترجیحات" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "پریدن از مرحله" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "پریدن از مرحله‌ی فعلی" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "شروع بازی جدید" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "برگشت حرکت قبلی" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "نمایش امتیازات بالا" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "درباره" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "ادامه‌ی بازی" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "ویرایش" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "پایان بازی" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "بازی" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "راهنما" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "بازی جدید" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "توقف بازی" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "ترجیحات ..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "امتیازات ..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "برگشت حرکت" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "" #: src/level-manager.c:185 msgid "No level found." msgstr "هیچ مرحلهای یافت نشد." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "اتومیکس" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Copyright (C) 1999-2002 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "یک بازی فکری درباره‌ی اتم‌ها و مولکول‌ها" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "تبریک! شما همه‌ی مرحله‌های اتومیکس را تمام کردید." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "آیا می‌خواهید بازی را تمام کنید؟" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "نمی‌توان شاخه را ایجاد کرد: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "آمار" #: src/main.c:707 msgid "Level:" msgstr "مرحله:" #: src/main.c:708 msgid "Molecule:" msgstr "مولکول:" #: src/main.c:709 msgid "Score:" msgstr "امتیاز:" #: src/main.c:710 msgid "Time:" msgstr "زمان:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "نمی‌توان پرونده را یافت: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "هیچ تمی پیدا نشد." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "بازی فکری مولکولی" atomix-3.19.4/po/fi.po000066400000000000000000000167001264725221400144760ustar00rootroot00000000000000# Atomix Finnish translation. # Suomennos: http://gnome.fi/ # # Copyright (C) 2002 Free Software Foundation, Inc. # Lauri Nurmi , 2002. # Ilkka Tuohela , 2005. # Jiri Grönroos , 2015. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-08-31 12:37+0000\n" "PO-Revision-Date: 2015-10-11 16:51+0300\n" "Last-Translator: Jiri Grönroos \n" "Language-Team: suomi \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 2.91.6\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:127 ../src/main.c:684 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Rakenna molekyylejä yksittäisistä atomeista" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix on pulmapeli, jossa tavoitteena on koota molekyylejä yksittäisistä " "atomeista siirtämällä niitä pelialueella. Atomit eivät kuitenkaan liiku " "juuri sinne, minne haluat, vaan ne liukuvat kunnes osuvat seinämään tai " "toisiin atomeihin." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Yritä rakentaa molekyylejä mahdollisimman nopeasti jokaisella tasolla " "ansaitaksesi huippupisteet." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekyyliälypeli" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Etikkahappo" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Asetoni" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanoli" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Syklobutaani" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetyylieetteri" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Asetaldehydi" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etaani" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanoli" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etyleeni" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glyseriini" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Maitohappo" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Formaldehydi" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metaani" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanoli" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propionaldehydi" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propyleeni" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyraani" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butyleeni" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Vesi" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Tiedosto" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Uusi peli" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Lopeta peli" #: ../data/ui/interface.ui.h:5 #| msgid "Skip _level" msgid "_Skip Level" msgstr "Ohita _taso" #: ../data/ui/interface.ui.h:6 #| msgid "Reset level" msgid "_Reset Level" msgstr "Aloita taso uu_delleen" #: ../data/ui/interface.ui.h:7 #| msgid "_Undo move" msgid "_Undo Move" msgstr "_Kumoa siirto" #: ../data/ui/interface.ui.h:8 #| msgid "_Pause game" msgid "_Pause Game" msgstr "K_eskeytä peli" #: ../data/ui/interface.ui.h:9 #| msgid "_Continue game" msgid "_Continue Game" msgstr "_Jatka peliä" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Lopeta" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "O_hje" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Tietoja" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Taso:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekyyli:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Kaava:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Pisteet:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Aika:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "tyhjä" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Tilasto" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Tason sarjan kuvausta ei löytynyt." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Tasoa ei löytynyt." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Taso '%s' löytyi paikasta: %s" #: ../src/main.c:129 msgid "A puzzle game about atoms and molecules" msgstr "Älypeli atomeista ja molekyyleistä" #: ../src/main.c:133 msgid "translator-credits" msgstr "" "Lauri Nurmi, 2002.\n" "Ilkka Tuohela, 2005.\n" "Jiri Grönroos, 2015." #: ../src/main.c:440 msgid "Congratulations! You have finished all Atomix levels." msgstr "Onnittelut! Olet läpäissyt kaikki Atomixin tasot." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Teemoja ei löytynyt." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Teema '%s' löytyi paikasta: %s" #~ msgid "Continue paused game" #~ msgstr "Jatka pysäytettyä peliä" #~ msgid "End a game" #~ msgstr "Lopeta peli" #~ msgid "Pause the running game" #~ msgstr "Pysäytä peli" #~ msgid "Restores start situation" #~ msgstr "Palauttaa lähtötilanteen" #~ msgid "Set preferences" #~ msgstr "Määritä asetukset" #~ msgid "Skip the current level" #~ msgstr "Ohita nykyinen taso" #~ msgid "Start a new game" #~ msgstr "Aloita uusi peli" #~ msgid "Undo the last move" #~ msgstr "Kumoa viimeinen siirto" #~ msgid "View highscores" #~ msgstr "Näytä parhaat tulokset" #~ msgid "_Game" #~ msgstr "_Peli" #~ msgid "_Preferences ..." #~ msgstr "_Asetukset..." #~ msgid "_Scores ..." #~ msgstr "_Tulokset..." #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "Et ole vielä pelannut mitään tulosta. Pelaa vähän lisää ensin!" #~ msgid "Couldn't find at least one level." #~ msgstr "Yhtään tasoa ei löytynyt." #~ msgid "Do you want to finish the game?" #~ msgstr "Haluatko päättää pelin?" #~ msgid "Couldn't find file: %s" #~ msgstr "Tiedostoa %s ei löytynyt" #~ msgid "E_xit" #~ msgstr "P_oistu" #~ msgid "Exit game" #~ msgstr "Poistu pelistä" #~ msgid "View game credits" #~ msgstr "Näytä pelin " #~ msgid "_Edit" #~ msgstr "_Muokkaa" #~ msgid "Game Paused" #~ msgstr "Peli pysäytetty" #~ msgid "Game Over" #~ msgstr "Peli loppui" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - Molekyyliälypeli" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "" #~ "Copyright © 1999-2002 Jens Finke\n" #~ "Suomennos: http://gnome-fi.sourceforge.net/" #~ msgid "Couldn't create directory: %s" #~ msgstr "Ei voitu luoda hakemistoa: %s" #~ msgid "Atomix Splash" #~ msgstr "Atomix Splash" atomix-3.19.4/po/fr.po000066400000000000000000000122731264725221400145100ustar00rootroot00000000000000# French translation of atomix. # Copyright (C) 2001-2010 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # # Christophe Merlet , 2001-2006. # Jonathan Ernst , 2006-2007. # Claude Paroz , 2010. # msgid "" msgstr "" "Project-Id-Version: atomix 2.14.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&component=general\n" "POT-Creation-Date: 2010-12-13 20:12+0000\n" "PO-Revision-Date: 2010-12-13 21:19+0100\n" "Last-Translator: Claude Paroz \n" "Language-Team: GNOME French Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acide acétique" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acétone" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutane" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Éther diméthyle" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Éthanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Éthane" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Éthanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Éthylène" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycérine" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Acide lactique" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Méthanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Méthane" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Méthanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylène" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyrane" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butylène" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Eau" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Impossible d'afficher le lien" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Date" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Score" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "Nouvelle partie" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Nom" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Erreur" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Impossible de trouver le niveau de la description de séquence." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Aucun niveau trouvé." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "A trouvé le niveau « %s » dans : %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Un jeu de mémoire sur les atomes et molécules" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Christophe Merlet \n" "Jonathan Ernst " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Félicitations ! Vous avez fini tous les niveaux d'Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Impossible de trouver au moins un niveau." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Voulez-vous finir le jeu ?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistiques" #: ../src/main.c:707 msgid "Level:" msgstr "Niveau :" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molécule :" #: ../src/main.c:709 msgid "Formula:" msgstr "Formule :" #: ../src/main.c:710 msgid "Score:" msgstr "Score :" #: ../src/main.c:711 msgid "Time:" msgstr "Date :" #: ../src/main.c:734 msgid "_Game" msgstr "_Jeu" #: ../src/main.c:735 msgid "_Help" msgstr "Aid_e" #: ../src/main.c:737 msgid "End Game" msgstr "Terminer la partie" #: ../src/main.c:738 msgid "Skip Level" msgstr "Passer le niveau" #: ../src/main.c:739 msgid "Reset Level" msgstr "Initialiser le niveau" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Suspendre la partie" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Continuer la partie" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Scores..." #: ../src/main.c:745 msgid "About" msgstr "À propos" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Aucun thème trouvé." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "A trouvé le thème « %s » dans : %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Jeu de mémoire sur les molécules" atomix-3.19.4/po/ga.po000066400000000000000000000071651264725221400144740ustar00rootroot00000000000000# Irish (gaeilge) translations for atomix # Copyright (C) 2004 Alastair McKinstry # This file is distributed under the same license as the atomix package. # Alastair McKinstry , 2004. # msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2003-12-17 03:03+0100\n" "PO-Revision-Date: 2004-0-22 08:02+0000\n" "Last-Translator: Alastair McKinstry \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "_Ealu" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "Ealu as cluiche" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "Tosaigh cluiche nua" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "_Faoi" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "_Eagar" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_Cluiche" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "Cab_hair" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "Cluiche _Nua" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "_Cas cluiche" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "_Roghnachais ..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "_Scoraí ..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "" #: src/level-manager.c:185 msgid "No level found." msgstr "" #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Cóipcheart (C) 1999-2004 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "" #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "" #: src/main.c:707 msgid "Level:" msgstr "" #: src/main.c:708 msgid "Molecule:" msgstr "" #: src/main.c:709 msgid "Score:" msgstr "Scór:" #: src/main.c:710 msgid "Time:" msgstr "Am:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "Teip ag cruthaigh comhad: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "" #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "" atomix-3.19.4/po/gl.po000066400000000000000000000143711264725221400145040ustar00rootroot00000000000000# translation of atomix-master-po-gl-109374.po to Galician # Galician translation of Atomix game for GNOME. # Copyright (C) 2001-2002, 2005, 2006, 2009 Free Software Foundation, Inc. # # Manuel A. Fernández Montecelo , 2001-2002. # Ignacio Casal Quinteiro , 2005, 2006. # Francisco Diéguez , 2009. # Antón Méixome , 2009. # Fran Dieguez , 2012. # msgid "" msgstr "" "Project-Id-Version: atomix-master-po-gl-109374\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-24 00:30+0100\n" "PO-Revision-Date: 2012-03-24 00:30+0100\n" "Last-Translator: Fran Dieguez \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ácido acético" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetona" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutano" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil-éter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etano" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etileno" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Ácido láctico" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metano" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propileno" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirano" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbutileno" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Auga" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Non foi posíble mostrar a ligazón" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Tempo" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Puntuación" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "Xogo novo" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Nome" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Erro" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Non se puido atopar a descrición da secuencia de nivel." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Non se atopou o nivel." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Atopouse un nivel '%s' en: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Un xogo de crebacabezas sobre átomos e moléculas" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Ignacio Casal Quinteiro G11n " "Fran Diéguez " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Noraboa! Acabaches todos os niveis de Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Non se puido atopar nin sequera un nivel." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Queres rematar o xogo?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Estatísticas" #: ../src/main.c:707 msgid "Level:" msgstr "Nivel:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molécula:" #: ../src/main.c:709 msgid "Formula:" msgstr "Fórmula:" #: ../src/main.c:710 msgid "Score:" msgstr "Puntuación:" #: ../src/main.c:711 msgid "Time:" msgstr "Tempo:" #: ../src/main.c:734 msgid "_Game" msgstr "_Xogo" #: ../src/main.c:735 msgid "_Help" msgstr "_Axuda" #: ../src/main.c:737 msgid "End Game" msgstr "Finalizar xogo" #: ../src/main.c:738 msgid "Skip Level" msgstr "Saltar nivel" #: ../src/main.c:739 msgid "Reset Level" msgstr "Reiniciar nivel" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Pausar xogo" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Continuar xogo" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Puntuacións…" #: ../src/main.c:745 msgid "About" msgstr "Sobre" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Non se atoparon os temas." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Atopouse un tema '%s' en: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Crebacabezas con moléculas" #~ msgid "Continue paused game" #~ msgstr "Continuar o xogo pausado" #~ msgid "End a game" #~ msgstr "Rematar un xogo" #~ msgid "Pause the running game" #~ msgstr "Pausar o xogo" #~ msgid "Restores start situation" #~ msgstr "Restaurar á situación inicial" #~ msgid "Set preferences" #~ msgstr "Establecer as preferencias" #~ msgid "Skip the current level" #~ msgstr "Saltar o nivel actual" #~ msgid "Start a new game" #~ msgstr "Comezar un novo xogo" #~ msgid "Undo the last move" #~ msgstr "Desfacer o último movemento" #~ msgid "View highscores" #~ msgstr "Ver as puntuacións máximas" #~ msgid "_Preferences ..." #~ msgstr "_Preferenzas ..." #~ msgid "_Undo move" #~ msgstr "_Desfacer movemento" #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Non conseguiches ningún punto aínda. Xogua un pouco antes de volver!" #~ msgid "Couldn't find file: %s" #~ msgstr "Non se puido atopar o ficheiro: %s" atomix-3.19.4/po/gu.po000066400000000000000000000160541264725221400145150ustar00rootroot00000000000000# translation of atomix.HEAD.gu.po to Gujarati # translation of atomix.HEAD.po to Gujarati # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Ankit Patel , 2004. # Ankit Patel , 2005, 2006. # msgid "" msgstr "" "Project-Id-Version: atomix.HEAD.gu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-06 05:23+0100\n" "PO-Revision-Date: 2006-01-06 13:01+0530\n" "Last-Translator: Ankit Patel \n" "Language-Team: Gujarati \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.9.1\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" "\n" "\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "એસેટિક એસિડ" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "એસિટોન" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "બ્યુટેનોલ" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "સાયક્લોબ્યુટેન" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "ડાયમિથાઈલ ઈથર" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "ઈથેનાલ" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "ઈથેન" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "ઈથેનોલ" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "ઈથીલીન" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "ગ્લાયસીરીન" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "લેક્ટિક એસિડ" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "મિથેનાલ" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "મિથેન" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "મિથેનોલ" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "પ્રોપેનાલ" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "પ્રોપીલીન" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "પાયરેન" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ટ્રાન્સ બ્યુટીલીન" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "પાણી" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "અટકાવાયેલ રમત ચાલુ રાખો" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "રમતનો અંત કરો" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "ચાલતી રમત અટકાવો" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "સ્તર ફરીથી સુયોજિત કરો" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "શરુઆતની પરિસ્થિતિ ફરીથી સંગ્રહિત કરો" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "પસંદગીઓ સુયોજિત કરો" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "સ્તર અવગણો (_l)" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "વર્તમાન સ્તર અવગણો" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "નવી રમત શરુ કરો" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "છેલ્લી ચાલ રદ કરો" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "મહત્તમ ગુણ જુઓ" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "રમત ચાલુ રાખો (_C)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "રમતનો અંત કરો (_E)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "રમત (_G)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "એટોમિક્સ" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "અભિનંદન! તમે એટોમિક્સના બધા સ્તરો પૂર્ણ કરી દીધા છે." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "ઓછામાં ઓછું એક સ્તર પણ શોધી શક્યા નથી." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "શું તમે રમત પૂર્ણ કરવા માંગો છો?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "પરિસ્થિતિઓ" #: ../src/main.c:734 msgid "Level:" msgstr "સ્તર:" #: ../src/main.c:735 msgid "Molecule:" msgstr "અણુ:" #: ../src/main.c:736 msgid "Formula:" msgstr "સૂત્ર:" #: ../src/main.c:737 msgid "Score:" msgstr "ગુણ:" #: ../src/main.c:738 msgid "Time:" msgstr "સમય:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "ફાઈલ શોધી શક્યા નહિં: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "કોઈ થીમ મળી નથી." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "મા થીમ '%s' મળી: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "પરમાણું કોયડા રમત" atomix-3.19.4/po/he.po000066400000000000000000000165431264725221400145010ustar00rootroot00000000000000# translation of atomix.txt.po to Hebrew # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Gil 'Dolfin' Osher , 2003 # msgid "" msgstr "" "Project-Id-Version: atomix.txt\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-08-30 11:26+0300\n" "PO-Revision-Date: 2015-08-30 11:26+0300\n" "Last-Translator: Yosef Or Boczko \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:127 ../src/main.c:684 msgid "Atomix" msgstr "אטומיקס" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "משחק פאזל מולקולי" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "חומצה אצטית" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "אצטון" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "בותאנול" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "ציקלובותאן" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "דימתיל אתר" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "אתנאל" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "אתאן" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "אתאנול" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "אתילן" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "גליצרין" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "חומצה לקטית" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "מתאנאל" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "מתאן" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "מתאנול" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "פרופאנל" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "פרופילן" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "פירן" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "טראנס בוטילן" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "מים" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_קובץ" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "משחק _חדש" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_סיום המשחק" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "_דילוג שלב" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_איפוס השלב" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_ביטול מהלך" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "הפ_סקת המשחק" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "המש_ך המשחק" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_יציאה" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_עזרה" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "על _אודות" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "שלב:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "מולקולה:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "נוסחה:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "תוצאה:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "זמן:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "ריק" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "סטטיסטיקה" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "לא ניתן למצוא תיאור רצף שלבים." #: ../src/level-manager.c:214 msgid "No level found." msgstr "לא נמצא שלב." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "נמצא שלב '%s' ב־: %s" #: ../src/main.c:129 msgid "A puzzle game about atoms and molecules" msgstr "משחק פאזל על אטומים ומולקולות." #: ../src/main.c:130 msgid "https://github.com/GNOME/atomix" msgstr "https://github.com/GNOME/atomix" #: ../src/main.c:133 msgid "translator-credits" msgstr "" "Gil 'Dolfin' Osher \n" "Yaniv Abir \n" "Yaron Shahrabani " #: ../src/main.c:440 msgid "Congratulations! You have finished all Atomix levels." msgstr "ברכות! סיימת את כל שלבי אטומיקס." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "לא נמצאו ערכות נושא." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "נמצאה ערכת נושא '%s' ב: %s" #~ msgid "Could not show link" #~ msgstr "לא ניתן להציג קישור" #~ msgid "Time" #~ msgstr "זמן" #~ msgid "Score" #~ msgstr "תוצאה" #~ msgid "%dm %ds" #~ msgstr "%d דק׳ %d שנ׳" #~ msgid "Name" #~ msgstr "שם" #~ msgid "Error" #~ msgstr "שגיאה" #~ msgid "Couldn't find at least one level." #~ msgstr "לא ניתן למצוא לפחות שלב אחד." #~ msgid "Do you want to finish the game?" #~ msgstr "האם ברצונך לסיים את המשחק?" #~ msgid "_Game" #~ msgstr "_משחק" #~ msgid "_Scores..." #~ msgstr "_תוצאות..." #~ msgid "Continue paused game" #~ msgstr "המשך במשחק שנעצר" #~ msgid "End a game" #~ msgstr "סיום המשחק" #~ msgid "Pause the running game" #~ msgstr "עצירת המשחק הפעיל" #~ msgid "Restores start situation" #~ msgstr "מצב ההתחלה משוחזר" #~ msgid "Set preferences" #~ msgstr "הגדרת העדפות" #~ msgid "Skip the current level" #~ msgstr "דילוג על השלב הנוכחי" #~ msgid "Start a new game" #~ msgstr "התחלת משחק חדש" #~ msgid "Undo the last move" #~ msgstr "ביטול המהלך האחרון" #~ msgid "View highscores" #~ msgstr "הצגת תוצאות גבוהות" #~ msgid "_Preferences ..." #~ msgstr "_העדפות ..." #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "עדיין לא השגת תוצאות. כדאי לשחק קצת לפני ואז לחזור!" #~ msgid "Couldn't find file: %s" #~ msgstr "לא ניתן למצוא את הקובץ: %s" #~ msgid "E_xit" #~ msgstr "י_ציאה" #~ msgid "Exit game" #~ msgstr "צא מהמשחק" #~ msgid "View game credits" #~ msgstr "הצג תודות משחק" #~ msgid "_Edit" #~ msgstr "_עריכה" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "זכויות יוצרים (C) 1999-2002 Jens Finke " #~ msgid "Couldn't create directory: %s" #~ msgstr "לא ניתן ליצור את הסיפרייה: %s" atomix-3.19.4/po/hi.po000066400000000000000000000123021264725221400144720ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Atomix 2.x\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-02-23 19:05+0530\n" "PO-Revision-Date: 2003-01-03 18:26+0530\n" "Last-Translator: G Karunakar \n" "Language-Team: Gnome Hindi Team\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "रुका हुआ खेल जारी करें" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "बाहर (_x)" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "खेल खत्म करें" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "खेल से बाहर" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "चल रहे खेल को रोकें" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "स्तर यथावत् करें" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "खेल को " #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "विकल्प समायोजित करें" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "स्तर छोडें (_l)" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "वर्तमान स्तर छोडें" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "नया खेल शुरु करें" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "पिछली चाल वापस लें" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "खेल श्रेय देखें" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "उच्चसकोर देखें" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "के बारे मे (_A)" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "खेल जारी रखें (_C)" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "संशोधन (_E)" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "खेल समाप्त करें (_E)" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "खेल (_G)" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "सहायता (_H)" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "नया खेल (_N)" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "खेल रोकें (_P)" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "विकल्प ...(_P)" #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "सकोर ...(_S)" #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "चाल वापिस लें (_U)" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "स्तर क्रम वर्णन नही मिला" #: src/level-manager.c:185 msgid "No level found." msgstr "खेल स्तर नही मिला" #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "स्तर '%s' में '%s' मिला" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "एटामिक्स" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "कापीराईट (c) १९९९-२००२ जेन्स् फिंके" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "एटम ओर मालिक्यूल के बारे में एक दिमागी खेल" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "बधाई ! आपने एटामिक्स के सभी स्तर पार कर लिये" #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "कमसेकम एक स्तर नही मिला" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "कया आप खेल समाप्त करना चाहेंगे ?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "डायरेकट्री '%s' नही बना पाए" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "आंकडे" #: src/main.c:707 msgid "Level:" msgstr "स्तर:" #: src/main.c:708 msgid "Molecule:" msgstr "मालिक्यूल:" #: src/main.c:709 msgid "Score:" msgstr "सकोर:" #: src/main.c:710 msgid "Time:" msgstr "समय:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "फाइल '%s' नही मिला" #: src/theme-manager.c:141 msgid "No themes found." msgstr "कोइ थीम नही मिला" #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "थीम '%s' में '%s' मिला" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "मालिक्यूल दिमागी खेल" #~ msgid "Atomix Splash" #~ msgstr "एटामिक्स स्पलेश" atomix-3.19.4/po/hu.po000066400000000000000000000150131264725221400145100ustar00rootroot00000000000000# Hungarian translation of atomix. # Copyright (C) 2002-2004, 2006, 2007, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # # Andras Timar , 2002. # Laszlo Dvornik , 2004. # Gabor Kelemen , 2006, 2007. 2010. # Balázs Úr , 2015. msgid "" msgstr "" "Project-Id-Version: atomix master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-01-18 17:28+0000\n" "PO-Revision-Date: 2015-03-01 16:40+0100\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Építsen molekulákat egyedülálló atomokból" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Az Atomix egy kirakós játék, amelynek célja molekulák összerakása az " "összetevő atomokból a játékmezőn történő mozgatásukkal. Azonban az atomok nem " "csak arra mozognak, amerre mozgatni szeretné azokat, hanem addig csúsznak, " "amíg el nem érnek egy falat vagy egy másik atomot." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Próbálja meg minden szinten a lehető leggyorsabban megépíteni a molekulákat, " "hogy megszerezze a magasabb pontszámot." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekulakirakós játék" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ecetsav" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Bután" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciklo-bután" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil-éter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Acetaldehid" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etán" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilén" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Tejsav" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Formaldehid" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metán" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propionaldehid" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilén" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirán" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transz-Butilén" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Víz" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Fájl" #: ../data/ui/interface.ui.h:3 #| msgid "New Game" msgid "_New Game" msgstr "Ú_j játék" #: ../data/ui/interface.ui.h:4 #| msgid "End Game" msgid "_End Game" msgstr "Játék _befejezése" #: ../data/ui/interface.ui.h:5 #| msgid "Skip Level" msgid "_Skip Level" msgstr "Szint _kihagyása" #: ../data/ui/interface.ui.h:6 #| msgid "Reset Level" msgid "_Reset Level" msgstr "Szint vissz_aállítása" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Mozgatás _visszavonása" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Játék _szüneteltetése" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "Játék _folytatása" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Kilépés" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Súgó" #: ../data/ui/interface.ui.h:12 #| msgid "About" msgid "_About" msgstr "_Névjegy" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Szint:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Képlet:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Pont:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Idő:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "üres" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statisztika" #: ../src/level-manager.c:207 msgid "Couldn't find level sequence description." msgstr "Nem található a szintsorozat leírása." #: ../src/level-manager.c:221 msgid "No level found." msgstr "Nincsenek szintek." #: ../src/level-manager.c:317 #, c-format msgid "Found level '%s' in: %s" msgstr "\"%s\" szint megtalálható ebben: %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Egy kirakós játék az atomokról és molekulákról" #: ../src/main.c:136 msgid "translator-credits" msgstr "" "Dvornik László \n" "Kelemen Gábor \n" "Nyitrai István \n" "Tímár András " #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Gratulálunk! Túljutott az összes Atomix-szinten." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "Nincs téma." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "\"%s\" téma megtalálható ebben: %s" #~ msgid "Could not show link" #~ msgstr "Nem lehet megjeleníteni a hivatkozást" #~ msgid "Time" #~ msgstr "Idő" #~ msgid "Score" #~ msgstr "Pontszám" #~ msgid "%dm %ds" #~ msgstr "%dp %ds" #~ msgid "Name" #~ msgstr "Név" #~ msgid "Error" #~ msgstr "Hiba" #~ msgid "Couldn't find at least one level." #~ msgstr "Nincs egy szint sem." #~ msgid "Do you want to finish the game?" #~ msgstr "Befejezi a játékot?" #~ msgid "_Game" #~ msgstr "_Játék" #~ msgid "_Scores..." #~ msgstr "_Pontszámok…" atomix-3.19.4/po/id.po000066400000000000000000000123511264725221400144720ustar00rootroot00000000000000# Indonesian translation of Atomix # Copyright (C) 2009 Atomix' COPYRIGHT HOLDER # This file is distributed under the same license as the atomix package. # Andika Triwidada , 2009, 2011. # msgid "" msgstr "" "Project-Id-Version: atomix master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=atomix&component=general\n" "POT-Creation-Date: 2010-12-13 20:12+0000\n" "PO-Revision-Date: 2011-01-21 10:37+0700\n" "Last-Translator: Andika Triwidada \n" "Language-Team: GNOME Indonesian Translation Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Indonesian\n" "X-Poedit-Country: Indonesia\n" "X-Poedit-SourceCharset: utf-8\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Asam Asetat" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aseton" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Siklobutana" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil Eter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etana" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilen" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Gliserin" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Asam Laktat" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metana" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilen" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butilen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Air" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Tak bisa menampilkan taut" #: ../src/games-scores-dialog.c:113 #| msgid "Time:" msgid "Time" msgstr "Waktu" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 #: ../src/games-scores-dialog.c:545 #| msgid "Score:" msgid "Score" msgstr "Nilai" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %dd" #: ../src/games-scores-dialog.c:437 #: ../src/main.c:736 #| msgid "_New Game" msgid "New Game" msgstr "Permainan Baru" #: ../src/games-scores-dialog.c:537 #| msgid "_Game" msgid "Name" msgstr "Nama" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Galat" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Tak temukan keterangan urutan tingkat." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Tingkat tak ditemukan." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Menemukan tingkat '%s' dalam: %s" #: ../src/main.c:121 #: ../src/main.c:775 #: ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Teka-teki tentang atom dan molekul" #: ../src/main.c:170 msgid "translator-credits" msgstr "Andika Triwidada , 2009, 2011" #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Selamat! Anda telah menyelesaikan semua tingkat Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Tak temukan paling tidak satu tingkat." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Anda ingin mengakhiri permainan?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistik" #: ../src/main.c:707 msgid "Level:" msgstr "Tingkat:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molekul:" #: ../src/main.c:709 msgid "Formula:" msgstr "Rumus:" #: ../src/main.c:710 msgid "Score:" msgstr "Nilai:" #: ../src/main.c:711 msgid "Time:" msgstr "Waktu:" #: ../src/main.c:734 msgid "_Game" msgstr "_Permainan" #: ../src/main.c:735 msgid "_Help" msgstr "_Bantuan" #: ../src/main.c:737 #| msgid "_End Game" msgid "End Game" msgstr "Akhiri Permainan" #: ../src/main.c:738 #| msgid "Skip _level" msgid "Skip Level" msgstr "Lewati Tingkat" #: ../src/main.c:739 #| msgid "Reset level" msgid "Reset Level" msgstr "Tata Ulang Tingkat" #: ../src/main.c:741 #| msgid "_Pause game" msgid "_Pause Game" msgstr "_Jeda Permainan" #: ../src/main.c:742 #| msgid "_Continue game" msgid "_Continue Game" msgstr "_Lanjutkan Permainan" #: ../src/main.c:743 #| msgid "_Scores ..." msgid "_Scores..." msgstr "_Nilai..." #: ../src/main.c:745 msgid "About" msgstr "Tentang" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Tak temukan tema." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Menemukan tema '%s' dalam: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Permainan teka-teki molekul" atomix-3.19.4/po/is.po000066400000000000000000000103621264725221400145110ustar00rootroot00000000000000# 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. # Victor Jónsson , 2004. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-05-12 21:45+0000\n" "PO-Revision-Date: 2004-05-12 21:45-0000\n" "Last-Translator: Samuel Jon Gunnarsson \n" "Language-Team: Icelandic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "Halda áfram leik í bið" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "_Hætta" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "Enda leik" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "Hætta í leik" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "Setja leik í bið" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "Endurræsa leikborð" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "Lætur leikinn byrja aftur" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "Forstillingar" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "_Sleppa leikborði" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "Sleppa núverandi leikborði" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "Byrja nýjan leik" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "Hætta við síðustu aðgerð" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "Skoða þakkarlista leiksins" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "Skoða hæstu stigin" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "_Um" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "_Halda áfram" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "_Breyta" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "_Enda leik" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_Leikur" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "_Hjálp" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "_Nýr leikur" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "_Setja leik í bið" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "_Forstillingar..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "_Stig" #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "_Hætta við aðgerð" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "Gat ekki fundið lýsingu á leikborðsrunu" #: src/level-manager.c:185 msgid "No level found." msgstr "Ekkert leikborð fannst." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Fann borð '%s' í: %s" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Höfundarréttur (C) 1999-2002 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "Hugarleikur um atóm og sameindir." #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "Til hamingju! Þú kláraðir öll Atomix leikborðin." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "Gat ekki fundið í það minnsta eitt leikborð." #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "Viltu klára leikinn?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "Mistókst að stofna möppu: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "Tölfræði" #: src/main.c:707 msgid "Level:" msgstr "Leikborð:" #: src/main.c:708 msgid "Molecule:" msgstr "Sameind:" #: src/main.c:709 msgid "Score:" msgstr "Stig:" #: src/main.c:710 msgid "Time:" msgstr "Tími:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "Fann ekki skrá: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "Engar þemur fundust." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "Fann þemu '%s' í: %s" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "Hugaleikur um sameindir " atomix-3.19.4/po/it.po000066400000000000000000000127661264725221400145240ustar00rootroot00000000000000# translation of atomix.po to Italian # Copyright (C) 2003, 2006 Free Software Foundation, Inc. # Paolo Sammicheli , 2003, 2006. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-01-08 22:05+0100\n" "PO-Revision-Date: 2007-01-08 22:07+0100\n" "Last-Translator: Paolo Sammicheli \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acido acetico " #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetone" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanolo" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutano" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetiletere" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Acetaldeide" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etano" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanolo" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilene" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Acido lattico" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Formaldeide" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metano" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanolo" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanale" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilene" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirano" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butilene" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Acqua" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Riprendi il gioco" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Termina la partita" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Metti in pausa il gioco in corso" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Riavvia livello" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Ripristina situazione iniziale" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Imposta le preferenze" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Salta _livello" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Salta il livello attuale" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Inizia una nuova partita" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Annulla l'ultima mossa" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Visualizza classifica" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Continua gioco" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Termina gioco" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Gioco" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:489 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:500 msgid "Congratulations! You have finished all Atomix levels." msgstr "Congratulazioni! Hai concluso con successo tutti i livelli di Atomix." #: ../src/main.c:510 msgid "Couldn't find at least one level." msgstr "Impossibile trovare almeno un livello." #: ../src/main.c:515 msgid "Do you want to finish the game?" msgstr "Finire veramente il gioco?" #. create statistics frame #: ../src/main.c:729 msgid "Statistics" msgstr "Statistiche" #: ../src/main.c:735 msgid "Level:" msgstr "Livello:" #: ../src/main.c:736 msgid "Molecule:" msgstr "Molecole:" #: ../src/main.c:737 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:738 msgid "Score:" msgstr "Punteggio:" #: ../src/main.c:739 msgid "Time:" msgstr "Tempo:" #: ../src/main.c:779 #, c-format msgid "Couldn't find file: %s" msgstr "Impossibile trovare il file: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Nessun tema trovato." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "Trovato tema %s in: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Rompicapo molecolare" atomix-3.19.4/po/ja.po000066400000000000000000000137571264725221400145030ustar00rootroot00000000000000# atomix ja.po. # Copyright (C) 2001,2002,2005,2006 Free Software Foundation, Inc. # Takeshi Aihana , 2001,2002,2005,2006. # msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-08 17:31+0900\n" "PO-Revision-Date: 2006-01-08 17:30+0900\n" "Last-Translator: Takeshi Aihana \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "酢酸" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "アセトン" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "ブタノール" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "シクロブタン" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "ジメチルエーテル" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "エタナール" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "エタン" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "エチルアルコール" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "エチレン" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "グリセリン" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "乳酸" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "メタナール" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "メタン" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "メタノール" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "プロパナール" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "プロピレン" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "ピラン" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ブチレン" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "水" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "一時停止していたゲームを再開します" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "ゲームを終了します" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "現在プレイ中のゲームを一時停止します" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "レベルのクリア" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "開始時の状態に戻します" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "設定のセット" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "レベルのスキップ(_L)" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "現在のレベルをスキップします" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "新しいゲームを開始します" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "最後の一手に戻します" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "最高得点を表示します" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "ゲームの再開(_C)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "終了(_E)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "ゲーム(_G)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. \n" "日本GNOMEユーザー会 http://www.gnome.gr.jp" #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "おめでとうございます! Atomix の全てのレベルをクリアしました。" #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "一つもレベルが見つかりませんでした。" #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "本当にこのゲームを終了しても宜しいですか?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "ゲームの成績" #: ../src/main.c:734 msgid "Level:" msgstr "レベル:" #: ../src/main.c:735 msgid "Molecule:" msgstr "分子:" #: ../src/main.c:736 msgid "Formula:" msgstr "化学式:" #: ../src/main.c:737 msgid "Score:" msgstr "得点:" #: ../src/main.c:738 msgid "Time:" msgstr "タイム:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "ファイルが見つかりませんでした: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "テーマが見つかりませんでした。" #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "テーマ '%s' が %s の中にありました" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "分子構造のパズル・ゲームです" atomix-3.19.4/po/ka.po000066400000000000000000000163241264725221400144750ustar00rootroot00000000000000# Georgian translation for Atomix. # Copyright © 2006 Ubuntu Georgian Translators. # This file is distributed under the same license as the atomix package. # Gia Shervashidze , 2006. # msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-02-09 22:38+0100\n" "PO-Revision-Date: 2006-02-22 04:01+0100\n" "Last-Translator: Gia Shervashidze \n" "Language-Team: Georgian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "აცეტონის მჟავა" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "აცეტონი" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "ბუტანოლი" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "ციკლობუტანი" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "დიმეთილ ეთერი" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "ეთანალი" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "ეთანი" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "ეთანოლი" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "ეთილენი" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "გლიცერინი" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "რძის მჟავა" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "მეთანალი" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "მეთანი" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "მეთანოლი" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "პროპანალი" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "პროპილენი" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "პირანი" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ტრანსბუტილენი" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "წყალი" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "შეჩერებული თამაშის გაგრძელება" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "თამაშის დასრულება" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "მიმდინარე თამაშის შეჩერება" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "დონის აღდგენა" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "საწყისი ვითარების აღდგენა" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "პარამეტრების მითითება" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "_დონის გამოტოვება" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "მიმდინარე დონის გამოტოვება" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "ახალი თამაშის დაწყება" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "ბოლო სვლის დაბრუნება" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "უმაღლესი ქულების ჩვენება" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "თამაშის _გაგრძელება" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "თამაშის _დასრულება" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_თამაში" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:488 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "ატომიქსი" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "გილოცავთ! თქვენ დაასრულეთ ატომიქსის დონეები." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "ვერ მოიძებნა ერთი მაინც დონე." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "გნებავთ თამაშის დასრულება?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "სტატისტიკა" #: ../src/main.c:734 msgid "Level:" msgstr "დონე:" #: ../src/main.c:735 msgid "Molecule:" msgstr "მოლეკულა:" #: ../src/main.c:736 msgid "Formula:" msgstr "ფორმულა:" #: ../src/main.c:737 msgid "Score:" msgstr "ქულები:" #: ../src/main.c:738 msgid "Time:" msgstr "დრო:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "ვერ მოიძებნა ფაილი: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "თემები ვერ მოიძებნა." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "თემა '%s' მოიძებნა აქ: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "მოლეკულების გასართობი თასატეხი" atomix-3.19.4/po/kn.po000066400000000000000000000127721264725221400145150ustar00rootroot00000000000000# Kannada translation of Atomix. # Copyright (C) 2002 atomix' copyright holder. # This file is distributed under the same license as the atomix package. # Pramod , 2002. # msgid "" msgstr "" "Project-Id-Version: atomix-2.1\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2002-12-17 11:56+0530\n" "Last-Translator: Pramod \n" "Language-Team: Kannada \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "ವಿರಾಮಿಸಿದ ಆಟವನ್ನು ಮುಂದುವರಿಸು" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "ನಿರ್ಗಮಿಸು" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "ಆಟ ಮುಗಿಸು" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "ಆಟದಿಂದ ನಿರ್ಗಮಿಸು" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಆಟವನ್ನು ವಿರಾಮಿಸು" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "ಹಂತಗಳನ್ನು ಮರೆತುಬಿಡು " #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "ಮೊದಲಿನ ಸ್ಥಿತಿಗೆ ತರು" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "ಇಚ್ಚೆಯನ್ನು ತಿಳಿಸಿ" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "ಹಂತವನ್ನು ಎಗರಿಸು" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಹಂತವನ್ನು ಎಗರಿಸು" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "ಹೊಸ ಆಟವನ್ನು ಶುರುಮಾಡು" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "ಹಿಂದಿನ ಚಲನೆಯನ್ನು ರದ್ದ" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "ಆಟದ ನೆರವು ಪಟ್ಟಿಯನ್ನು ವೀಕ್ಷಿಸು" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "ಹೆಚ್ಚಿನ ಅಂಕಗಳನ್ನು ವೀಕ್ಷಿಸು" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "ತಂತ್ರಾಂಶದ ಬಗ್ಗೆ" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "ಆಟ ಮುಂದುವರಿಸು" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "ಸಂಸ್ಕರಿಸು" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "ಆಟ ಮುಗಿಸು" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "ಆಟ" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "ಸಹಾಯ" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "ಹೊಸ ಆಟ" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "ಆಟ ವಿರಾಮಿಸು" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "ಇಚ್ಛೆಗಳು..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "ಅಂಕಗಳು..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr " ಜರಗಿಸಿದ್ದನು ಕಳಚು" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "ಹಂತದ ಸರಣಿಗಳ ವರ್ಣನೆಗಳು ಸಿಗಲಿಲ್ಲ." #: src/level-manager.c:185 msgid "No level found." msgstr "ಯಾವ ಹಂತವು ಸಿಗಳಿಲ್ಲ." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "'%s' ಹಂತ ಸಿಕ್ಕಿರುವ ಮಾರ್ಗ: %s" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "ಅಟೂಮಿಕ್ಸ್" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "ಗ್ರಂಥಾಸ್ವಾಮ್ಯ (C) 1999-2002 ಜೆನ್ಸ್ ಫಿನ್ನ್ಕೆ" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "ಅಣುಗಳು ಮತ್ತು ಪರಮಾಣುಗಳ ಬಗ್ಗಿನ ಚಿಂತನಾಪೂರ್ವಕ ಅಟ." #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "ಅಭಿನಂದನೆಗಳು! ನೀವು ಎಲ್ಲಾ ಅಟೂಮಿಕ್ಸ್ ಹಂತಗಳನ್ನು ಮುಗಿಸಿದ್ದೀರಿ." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "ಒಂದು ಹಂತವಾದರು ಸಿಗಲಿಲ್ಲ." #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "ನೀವು ಅಟ ಮುಗಿಸಲು ಇಚ್ಚಿಸುತ್ತೀರೆ?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "ಸೂಚಿಯನ್ನು ತಯಾರಿಸಲು ಅಗಳಿಲ್ಲ: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "ಅಂಕಿಗಳು" #: src/main.c:707 msgid "Level:" msgstr "ಹಂತ:" #: src/main.c:708 msgid "Molecule:" msgstr "ಅಣು:" #: src/main.c:709 msgid "Score:" msgstr "ಅಂಕ:" #: src/main.c:710 msgid "Time:" msgstr "ಸಮಯ:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "ಕಡತ ಸಿಗಳಿಲ್ಲ: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "ಯಾವ ಅಲಂಕಾರಗಳು ಸಿಗಳಿಲ್ಲ." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "'%s' ಅಲಂಕಾರ ಸಿಕ್ಕಿರುವ ಮಾರ್ಗ: %s" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "ಅಣುವಿನ ಚಿಂತನೆಯ ಅಟ" atomix-3.19.4/po/ko.po000066400000000000000000000105221264725221400145050ustar00rootroot00000000000000# Korean Translation for Atomix 0.9.4 # Copyright (C) YEAR Free Software Foundation, Inc. # Young Chol Song , 2003. # msgid "" msgstr "" "Project-Id-Version: Atomix 0.9.4\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2003-05-20 23:01+0900\n" "Last-Translator: Young Chol Song \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "일시 중지된 게임 계속하기" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "나가기(_x)" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "게임 마치기" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "게임에서 나가기" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "실행중인 게임 일시 중지" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "현 단계 다시하기" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "초기 상황 복원" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "설정하기" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "다음 단계(_l)" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "현재 단계 건너뛰기" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "새 게임 시작하기" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "지나간 움직임 되돌리기" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "게임 크레딧 보기" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "최고 점수 보기" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "정보(_A)" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "게임 계속하기(_C)" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "편집(_E)" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "게임 끝내기(_E)" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "게임(_G)" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "도움말(_H)" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "새 게임(_N)" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "잠시 멈춤(_P)" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "설정(_P)..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "점수(_S)..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "움직임 되돌리기(_U)" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "레벨 순서 설명을 찾을 수 없습니다." #: src/level-manager.c:185 msgid "No level found." msgstr "레벨을 찾지 못했습니다." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "%s 에서 '%s' 레벨를 찾았습니다." #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Copyright (C) 1999-2002 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "원자와 분자가 나오는 마인드 게임" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "축하합니다! Atomix의 모든 레벨을 마쳤습니다." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "레벨을 하나도 찾을 수 없었습니다." #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "게임을 계속할까요?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "디렉토리 %s 를 만들 수 없습니다." #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "통계" #: src/main.c:707 msgid "Level:" msgstr "레벨:" #: src/main.c:708 msgid "Molecule:" msgstr "분자:" #: src/main.c:709 msgid "Score:" msgstr "점수:" #: src/main.c:710 msgid "Time:" msgstr "시간:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "파일 %s 를 찾을 수 없습니다." #: src/theme-manager.c:141 msgid "No themes found." msgstr "테마를 찾을 수 없습니다." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "%s 에서 테마 '%s'를 찾았습니다" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "분자 마인드 게임" atomix-3.19.4/po/lt.po000066400000000000000000000160241264725221400145160ustar00rootroot00000000000000# Lithuanian translation of atomix. # Copyright (C) 2005 Free Software Foundation # This file is distributed under the same license as the atomix package. # Žygimantas Beručka , 2005. # Mantas Kriaučiūnas , 2015. # msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-03-18 03:51+0000\n" "PO-Revision-Date: 2015-03-15 19:58+0200\n" "Last-Translator: Mantas Kriaučiūnas \n" "Language-Team: Lithuanian \n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Gtranslator 2.91.6\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Sudėkite įvairias molekules iš atskirų atomų" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix yra galvosūkio žaidimas, kurio tikslas yra sudėti molekules iš atomų, " "juos stumdant lauke. Tačiau atomai nejuda jums panorėjus, jie slenka iki " "atsitrenkia į sieną arba vienas į kitą." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Bandykite sudaryti molekules kiek galima greičiau kiekvienam lygiui ir " "gaukite daugiau taškų." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekulių galvosūkis" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acto rūgštis" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetonas" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanolis" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciklobutanas" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil eteris" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanalis" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etanas" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanolis" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilenas" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerinas" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Pieno rūgštis" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanalis" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metanas" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanolis" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanalis" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilenas" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piranas" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butilenas" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Vanduo" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "Ž_aidimas" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Naujas žaidimas" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Baigti žaidimą" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "Pra_leisti lygį" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Pradėti lygį iš naujo" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Atša_ukti ėjimą" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Pri_stabdyti žaidimą" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Tęsti žaidimą" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Išeiti" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Žinynas" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Apie" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Lygis:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekulė:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formulė:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Taškai:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Laikas:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "tuščia" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statistika" #: ../src/level-manager.c:204 msgid "Couldn't find level sequence description." msgstr "Nepavyko rasti lygių eilės aprašymo." #: ../src/level-manager.c:218 msgid "No level found." msgstr "Lygių nerasta." #: ../src/level-manager.c:314 #, c-format msgid "Found level '%s' in: %s" msgstr "Rastas lygis „%s“ esantis: %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Galvosūkis apie atomus ir molekules" #: ../src/main.c:136 msgid "translator-credits" msgstr "" "Žygimantas Beručka \n" "Mantas Kriaučiūnas " #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Sveikiname! Įveikėte visus Atomix lygius." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "Temų nerasta." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "Rasta tema „%s“ esanti: %s" #~ msgid "Could not show link" #~ msgstr "Nepavyko parodyti saito" #~| msgid "Time:" #~ msgid "Time" #~ msgstr "Laikas" #~| msgid "Score:" #~ msgid "Score" #~ msgstr "Rezultatas" #~ msgid "%dm %ds" #~ msgstr "%dm %ds" #~| msgid "_Game" #~ msgid "Name" #~ msgstr "Vardas" #~ msgid "Error" #~ msgstr "Klaida" #~ msgid "Couldn't find at least one level." #~ msgstr "Nepavyko rasti nė vieno lygio." #~ msgid "Do you want to finish the game?" #~ msgstr "Ar tikrai norite užbaigti žaidimą?" #~ msgid "_Game" #~ msgstr "_Žaidimas" #~| msgid "_Scores ..." #~ msgid "_Scores..." #~ msgstr "_Rezultatai..." #~ msgid "Continue paused game" #~ msgstr "Tęsti sustabdytą žaidimą" #~ msgid "End a game" #~ msgstr "Baigti žaidimą" #~ msgid "Pause the running game" #~ msgstr "Sustabdyti esamą žaidimą" #~ msgid "Restores start situation" #~ msgstr "Atkuria pradinę situaciją" #~ msgid "Set preferences" #~ msgstr "Keisti nustatymus" #~ msgid "Skip the current level" #~ msgstr "Praleisti šį lygį" #~ msgid "Start a new game" #~ msgstr "Pradėti naują žaidimą" #~ msgid "Undo the last move" #~ msgstr "Atšaukti paskutinį ėjimą" #~ msgid "View highscores" #~ msgstr "Žiūrėti rekordus" #~ msgid "_Preferences ..." #~ msgstr "N_ustatymai..." #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Dar nepasiekėte jokių rezultatų. Pažaiskite daugiau ir grįžkite vėliau!" #~ msgid "Couldn't find file: %s" #~ msgstr "Nepavyko rasti failo: %s" atomix-3.19.4/po/lv.po000066400000000000000000000153231264725221400145210ustar00rootroot00000000000000# atomix for latvian # Copyright (C) 2011 Free Software Foundation, Inc. # # Rūdofls Mazurs , 2011. msgid "" msgstr "" "Project-Id-Version: atomix for latvian\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." "cgi?product=atomix&component=general\n" "POT-Creation-Date: 2010-12-13 20:12+0000\n" "PO-Revision-Date: 2011-03-31 01:23+0300\n" "Last-Translator: Rūdofls Mazurs \n" "Language-Team: Latvian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Etiķskābe" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetons" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanols" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciklobutāns" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetilēteris" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanāls" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etāns" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanols" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilēns" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerīns" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Pienskābe" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Formaldehīds" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metāns" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanols" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanols" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propēns" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirāns" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-2-butēns" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Ūdens" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Neizdevās parādīt saiti" #: ../src/games-scores-dialog.c:113 #| msgid "Time:" msgid "Time" msgstr "Laiks" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 #| msgid "Score:" msgid "Score" msgstr "Rezultāts" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 #| msgid "_New Game" msgid "New Game" msgstr "Jauna spēle" #: ../src/games-scores-dialog.c:537 #| msgid "_Game" msgid "Name" msgstr "Nosaukums" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Kļūda" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Nevarēja atrast līmeņu secības aprakstu." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Nav atrastu līmeņu." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Atrasts līmenis '%s' iekš %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 #| msgid "A mind game about atoms and molecules." msgid "A puzzle game about atoms and molecules" msgstr "Prāta spēle par atomiem un molekulām" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Rūdolfs Mazurs \n" "Pēteris Krišjānis " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Apsveicam! Jūs esat pabeiguši visus Atomix līmeņus." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Nevarēja atrast kaut vienu līmeni." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Vai vēlaties beigt spēli?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistika" #: ../src/main.c:707 msgid "Level:" msgstr "Līmenis:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molekula:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:710 msgid "Score:" msgstr "Rezultāts:" #: ../src/main.c:711 msgid "Time:" msgstr "Laiks:" #: ../src/main.c:734 msgid "_Game" msgstr "_Spēle" #: ../src/main.c:735 msgid "_Help" msgstr "_Palīdzība" #: ../src/main.c:737 #| msgid "_End Game" msgid "End Game" msgstr "Beigt spēli" #: ../src/main.c:738 #| msgid "Skip _level" msgid "Skip Level" msgstr "Izlaist līmeni" #: ../src/main.c:739 #| msgid "Reset level" msgid "Reset Level" msgstr "Pārstartēt līmeni" #: ../src/main.c:741 #| msgid "_Pause game" msgid "_Pause Game" msgstr "_Pauzēt spēli" #: ../src/main.c:742 #| msgid "_Continue game" msgid "_Continue Game" msgstr "T_urpināt spēli" #: ../src/main.c:743 #| msgid "_Scores ..." msgid "_Scores..." msgstr "_Rezultāti..." #: ../src/main.c:745 #| msgid "_About" msgid "About" msgstr "Par" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Nav atrastu tēmu." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Atrada tēmu '%s' iekš %s" #: ../atomix.desktop.in.h:2 #| msgid "Molecule mind game" msgid "Molecule puzzle game" msgstr "Molekulu prāta spēle" #~ msgid "Continue paused game" #~ msgstr "Turpināt nopauzēto spēli" #~ msgid "E_xit" #~ msgstr "Izi_et" #~ msgid "End a game" #~ msgstr "Beigt spēli" #~ msgid "Exit game" #~ msgstr "Iziet no spēles" #~ msgid "Pause the running game" #~ msgstr "Pauzēt palaisto spēli" #~ msgid "Restores start situation" #~ msgstr "Atjauno starta situāciju" #~ msgid "Set preferences" #~ msgstr "Uzstādīt preferences" #~ msgid "Skip the current level" #~ msgstr "Izlaist pašreizējo līmeni" #~ msgid "Start a new game" #~ msgstr "Sākt jaunu spēli" #~ msgid "Undo the last move" #~ msgstr "Atsaukt pēdējo gājienu" #~ msgid "View game credits" #~ msgstr "Parādīt spēles kredītus" #~ msgid "View highscores" #~ msgstr "Parādīt labākos rezultātus" #~ msgid "_Edit" #~ msgstr "_Rediģēt" #~ msgid "_Preferences ..." #~ msgstr "_Preferences ..." #~ msgid "_Undo move" #~ msgstr "_Atsaukt gājienu" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Autortiesības (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "Nevarēja izveidot direktoriju: %s" #~ msgid "Couldn't find file: %s" #~ msgstr "Nevarēja atrast failu: %s" #~ msgid "Atomix Splash" #~ msgstr "Atomix Splash" #~ msgid "Game Paused" #~ msgstr "Spēle Nopauzēta" #~ msgid "Game Over" #~ msgstr "Spēles Beigas" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - Molekulas Domāšanas Spēle" atomix-3.19.4/po/mk.po000066400000000000000000000147201264725221400145070ustar00rootroot00000000000000# translation of mk.po to Macedonian # translation of atomix.HEAD.po to # translation of atomix.HEAD.po to Macedonian # This file is distributed under the same license as the atomix.HEAD package. # Copyright (C) 2005 THE atomix.HEAD'S COPYRIGHT HOLDER # Ime Prezime , 2003. # Arangel Angov , 2005, 2006. # # msgid "" msgstr "" "Project-Id-Version: mk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-02-06 05:39+0100\n" "PO-Revision-Date: 2006-02-06 10:47+0100\n" "Last-Translator: Arangel Angov \n" "Language-Team: Macedonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.10.2\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Оцетна киселина" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Ацетон" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Бутанол" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Циклобутан" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Диметил етер" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Етанал" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Етан" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Етанол" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Етилен" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Глицерин" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Млечна киселина" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Метанал" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Метан" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Метанол" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Пропанал" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Пропилен" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Пиран" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Транс бутилен" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Вода" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Продолжи со паузираната игра" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Крај на играта" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Паузирај ја вклучената игра" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Ресетирај ниво" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Ја обновува почетната ситуација" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Постави преференци" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Прескокни _ниво" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Прескокни го тековното ниво" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Започни нова игра" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Врати на последниот потег" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Види најдобри резултати" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Продолжи ја играта" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Прекини игра" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Игра" #. submenu name="Edit" _label="_Edit"> #. #. #. #. \n" "http://gnome.softver.org.mk" #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Честитки! Ги поминавте сите нивоа на Atomix." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Не може да најде барем едно ниво. " #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Дали сакате да ја завршите играта?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "Статистики" #: ../src/main.c:734 msgid "Level:" msgstr "Ниво: " #: ../src/main.c:735 msgid "Molecule:" msgstr "Молекули:" #: ../src/main.c:736 msgid "Formula:" msgstr "Формула:" #: ../src/main.c:737 msgid "Score:" msgstr "Резултат: " #: ../src/main.c:738 msgid "Time:" msgstr "Време:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "Не може да пронајде датотека: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Не е пронајдена тема." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "Пронајдени теми '%s' во: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Мисловна игра со молекули" atomix-3.19.4/po/ml.po000066400000000000000000000072521264725221400145120ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FSF-India , 2003. # msgid "" msgstr "" "Project-Id-Version:atomix.HEAD\n" "POT-Creation-Date: 2003-06-06 03:42+0200\n" "PO-Revision-Date: 2003-07-05 10:29+0530\n" "Last-Translator: FSF-India \n" "Language-Team: Malayalam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "പുറത്ത് കടക്കുക" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "ഒരു പുതിയ കളി തുടങ്ങൂ" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "അവസാന നീക്കം വേണ്ടാതാക്കുക" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "കുറിപ്പ്" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "ചിട്ട" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "കളി" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "സഹായം" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "ചെറിയ ഇടവേള" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "" #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "" #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "നീക്കം വേണ്ട" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "" #: src/level-manager.c:185 msgid "No level found." msgstr "" #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "" #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "സ്ഥിതിവിവരങ്ങള്‌" #: src/main.c:707 msgid "Level:" msgstr "" #: src/main.c:708 msgid "Molecule:" msgstr "" #: src/main.c:709 msgid "Score:" msgstr "" #: src/main.c:710 msgid "Time:" msgstr "" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "" #: src/theme-manager.c:141 msgid "No themes found." msgstr "" #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "" atomix-3.19.4/po/ms.po000066400000000000000000000111671264725221400145210ustar00rootroot00000000000000# Malay Translation for atomix # Copyright (C) 2002 Free Software Foundation, Inc. # 1. Mohamad Afifi Omar (App) , 2002. # 2. Hasbullah Bin Pit ,2002. msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2002-02-20 09:49+0800\n" "Last-Translator: Hasbullah Bin Pit \n" "Language-Team: Bahasa Melayu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "Teruskan permainan yang dipause" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "_Keluar" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "Hentikan permainan ini" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "Keluar dari permainan" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "Pause permainan yang sedang berlangsung" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "Reset Aras" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "Kembali semula kepada keadaan ketika mula" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "Set preferences" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "_Lompat Aras" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "Lompat aras sekarang" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "Mulakan permainan baru" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "Tarik kembali pergerakkan tadi" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "Lihat senarai pencipta permainan" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "Lihat markah tertinggi" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "Mengen_ai" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "Teru_skan permainan ini" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "Ubahsua_i" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "Tamatkan P_ermainan" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_Permainan" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "_Bantuan" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "Permaina_n Baru" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "_Pause permainan" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "_Preferences ..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "_Markah ..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "Tarik ba_lik" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "Harap maaf tuan, gagal mencari keterangan mengenai susunan aras" #: src/level-manager.c:185 msgid "No level found." msgstr "Tiada aras dijumpai." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Menjumpai aras '%s' didalam: %s" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Hakcipta (C) 1999-2002 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "Permainan minda perihal atom and molekul." #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "" "Tahniah! Anda telah menghabiskan semua aras didalam Atomix, khatam la ni " "ye ?. Dasatt" #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "Harap maaf tuan, tidak dapat menjumpai sebarang aras." #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "Betul tuan mahu menamatkan permainan ini?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "Harap maaf tuan, gagal mencipta direktori: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "Statistik" #: src/main.c:707 msgid "Level:" msgstr "Aras" #: src/main.c:708 msgid "Molecule:" msgstr "Molekul" #: src/main.c:709 msgid "Score:" msgstr "Markah:" #: src/main.c:710 msgid "Time:" msgstr "Masa:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "Tidak dapat menjumpai fail: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "Tiada tema dijumpai" #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "Menjumpai tema '%s' didalam: %s" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "Permainan Minda Molekul" #~ msgid "Atomix Splash" #~ msgstr "Atomix Splash" #~ msgid "Game Paused" #~ msgstr "Permainan Ini Dihentikan Sebentar" #~ msgid "Game Over" #~ msgstr "Permainan Tamat" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - Permainan Minda Molekul" atomix-3.19.4/po/nb.po000066400000000000000000000125471264725221400145040ustar00rootroot00000000000000# Norwegian (bokmål) translation of atomix. # Copyright (C) 2001 Free Software Foundation, Inc. # Kjartan Maraas , 2001-2005. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-23 11:22+0100\n" "PO-Revision-Date: 2006-01-23 11:22+0100\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Syrlig syre" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Syklobutan" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetyl eter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etylen" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glyserin" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Laktisk syre" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylen" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans butylen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Vann" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Fortsett pauset spill" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Avslutt et spill" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Pause et kjørende spill" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Nullstill nivå" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Gå tilbake til utgangspunktet" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Sett brukervalg" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Hopp _over nivå" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Hopp over aktivt nivå" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Start et nytt spill" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Angre forrige trekk" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Vis poengsummer" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Fortsett spill" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Avslutt spill" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Spill" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Gratulerer! Du har fullført alle nivåer i Atomix." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Kunne ikke finne minst ett nivå." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Vil du avslutte dette spillet?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "Statistikk" #: ../src/main.c:734 msgid "Level:" msgstr "Nivå:" #: ../src/main.c:735 msgid "Molecule:" msgstr "Molekyl:" #: ../src/main.c:736 msgid "Formula:" msgstr "Formel:" #: ../src/main.c:737 msgid "Score:" msgstr "Poeng:" #: ../src/main.c:738 msgid "Time:" msgstr "Tid:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "Kunne ikke finne fil: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Ingen tema funnet." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "Fant tema «%s» i: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Puslespill med molekyler" atomix-3.19.4/po/nl.po000066400000000000000000000140051264725221400145050ustar00rootroot00000000000000# Dutch Translation of Atomix # Copyright (C) 2001 Free Software Foundation, Inc. # Meilof Veeningen , 2001. # Marc Jan Hemmes , 2003. # Tino Meinen , 2005, 2006. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-06 13:01+0100\n" "PO-Revision-Date: 2006-01-06 17:56+0100\n" "Last-Translator: Tino Meinen \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acetaanzuur" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutaan" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimethyl ether" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Ethanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Ethaan" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Ethanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Ethylene" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerine" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Lactaanzuur" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Methanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Methaan" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Methanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylene" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyraan" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbuthyleen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Water" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Spel hervatten" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Een spel beëindigen" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Het spel pauzeren" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Niveau herstarten" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Herstelt alles naar startpositie" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Voorkeuren instellen" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "_Niveau overslaan" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Het huidige niveau overslaan" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Een nieuw spel starten" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Ga 1 stap terug." #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "De scores bekijken" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "Spel _hervatten" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Einde spel" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Spel" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2015. # Cédric Valmary (Tot en Òc) , 2015. msgid "" msgstr "" "Project-Id-Version: atomix 2.14.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=atomix" "&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-01-18 17:28+0000\n" "PO-Revision-Date: 2015-06-09 09:06+0200\n" "Last-Translator: Cédric Valmary (Tot en Òc) \n" "Language-Team: www.totenoc.eu\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Virtaal 0.7.0\n" "X-Project-Style: gnome\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Jòc de memòria sus las moleculas" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acid acetic" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetòn" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanòl" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Etèr dimetil" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanòl" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilèn" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Acid lactic" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanòl" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilèn" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butilèn" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Aiga" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Fichièr" #: ../data/ui/interface.ui.h:3 #| msgid "New Game" msgid "_New Game" msgstr "Partida _novèla" #: ../data/ui/interface.ui.h:4 #| msgid "End Game" msgid "_End Game" msgstr "Aca_bar la partida" #: ../data/ui/interface.ui.h:5 #| msgid "Skip Level" msgid "_Skip Level" msgstr "_Passar lo nivèl" #: ../data/ui/interface.ui.h:6 #| msgid "Reset Level" msgid "_Reset Level" msgstr "_Inicializar lo nivèl" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Metre la partida en _pausa" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Contunhar la partida" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Quitar" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "A_juda" #: ../data/ui/interface.ui.h:12 #| msgid "About" msgid "_About" msgstr "_A prepaus" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nivèl :" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molecula :" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formula :" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Marca :" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Data :" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "void" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Estatisticas" #: ../src/level-manager.c:207 msgid "Couldn't find level sequence description." msgstr "Impossible de trobar lo nivèl de la descripcion de sequéncia." #: ../src/level-manager.c:221 msgid "No level found." msgstr "Cap de nivèl pas trobat." #: ../src/level-manager.c:317 #, c-format msgid "Found level '%s' in: %s" msgstr "A trobat lo nivèl « %s » dins : %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Un jòc de memòria suls atòms e moleculas" #: ../src/main.c:136 msgid "translator-credits" msgstr "Cédric Valmary (totenoc.eu) " #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Felicitacions ! Avètz acabat totes los nivèls d'Atomix." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "Cap de tèma pas trobat." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "A trobat lo tèma « %s » dins : %s" #~ msgid "Could not show link" #~ msgstr "Impossible d'afficher le lien" #~ msgid "Time" #~ msgstr "Date" #~ msgid "Score" #~ msgstr "Score" #~ msgid "%dm %ds" #~ msgstr "%dm %ds" #~ msgid "Name" #~ msgstr "Nom" #~ msgid "Error" #~ msgstr "Erreur" #~ msgid "Couldn't find at least one level." #~ msgstr "Impossible de trouver au moins un niveau." #~ msgid "Do you want to finish the game?" #~ msgstr "Voulez-vous finir le jeu ?" #~ msgid "_Game" #~ msgstr "_Jeu" #~ msgid "_Scores..." #~ msgstr "_Scores..." atomix-3.19.4/po/pa.po000066400000000000000000000147551264725221400145100ustar00rootroot00000000000000# translation of pa.po to Punjabi # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Amanpreet Singh Alam , 2005. # msgid "" msgstr "" "Project-Id-Version: pa\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-11-20 20:18+0530\n" "PO-Revision-Date: 2005-11-20 20:26+0530\n" "Last-Translator: Amanpreet Singh Alam \n" "Language-Team: Punjabi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.9.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "ਸਿਰਕੇ ਦਾ ਤੇਜ਼ਾਬ" #: level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "ਐਸੀਟੋਨ" #: level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "ਬੁਟਨੋਲ" #: level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "ਸਾਇਕਲੋਬੁਟੀਨ" #: level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "ਡਾਈਮੀਥਲ ਈਥਰ" #: level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "ਈਥਨਲ" #: level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "ਈਥੇਨ" #: level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "ਈਥੇਨੋਲ" #: level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "ਈਥਨੀਲ" #: level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "ਗਲਿਸਰੀਨ" #: level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "ਲੈਟਿਕ ਤੇਜ਼ਾਬ" #: level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "ਮੀਥੇਨੋਲ" #: level/methane.atomix.xml.h:1 msgid "Methane" msgstr "ਮੀਥੇਨ" #: level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "ਮੀਥੇਨੋਲ" #: level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "ਪਰੋਨਲ" #: level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "ਪਰੋਪਲੀਨ" #: level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "ਪੀਰੇਨ" #: level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ਟਰਾਂਸ ਬੁਟਲੀਨ" #: level/water.atomix.xml.h:1 msgid "Water" msgstr "ਪਾਣੀ" #: src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "ਰੁਕੀ ਖੇਡ ਜਾਰੀ ਰੱਖੋ" #: src/atomix-ui.xml.h:2 msgid "End a game" msgstr "ਇੱਕ ਖੇਡ ਖਤਮ" #: src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "ਚੱਲ ਰਹੀ ਖੇਡ ਰੋਕੋ" #: src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "ਪੱਧਰ ਮੁੜ-ਸੈੱਟ" #: src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "ਸ਼ੁਰੂਆਤੀ ਹਾਲਤ ਮੁੜ-ਪ੍ਰਾਪਤ" #: src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "ਪਸੰਦ ਦਿਓ" #: src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "ਛੱਡਣ ਪੱਧਰ(_l)" #: src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "ਮੌਜੂਦਾ ਪੱਧਰ ਅਧੂਰਾ ਛੱਡੋ" #: src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "ਇੱਕ ਨਵੀਂ ਖੇਡ ਸ਼ੁਰੂ" #: src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "ਆਖਰੀ ਚਾਲ ਵਾਪਿਸ" #: src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਸਕੋਰ ਵੇਖਾਓ" #: src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "ਖੇਡ ਜਾਰੀ ਰੱਖੋ(_C)" #: src/atomix-ui.xml.h:13 msgid "_Edit" msgstr "ਸੋਧ(_E)" #: src/atomix-ui.xml.h:14 msgid "_End Game" msgstr "ਖੇਡ ਖਤਮ(_E)" #: src/atomix-ui.xml.h:15 msgid "_Game" msgstr "ਖੇਡ(_G)" #: src/atomix-ui.xml.h:16 msgid "_Help" msgstr "ਸਹਾਇਤਾ(_H)" #: src/atomix-ui.xml.h:17 msgid "_New Game" msgstr "ਨਵੀਂ ਖੇਡ(_N)" #: src/atomix-ui.xml.h:18 msgid "_Pause game" msgstr "ਖੇਡ ਵਿਰਾਮ(_P)" #: src/atomix-ui.xml.h:19 msgid "_Preferences ..." msgstr "ਮੇਰੀ ਪਸੰਦ(_P) ..." #: src/atomix-ui.xml.h:20 msgid "_Scores ..." msgstr "ਸਕੋਰ(_S) ..." #: src/atomix-ui.xml.h:21 msgid "_Undo move" msgstr "ਆਖਰੀ ਚਾਲ ਵਾਪਿਸ(_U)" #: src/level-manager.c:174 msgid "Couldn't find level sequence description." msgstr "ਪੱਧਰ ਕਰਮ ਵੇਰਵਾ ਖੋਜਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ।" #: src/level-manager.c:188 msgid "No level found." msgstr "ਕੋਈ ਪੱਧਰ ਨਹੀਂ ਲੱਭਿਆ ਹੈ।" #: src/level-manager.c:284 #, c-format msgid "Found level '%s' in: %s" msgstr "ਪੱਧਰ '%s' ਇਸ 'ਚ ਲੱਭਿਆ ਹੈ: %s" #: src/main.c:127 msgid "You have not achieved any scores yet. Play a little before coming back!" msgstr "ਤੁਸੀਂ ਹਾਲੇ ਤੱਕ ਕੋਈ ਸਕੋਰ ਨਹੀਂ ਬਣਾਇਆ ਹੈ। ਆਉਣ ਤੋਂ ਪਹਿਲਾਂ ਕੁਝ ਖੇਡੋ ਵੀ!" #: src/main.c:174 msgid "A puzzle game about atoms and molecules" msgstr "ਪਰਮਾਣੂ ਅਤੇ ਅਣੂ ਬਾਰੇ ਇੱਕ ਪਹੇਲੀ ਹੈ" #: src/main.c:178 msgid "translator-credits" msgstr "ਅਨੁਵਾਦ ਮਾਣ" #: src/main.c:492 atomix.desktop.in.h:1 msgid "Atomix" msgstr "ਐਟਮਿਕਸ" #: src/main.c:503 msgid "Congratulations! You have finished all Atomix levels." msgstr "ਮੁਬਾਰਕਾਂ! ਤੁਸੀਂ ਐਟਮਿਕਸ ਦੇ ਸਭ ਪੱਧਰ ਖਤਮ ਕਰ ਦਿੱਤੇ ਹਨ।" #: src/main.c:513 msgid "Couldn't find at least one level." msgstr "ਘੱਟੋ-ਘੱਟ ਇੱਕ ਪੱਧਰ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ!" #: src/main.c:518 msgid "Do you want to finish the game?" msgstr "ਕੀ ਤੁਸੀਂ ਖੇਡ ਖਤਮ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?" #. create statistics frame #: src/main.c:727 msgid "Statistics" msgstr "ਅੰਕੜੇ" #: src/main.c:733 msgid "Level:" msgstr "ਪੱਧਰ:" #: src/main.c:734 msgid "Molecule:" msgstr "ਅਣੂ:" #: src/main.c:735 msgid "Score:" msgstr "ਸਕੋਰ:" #: src/main.c:736 msgid "Time:" msgstr "ਸਮਾਂ:" #: src/main.c:776 #, c-format msgid "Couldn't find file: %s" msgstr "ਫਾਇਲ ਨਹੀਂ ਲੱਭਿਆ: %s" #: src/theme-manager.c:135 msgid "No themes found." msgstr "ਕੋਈ ਸਰੂਪ ਨਹੀਂ ਲੱਭਿਆ ਹੈ।" #: src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "ਸਰੂਪ '%s' ਲੱਭਿਆ ਹੈ: %s" #: atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "ਅਣੂ ਪਹੇਲੀ ਖੇਡ" atomix-3.19.4/po/pl.po000066400000000000000000000156771264725221400145270ustar00rootroot00000000000000# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Aviary.pl # Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz # pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas: # gnomepl@aviary.pl # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Zbigniew Chyla , 2002. # Piotr Drąg , 2012-2015. # Aviary.pl , 2012-2015. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-12-28 01:01+0100\n" "PO-Revision-Date: 2015-12-28 01:02+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "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-Poedit-Language: Polish\n" "X-Poedit-Country: Poland\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Budowanie cząsteczek z pojedynczych atomów" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix to gra logiczna, której celem jest złożenie cząsteczek z atomów przez " "przesuwanie ich na planszy. Jednakże, atomy nie przemieszczają się w dowolny " "sposób, tylko ślizgają się, aż uderzą w ścianę lub inny atom." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Należy budować cząsteczki jak najszybciej na każdym poziomie, aby uzyskać " "jak najwyższy wynik." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Gra logiczna w układanie cząsteczek" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Gra logiczna o atomach i cząsteczkach" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Kwas octowy" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyklobutan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Eter dimetylowy" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Acetaldehyd" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etanal" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Eten" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Gliceryna" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Kwas mlekowy" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propen" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butylen" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Woda" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Plik" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Nowa gra" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Zakończ grę" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "P_omiń poziom" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "P_rzywróć poziom" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Cofnij ruch" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Wstrzymaj grę" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Kontynuuj grę" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "Za_kończ" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "Pomo_c" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_O grze" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Poziom:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Cząsteczka:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Wyrażenie:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Wynik:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Czas:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "puste" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statystyki" #: ../data/ui/interface.ui.h:20 msgid "New Game" msgstr "Nowa gra" #: ../data/ui/interface.ui.h:21 msgid "End Game" msgstr "Zakończ grę" #: ../data/ui/interface.ui.h:22 msgid "Skip Level" msgstr "Pomiń poziom" #: ../data/ui/interface.ui.h:23 msgid "Reset Level" msgstr "Przywróć poziom" #: ../data/ui/interface.ui.h:24 msgid "Undo Move" msgstr "Cofnij ruch" #: ../data/ui/interface.ui.h:25 msgid "Pause Game" msgstr "Wstrzymaj grę" #: ../data/ui/interface.ui.h:26 msgid "Continue Game" msgstr "Kontynuuj grę" #: ../data/ui/interface.ui.h:27 msgid "About" msgstr "O grze" #: ../data/ui/interface.ui.h:28 msgid "Quit" msgstr "Zakończ" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Należy przeprowadzić atomy przez labirynt, aby stworzyć cząsteczki.\n" "Kliknięcie lub klawisze strzałek i Enter zaznaczają atom i go przenoszą.\n" "Należy zachować ostrożność: atomy zatrzymują się tylko na ścianach.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Nie można odnaleźć opisu sekwencji poziomu." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Nie odnaleziono poziomu." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Odnaleziono poziom „%s” w: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Zbigniew Chyla , 2002\n" "Piotr Drąg , 2012-2015\n" "Aviary.pl , 2012-2015" #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "Gratulacje! Udało się ukończyć wszystkie poziomy gry Atomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Nie odnaleziono motywów." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Odnaleziono motyw „%s” w: %s" atomix-3.19.4/po/pt.po000066400000000000000000000360041264725221400145220ustar00rootroot00000000000000# atomix's Portuguese Translation # Copyright (C) 2001 Free Software Foundation, Inc. # Duarte Loreto , 2001, 2002 # Pedro Albuquerque , 2015. # msgid "" msgstr "" "Project-Id-Version: 2.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-12-05 03:58+0000\n" "PO-Revision-Date: 2015-12-05 08:05+0000\n" "Last-Translator: Pedro Albuquerque \n" "Language-Team: Português \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\\n\n" "X-Generator: Gtranslator 2.91.6\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:127 ../src/main.c:684 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Construir moléculas a partir de átomos simples" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "O Atomix é um jogo onde o objetivo é montar moléculas de átomos compostos, " "movendo-os no campo de jogo. Contudo, os átomos não se movem só para " "qualquer lado que queira, eles deslizam até baterem numa parede ou noutro " "átomo." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Tente construir as moléculas o mais rapidamente possível em cada nível, para " "conseguir uma pontuação mias alta." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Jogo de estratégia molecular" #: ../data/atomix.desktop.in.h:3 ../src/main.c:129 msgid "A puzzle game about atoms and molecules" msgstr "Um jogo de estratégia sobre átomos e moléculas" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ácido acético" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetona" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutano" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Éter dimetílico" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etano" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etileno" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Ácido láctico" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metano" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propileno" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirano" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbutileno" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Água" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Ficheiro" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Novo jogo" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "T_erminar jogo" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "_Saltar nível" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Repor nível" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Desfazer jogada" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Pausar jogo" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Continuar jogo" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Sair" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "A_Juda" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Sobre" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nível:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molécula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Fórmula:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Pontuação:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Tempo:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "vazio" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Estatísticas" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Guie os átomos através do labirinto para formar moléculas.\n" "Clique ou use as setas e Enter para selecionar um átomo e movê-lo.\n" "Tenha cuidado, um átomo mantén-se em movimento até bater numa parede.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Impossível encontrar descrição de sequência de níveis." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Nenhum nível encontrado." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Encontrado o nível \"%s\" em: %s" #: ../src/main.c:133 msgid "translator-credits" msgstr "Pedro Albuquerque " #: ../src/main.c:440 msgid "Congratulations! You have finished all Atomix levels." msgstr "Parabéns! Terminou todos os níveis do Atomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Nenhum tema encontrado." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Encontrado o tema \"%s\" em: %s" #~ msgid "https://github.com/GNOME/atomix" #~ msgstr "https://github.com/GNOME/atomix" #~ msgid "Couldn't find at least one level." #~ msgstr "Incapaz de encontrar pelo menos um nível." #~ msgid "Do you want to finish the game?" #~ msgstr "Deseja terminar este jogo?" #~ msgid "_Game" #~ msgstr "_Jogo" #~ msgid "Continue paused game" #~ msgstr "_Continuar jogo parado" #~ msgid "E_xit" #~ msgstr "Sai_r" #~ msgid "End a game" #~ msgstr "Terminar o jogo" #~ msgid "Exit game" #~ msgstr "Sair do jogo" #~ msgid "Pause the running game" #~ msgstr "Parar o jogo em execução" #~ msgid "Restores start situation" #~ msgstr "Repõe a situação inicial" #~ msgid "Set preferences" #~ msgstr "Definir preferências" #~ msgid "Skip the current level" #~ msgstr "Saltar o nível actual" #~ msgid "Start a new game" #~ msgstr "Começar um jogo novo" #~ msgid "Undo the last move" #~ msgstr "Desfazer a última jogada" #~ msgid "View game credits" #~ msgstr "Ver os créditos do jogo" #~ msgid "View highscores" #~ msgstr "Ver melhores pontuações" #~ msgid "_Edit" #~ msgstr "_Editar" #~ msgid "_Preferences ..." #~ msgstr "_Preferências..." #~ msgid "_Scores ..." #~ msgstr "_Pontuações..." #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Copyright (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "Incapaz de criar directório: %s" #~ msgid "Couldn't find file: %s" #~ msgstr "Incapaz de encontrar o ficheiro: %s" #~ msgid "Atomix Splash" #~ msgstr "Logotipo Atomix" #~ msgid "Game Paused" #~ msgstr "Jogo em Pausa" #~ msgid "Game Over" #~ msgstr "Jogo Terminado" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - Jogo de Pensamento Molecular" #~ msgid "Do you really want to clear the grid?" #~ msgstr "Deseja mesmo limpar a grelha?" #~ msgid "" #~ "There does already a theme with this name exist.\n" #~ "So does the dir name." #~ msgstr "" #~ "Já existe um tema com este nome.\n" #~ "E também um nome de directório." #~ msgid "" #~ "There does already a theme with\n" #~ "this name exist." #~ msgstr "" #~ "Já existe um tema com este\n" #~ "nome." #~ msgid "" #~ "There does already a directory\n" #~ "with this name exist." #~ msgstr "" #~ "Já existe um directório com\n" #~ "este nome." #~ msgid "Grid" #~ msgstr "Grelha" #~ msgid "Grid On/Off" #~ msgstr "Grelha Ligada/Desligada" #~ msgid "Theme Window" #~ msgstr "Janela de Tema" #~ msgid "_Clear Grid" #~ msgstr "_Limpar Grelha" #~ msgid "_Resize Grid" #~ msgstr "_Redimensionar Grelha" #~ msgid "_Delete Theme" #~ msgstr "_Apagar Tema" #~ msgid "Atomixed manual" #~ msgstr "Manual Atomixed" #~ msgid "_Level" #~ msgstr "Níve_l" #~ msgid "_Theme" #~ msgstr "_Tema" #~ msgid "New" #~ msgstr "Novo" #~ msgid "New File" #~ msgstr "Novo Ficheiro" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Open File" #~ msgstr "Abrir Ficheiro" #~ msgid "Save" #~ msgstr "Gravar" #~ msgid "Save File" #~ msgstr "Gravar Ficheiro" #~ msgid "Theme Wnd" #~ msgstr "Janela Tema" #~ msgid "No." #~ msgstr "Nº" #~ msgid "Level" #~ msgstr "Nível" #~ msgid "Goal" #~ msgstr "Objectivo" #~ msgid "Name:" #~ msgstr "Nome:" #~ msgid "Themename:" #~ msgstr "Nome Tema:" #~ msgid "Filename:" #~ msgstr "Nome Ficheiro:" #~ msgid "Bonuslevel" #~ msgstr "Bónus Nível" #~ msgid "Time" #~ msgstr "Tempo" #~ msgid "Minutes: " #~ msgstr "Minutos: " #~ msgid "Seconds:" #~ msgstr "Segundos:" #~ msgid "Leveleditor" #~ msgstr "Editor Níveis" #~ msgid "Images" #~ msgstr "Imagens" #~ msgid "Connections" #~ msgstr "Ligações" #~ msgid "Moveables" #~ msgstr "Movíveis" #~ msgid "Obstacles" #~ msgstr "Obstáculos" #~ msgid "Directoryname:" #~ msgstr "Nome Directório:" #~ msgid "Background Color:" #~ msgstr "Cor Fundo:" #~ msgid "Selector Image:" #~ msgstr "Selector de Imagens:" #~ msgid "Browse ..." #~ msgstr "Pesquisar..." #~ msgid "Animation Step:" #~ msgstr "Incremento de Animação:" #~ msgid "Tile Height:" #~ msgstr "Altura do Mosaico:" #~ msgid "Tile Width:" #~ msgstr "Largura do Mosaico:" #~ msgid "Themeeditor" #~ msgstr "Editor de Tema" #~ msgid "Atom Preview" #~ msgstr "Prever Atom" #~ msgid "Mouse functions" #~ msgstr "Funções do rato" #~ msgid "Clear" #~ msgstr "Limpar" #~ msgid "Set" #~ msgstr "Definir" #~ msgid "Move" #~ msgstr "Mover" #~ msgid "Resize Grid" #~ msgstr "Redimensionar Grelha" #~ msgid "Current Values" #~ msgstr "Valores Actuais" #~ msgid "Rows:" #~ msgstr "Linhas:" #~ msgid "Columns:" #~ msgstr "Colunas:" #~ msgid "New Values" #~ msgstr "Novos Valores" #~ msgid "New Level" #~ msgstr "Novo Nível" #~ msgid "Levelname:" #~ msgstr "Nome Nível:" #~ msgid "Playfield Size" #~ msgstr "Tamanho do Campo" #~ msgid "Goal Size" #~ msgstr "Tamanho do Objectivo" #~ msgid "(C) 1999-2001 Jens Finke" #~ msgstr "(C) 1999-2001 Jens Finke" #~ msgid "Atomixed is the Level-/Themeeditor for the mind game Atomix." #~ msgstr "Atomixed é o editor de Níveis/Temas para o jogo de mente Atomix." #~ msgid "Change level name" #~ msgstr "Modificar nome de nível" #~ msgid "" #~ "There is already a level with the same name. Please choose another\n" #~ "name for this level." #~ msgstr "" #~ "Já existe um nível com o mesmo nome. Seleccione outro nome\n" #~ "para este nível." #~ msgid "Current Name:" #~ msgstr "Nome Actual:" #~ msgid "Add Image" #~ msgstr "Adicionar Imagem" #~ msgid "Text:" #~ msgstr "Texto:" #~ msgid "Change ID" #~ msgstr "Modificar ID" #~ msgid "Current ID:" #~ msgstr "ID Actual:" #~ msgid "New ID:" #~ msgstr "Novo ID:" #~ msgid "New Theme" #~ msgstr "Novo Tema" #~ msgid "No tile to clear here." #~ msgstr "Nenhum mosaico a apagar aqui." #~ msgid "No tile to move here." #~ msgstr "Nenhum mosaico a mover aqui." #~ msgid "Copy Goal" #~ msgstr "Copiar Objectivo" #~ msgid "Copy the goal into the playfield." #~ msgstr "Copiar o objectivo para o campo de jogo." #~ msgid "Clear Grid" #~ msgstr "Limpar Grelha" #~ msgid "Clears the whole grid." #~ msgstr "Limpa a grelha toda." #~ msgid "Add an image to the list." #~ msgstr "Adicionar imagem à lista." #~ msgid "Delete Image" #~ msgstr "Apagar Imagem" #~ msgid "Delete selected image(s)." #~ msgstr "Apagar imagem(ns) seleccionada(s)." #~ msgid "Change the ID of the image." #~ msgstr "Modificar ID da imagem." #~ msgid "Press Ctrl+N for a new Game" #~ msgstr "Prima Ctrl+N para novo Jogo" #~ msgid "Couldn't find the Atomix manual!" #~ msgstr "Incapaz de encontrar o manual do Atomix!" #~ msgid "Atomix manual" #~ msgstr "Manual Atomix" #~ msgid "" #~ "Level not found.\n" #~ "Sorry, but the game ends here.\n" #~ "\n" #~ "(Please make sure you have *.atomix\n" #~ "files either in /share/atomix/levels\n" #~ "or ~/.atomix/levels.)" #~ msgstr "" #~ "Nível não encontrado.\n" #~ "Desculpe, mas o jogo termina aqui.\n" #~ "\n" #~ "(Certifique-se de que tem os ficheiros\n" #~ "*.atomix ou em /share/atomix/levels\n" #~ "ou em ~/.atomix/levels.)" #~ msgid "Information" #~ msgstr "Informação" #~ msgid "Yet another mind game." #~ msgstr "Mais um jogo de mente." #~ msgid "Atomix Next Level" #~ msgstr "Próximo Nível Atomix" #~ msgid "Congratulations! You have successfully finished this level." #~ msgstr "Parabéns! Terminou este nível com sucesso." #~ msgid "Remaining Time:" #~ msgstr "Tempo Remanescente:" #~ msgid "Are you ready for the next level?" #~ msgstr "Está preparado para o próximo nível?" #~ msgid "Atomix End" #~ msgstr "Fim do Atomix" #~ msgid "Do you want to play again?" #~ msgstr "Deseja jogar novamente?" #~ msgid "Constraints" #~ msgstr "Restrições" #~ msgid "enable score and time limit" #~ msgstr "activar limite de tempo e pontuação" #~ msgid "General" #~ msgstr "Genérico" #~ msgid "Keyboard (return and cursor keys)" #~ msgstr "Teclado (return e teclas de cursor)" #~ msgid "Mouse" #~ msgstr "Rato" #~ msgid "Mouse Properties" #~ msgstr "Propriedades do Rato" #~ msgid "hide mouse cursor during dragging" #~ msgstr "esconder cursor rato durante arrasto" #~ msgid "enable lazy dragging" #~ msgstr "activar arrasto preguiçoso" #~ msgid "Sensitivity:" #~ msgstr "Sensibilidade:" #~ msgid "high" #~ msgstr "alta" #~ msgid "low" #~ msgstr "baixa" #~ msgid "Control" #~ msgstr "Controlo" #~ msgid "Do you really want to exit the program?" #~ msgstr "Deseja mesmo sair da aplicação?" #~ msgid "" #~ "Your time is up! This costs you 10% of your score. \n" #~ "More luck next time. \n" #~ "\n" #~ "Do you want to retry?" #~ msgstr "" #~ "Terminou o seu tempo! Isto custa-lhe 10% da sua pontuação. \n" #~ "Mais sorte da próxima vez. \n" #~ "\n" #~ "Deseja tentar novamente?" #~ msgid "" #~ "Sorry your time is up! But this was only\n" #~ "a bonus level so go further now." #~ msgstr "" #~ "terminou o seu tempo! Mas isto era apenas\n" #~ "um nível de bonús pelo que continue." #~ msgid "Undo last move. This costs you 5% of your score." #~ msgstr "Desfazer última jogada. Isto custa-lhe 5% da sua pontuação." #~ msgid "No more undo levels." #~ msgstr "Não há mais níves de desfazer." #~ msgid "This is the last level. You can't skip any further." #~ msgstr "Este é o último nível. Não pode saltar mais." atomix-3.19.4/po/pt_BR.po000066400000000000000000000144321264725221400151060ustar00rootroot00000000000000# Brazilian Portuguese translation of Atomix. # This file is distributed under the same license as the Atomix package. # Copyright (C) 2015 Free Software Foundation, Inc. # Estêvão Samuel Procópio , 2005. # Guilherme de S. Pastore , 2005. # Rafael Ferreira , 2015. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-01-18 17:28+0000\n" "PO-Revision-Date: 2015-01-20 07:53-0300\n" "Last-Translator: Rafael Ferreira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.7.3\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Construa moléculas a partir de átomos" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix é um jogo de quebra-cabeça cujo objetivo é conectar moléculas de " "átomos compostos movendo-as na área do jogo. Porém, átomos não simplesmente " "se movem para onde você quiser, e sim deslizam até alcançar uma parede ou um " "outro átomo." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Tente construir as moléculas o mais rápido que você puder em cada nível para " "obter a melhor pontuação." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Quebra-cabeça com moléculas" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ácido acético" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetona" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutano" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Éter dimetílico" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etano" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Eteno" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerina" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Ácido lático" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metano" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propileno" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pirano" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butileno" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Água" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Arquivo" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Novo jogo" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Terminar jogo" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "_Pular nível" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Reiniciar o nível" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Desfazer movimento" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Pausar o jogo" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Continuar o jogo" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Sair" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "Aj_uda" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Sobre" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nível:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molécula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Fórmula:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Pontuação:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Tempo:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "vazio" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Estatísticas" #: ../src/level-manager.c:207 msgid "Couldn't find level sequence description." msgstr "Não foi possível encontrar a descrição da sequência dos níveis." #: ../src/level-manager.c:221 msgid "No level found." msgstr "Nenhum nível foi encontrado." #: ../src/level-manager.c:317 #, c-format msgid "Found level '%s' in: %s" msgstr "Encontrado nível \"%s\" em %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Um jogo mental sobre átomos e moléculas" #: ../src/main.c:136 msgid "translator-credits" msgstr "" "Estêvão Samuel Procópio \n" "Guilherme de S. Pastore \n" "Rafael Ferreira " #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Parabéns! Você completou todos os níveis do Atomix." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "Nenhum tema encontrado." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "Encontrado o tema \"%s\" em %s" #~ msgid "Could not show link" #~ msgstr "Não foi possível mostrar link" #~ msgid "Time" #~ msgstr "Tempo" #~ msgid "Score" #~ msgstr "Pontuação" #~ msgid "%dm %ds" #~ msgstr "%dm %ds" #~ msgid "Name" #~ msgstr "Nome" #~ msgid "Error" #~ msgstr "Erro" #~ msgid "Couldn't find at least one level." #~ msgstr "Não foi possível encontrar pelo menos um nível." #~ msgid "Do you want to finish the game?" #~ msgstr "Você deseja terminar o jogo?" #~ msgid "_Game" #~ msgstr "_Jogo" #~ msgid "_Scores..." #~ msgstr "_Pontuação..." atomix-3.19.4/po/ro.po000066400000000000000000000147121264725221400145210ustar00rootroot00000000000000# Romanian translation for atomix # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the atomix package. # Adi Roiban https://launchpad.net/~adiroiban, 2008,2009. # Nicolae Antonio , 2010. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2011-05-25 00:16+0000\n" "PO-Revision-Date: 2010-12-28 23:42+0300\n" "Last-Translator: Nicolae Antonio \n" "Language-Team: Romanian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2);;\n" "X-Generator: Virtaal 0.6.1\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acid acetic" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetonă" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciclobutan" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil eter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilenă" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerină" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Acid lactic" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilenă" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans butilen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Apă" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Legătura nu poate fi afișată" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Timp" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Punctaj" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 ../src/main.c:736 msgid "New Game" msgstr "Joc nou" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Nume" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Eroare" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Nu s-a găsit descrierea secvenței nivelului." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Nu s-a găsit niciun nivel." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "S-a găsit nivelul „%s” în: %s" #: ../src/main.c:121 ../src/main.c:775 ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Un joc de puzzle despre atomi și molecule" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Contribuții Launchpad:\n" " Adi Roiban https://launchpad.net/~adiroiban\n" " Adrian Stratulat https://launchpad.net/~adrian-stratulat\n" " Bogdan PAUN https://launchpad.net/~bogdanp9\n" " Ionuț Jula https://launchpad.net/~ionutjula\n" " Lucian Adrian Grijincu https://launchpad.net/~lucian.grijincu\n" " Mircea Petrea https://launchpad.net/~domirtm\n" " Nicolae Antonio " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Felicitări! Ați terminat toate nivelurile Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Nu s-a găsit cel puțin un nivel." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Doriți să încheiați jocul?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistici" #: ../src/main.c:707 msgid "Level:" msgstr "Nivel:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molecule:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formulă:" #: ../src/main.c:710 msgid "Score:" msgstr "Punctaj:" #: ../src/main.c:711 msgid "Time:" msgstr "Timp:" #: ../src/main.c:734 msgid "_Game" msgstr "_Joc" #: ../src/main.c:735 msgid "_Help" msgstr "A_jutor" #: ../src/main.c:737 msgid "End Game" msgstr "Termină jocul" #: ../src/main.c:738 msgid "Skip Level" msgstr "Omite nivelul" #: ../src/main.c:739 msgid "Reset Level" msgstr "Restabilește nivelul" #: ../src/main.c:741 msgid "_Pause Game" msgstr "Întreru_pe jocul" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Continuă jocul" #: ../src/main.c:743 msgid "_Scores..." msgstr "_Punctaj..." #: ../src/main.c:745 msgid "About" msgstr "Despre" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Nu s-a găsit nicio temă." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "A fost găsită tema „%s” în: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Joc puzzle cu molecule" #~ msgid "Continue paused game" #~ msgstr "Continuă joc întrerupt" #~ msgid "End a game" #~ msgstr "Termină un joc" #~ msgid "Pause the running game" #~ msgstr "Întrerupe jocul în desfășurare" #~ msgid "Restores start situation" #~ msgstr "Restaurează situația de la start" #~ msgid "Set preferences" #~ msgstr "Definire preferințe" #~ msgid "Skip the current level" #~ msgstr "Salt nivelul curent" #~ msgid "Start a new game" #~ msgstr "Pornire joc nou" #~ msgid "Undo the last move" #~ msgstr "Refă ultima mutare" #~ msgid "View highscores" #~ msgstr "Vizualizare clasament" #~ msgid "_Preferences ..." #~ msgstr "_Preferințe..." #~ msgid "_Undo move" #~ msgstr "An_ulare mișcare" #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Nu ați acumulat înca nici un scor. Mai jucați înca puțin înainte de a " #~ "reveni!" #~ msgid "Couldn't find file: %s" #~ msgstr "Nu s-a găsit fișier: %s" atomix-3.19.4/po/ru.po000066400000000000000000000143641264725221400145320ustar00rootroot00000000000000# Copyright (C) 2001-2002 Free Software Foundation, Inc. # Valek Filippov , 2001-2002, 2006. # AlexL , 2015. # msgid "" msgstr "" "Project-Id-Version: Atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-07-14 02:54+0000\n" "PO-Revision-Date: 2015-07-14 11:57+0300\n" "Last-Translator: Yuri Myasoedov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.2\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:130 ../src/main.c:688 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Построение молекул из простых атомов" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix — это игра-головоломка, в которой нужно собирать молекулы из атомов " "путём перемещения их по игровому полю. Однако атомы не так просто " "переместить: они двигаются до тех пор, пока они не ударятся о стену или о " "другой атом." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Попробуйте построить молекулы так быстро, как сможете. Чем быстрее вы " "построите молекулу, тем больше заработаете очков." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Головоломка с молекулами" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Уксусная кислота" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Ацетон" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Бутанол" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Циклобутан" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Диметиловый эфир" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Ацетальдегид" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Этан" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Этанол" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Этилен" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Глицерин" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Молочная кислота" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Формальдегид" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Метан" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Метанол" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Пропаналь" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Пропилен" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Пиран" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Транс-Бутилен" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Вода" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Файл" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Новая игра" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Завершить игру" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "_Пропустить уровень" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Сбросить уровень" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Отменить перемещение" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Приостановить игру" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Продолжить игру" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Завершить" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Справка" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_О приложении" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Уровень:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Молекула:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Формула:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Очки:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Время:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "пусто" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Статистика" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Не удалось найти описание последовательности уровня" #: ../src/level-manager.c:214 msgid "No level found." msgstr "Уровень не найден." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Найден уровень «%s» в: %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Головоломка с атомами и молекулами" #: ../src/main.c:136 msgid "translator-credits" msgstr "Валек Филиппов " #: ../src/main.c:444 msgid "Congratulations! You have finished all Atomix levels." msgstr "Поздравляю! Вы успешно завершили все уровни Atiomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Темы не найдены." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Найдена тема \"%s\" в: %s" atomix-3.19.4/po/sk.po000066400000000000000000000154431264725221400145200ustar00rootroot00000000000000# atomix Slovak translation. # Copyright (C) 2001, 2002, 2005, 2006 Free Software Foundation, Inc. # Stanislav Višňovský , 2001,2002. # Marcel Telka , 2005, 2006. # Dušan Kazik , 2015. # # $Id$ # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-09-27 13:19+0000\n" "PO-Revision-Date: 2015-10-01 09:58+0200\n" "Last-Translator: Dušan Kazik \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.4\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:127 ../src/main.c:684 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Zostavuje molekuly z jednotlivých atómov" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix je hlavolam, pri ktorom je vaším cieľom poskladať molekuly zložené z " "atómov ich posúvaním na hracom poli. Avšak atómy nie je možné posúvať kam " "chcete. Atómy sa posúvajú až kým nenarazia do steny, alebo do iného atómu." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Pokúste sa na každej úrovni zostaviť molekuly najrýchlejšie ako viete, aby " "ste získali čo najvyššie skóre." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Skladačková hra s molekulami" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Kyselina octová" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetón" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyklobután" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetyléter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etán" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etylén" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerín" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Kyselina mliečna" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Formaldehyd" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metán" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propylén" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Butén" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Voda" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Súbor" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Nová hra" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "_Ukončiť hru" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "P_reskočiť úroveň" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "_Reštartovať úroveň" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Vrátiť _späť ťah" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Pozastaviť hru" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "Pokračovať v _hre" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "U_končiť" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Pomocník" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_O programe" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Úroveň:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekula:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Vzorec:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Skóre:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Čas:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "prázdne" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Štatistika" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Nepodarilo sa nájsť popis sekvencie úrovní." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Nenašla sa žiadna úroveň." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Našla sa úroveň „%s“ v: %s" #: ../src/main.c:129 msgid "A puzzle game about atoms and molecules" msgstr "Skladačková hra s atómami a molekulami" #: ../src/main.c:133 msgid "translator-credits" msgstr "" "Marcel Telka \n" "Dušan Kazik " #: ../src/main.c:440 msgid "Congratulations! You have finished all Atomix levels." msgstr "Blahoželáme! Dokončili ste všetky úrovne hry Atomix." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Nenájdené žiadne témy." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Nájdená téma '%s' v:%s" #~ msgid "Continue paused game" #~ msgstr "Pokračovať v pozastavenej hre" #~ msgid "End a game" #~ msgstr "Ukončí hru" #~ msgid "Pause the running game" #~ msgstr "Pozastaví bežiacu hru" #~ msgid "Restores start situation" #~ msgstr "Obnoví pôvodnú situáciu" #~ msgid "Set preferences" #~ msgstr "Nastaviť" #~ msgid "Skip the current level" #~ msgstr "Preskočí aktuálnu úroveň" #~ msgid "Start a new game" #~ msgstr "Spustí novú hru" #~ msgid "Undo the last move" #~ msgstr "Vráti posledný ťah" #~ msgid "View highscores" #~ msgstr "Zobraziť najvyššie skóre" #~ msgid "_Game" #~ msgstr "_Hra" #~ msgid "_Preferences ..." #~ msgstr "_Nastavenia..." #~ msgid "_Scores ..." #~ msgstr "_Skóre..." #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Nedosiahli ste zatiaľ žiadne skóre. Trochu si zahrajte predtým, ako sa " #~ "sem vrátite!" #~ msgid "Couldn't find at least one level." #~ msgstr "Nepodarilo sa nájsť ani jednu úroveň." #~ msgid "Do you want to finish the game?" #~ msgstr "Chcete skončiť hru?" #~ msgid "Couldn't find file: %s" #~ msgstr "Nepodarilo sa nájsť súbor: %s" atomix-3.19.4/po/sl.po000066400000000000000000000157061264725221400145230ustar00rootroot00000000000000# Slovenian translations for atomix. # Copyright (C) 2002 # This file is distributed under the same license as the atomix package. # # Nejc Novak , 2002. # Matej Urbančič , 2007 - 2010. # msgid "" msgstr "" "Project-Id-Version: atomix master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=atomix&component=general\n" "POT-Creation-Date: 2010-12-15 17:58+0000\n" "PO-Revision-Date: 2010-12-17 20:08+0100\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: utf-8\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "etanojska kislina" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "propanon" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "ciklo-butan" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "dimetil-eter" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "etanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "etan" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "etanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "eten" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "glicerol" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "mlečna kislina" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "metanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "metan" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "propen" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "piran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "trans-buten" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "voda" #: ../src/games-runtime.c:273 msgid "Could not show link" msgstr "Ni mogoče pokazati povezave" #: ../src/games-scores-dialog.c:113 msgid "Time" msgstr "Čas" #. Note that this assumes the default style is plain. #: ../src/games-scores-dialog.c:118 #: ../src/games-scores-dialog.c:545 msgid "Score" msgstr "Rezultat" #. Translators: this is for a minutes, seconds time display. #: ../src/games-scores-dialog.c:276 #, c-format msgid "%dm %ds" msgstr "%dm %ds" #: ../src/games-scores-dialog.c:437 #: ../src/main.c:736 msgid "New Game" msgstr "Nova igra" #: ../src/games-scores-dialog.c:537 msgid "Name" msgstr "Ime" #. Empty title shows up as "" on maemo #: ../src/games-show.c:151 msgid "Error" msgstr "Napaka" #: ../src/level-manager.c:176 msgid "Couldn't find level sequence description." msgstr "Ni mogoče najti opisa zaporedij ravni." #: ../src/level-manager.c:190 msgid "No level found." msgstr "Ni najdenih ravni." #: ../src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Najdena je raven '%s' v: %s" #: ../src/main.c:121 #: ../src/main.c:775 #: ../src/main.c:832 #: ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:166 msgid "A puzzle game about atoms and molecules" msgstr "Miselna igra z atomi in molekulami" #: ../src/main.c:170 msgid "translator-credits" msgstr "" "Nejc Novak \n" "Matej Urbančič " #: ../src/main.c:493 msgid "Congratulations! You have finished all Atomix levels." msgstr "Čestitke! Končali ste vse ravni igre Atomix." #: ../src/main.c:503 msgid "Couldn't find at least one level." msgstr "Ni mogoče najti niti ene ravni igre." #: ../src/main.c:508 msgid "Do you want to finish the game?" msgstr "Ali želite končati igro?" #. create statistics frame #: ../src/main.c:701 msgid "Statistics" msgstr "Statistika" #: ../src/main.c:707 msgid "Level:" msgstr "Raven:" #: ../src/main.c:708 msgid "Molecule:" msgstr "Molekula:" #: ../src/main.c:709 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:710 msgid "Score:" msgstr "Rezultat:" #: ../src/main.c:711 msgid "Time:" msgstr "Čas:" #: ../src/main.c:734 msgid "_Game" msgstr "I_gra" #: ../src/main.c:735 msgid "_Help" msgstr "Pomo_č" #: ../src/main.c:737 msgid "End Game" msgstr "Končaj igro" #: ../src/main.c:738 msgid "Skip Level" msgstr "Preskoči raven" #: ../src/main.c:739 msgid "Reset Level" msgstr "Ponastavi raven" #: ../src/main.c:741 msgid "_Pause Game" msgstr "_Premor igre" #: ../src/main.c:742 msgid "_Continue Game" msgstr "_Nadaljuj igro" #: ../src/main.c:743 msgid "_Scores..." msgstr "Rezul_tati ..." #: ../src/main.c:745 msgid "About" msgstr "O programu" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "Ni najdenih tem." #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "Najdena je tema '%s' v: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Miselna igra z molekulami" #~ msgid "Continue paused game" #~ msgstr "Nadaljuj z igro" #~ msgid "End a game" #~ msgstr "Končaj igro" #~ msgid "Pause the running game" #~ msgstr "Premor igranja" #~ msgid "Restores start situation" #~ msgstr "Povrne na začetno postavitev" #~ msgid "Set preferences" #~ msgstr "Določi možnosti" #~ msgid "Skip the current level" #~ msgstr "Preskoči trenutno raven" #~ msgid "Start a new game" #~ msgstr "Začni novo igro" #~ msgid "Undo the last move" #~ msgstr "Razveljavi zadnjo potezo" #~ msgid "View highscores" #~ msgstr "Najboljši rezultati" #~ msgid "_Preferences ..." #~ msgstr "_Možnosti ..." #~ msgid "_Undo move" #~ msgstr "Razveljavi po_tezo" #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Rezultata, ki bi bil vpisan, še niste dosegli. Najprej igrajte igro." #~ msgid "Couldn't find file: %s" #~ msgstr "Ni mogoče najti datoteke: %s" #~ msgid "E_xit" #~ msgstr "_Končaj" #~ msgid "Exit game" #~ msgstr "Končaj igro" #~ msgid "View game credits" #~ msgstr "Zasluge za igro" #~ msgid "_Edit" #~ msgstr "Ur_edi" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Avtorske pravice (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "Ni mogoče ustvariti mape: %s" #~ msgid "Game Paused" #~ msgstr "Premor igre" #~ msgid "Game Over" #~ msgstr "Konec igre" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - miselna igra z molekulami" #~ msgid "Atomix Splash" #~ msgstr "Atomix Splash" atomix-3.19.4/po/sq.po000066400000000000000000000131441264725221400145220ustar00rootroot00000000000000# Përkthimi i mesazheve të atomix në shqip # This file is distributed under the same license as the atomix package. # Copyright (C) 2003, 2004, 2005, 2006, Free Software Foundation, Inc. # # Laurent Dhima , 2003, 2004, 2005, 2006. msgid "" msgstr "" "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-30 13:40+0100\n" "PO-Revision-Date: 2006-01-30 17:42+0100\n" "Last-Translator: Laurent Dhima \n" "Language-Team: Albanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acid Acetik" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetone" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyclobutane" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimethyl Ether" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Ethanal" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Ethane" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Ethanol" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilene" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerinë" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Acid Lactic" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metane" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilene" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Butilen" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "Ujë" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Vazhdo lojën e ndërprerë" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Përfundo lojën" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Pusho lojën aktuale" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Rinis nivelin" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Rivendos gjëndjen fillestare" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Përcakto preferimet" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Kapërce _nivelin" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Kapërcen nivelin aktual" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Fillo një lojë të re" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Anullo lëvizjen e fundit" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Shiko pikët më të larta" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Vazhdo lojën" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Përfundo lojën" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Loja" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Ju lumtë! Sapo përfunduat të gjithë nivelet e Atomix." #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Nuk arrij të gjej të paktën një nivel." #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Dëshironi të përfundoni lojën?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "Statistikat" #: ../src/main.c:734 msgid "Level:" msgstr "Niveli:" #: ../src/main.c:735 msgid "Molecule:" msgstr "Molekula:" #: ../src/main.c:736 msgid "Formula:" msgstr "Formula:" #: ../src/main.c:737 msgid "Score:" msgstr "Pikë:" #: ../src/main.c:738 msgid "Time:" msgstr "Kohëzgjatja:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "E pamundur gjetja e file: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "Nuk u gjet asnjë temë." #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "U gjet tema '%s' në: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Loja e molekulave" atomix-3.19.4/po/sr.po000066400000000000000000000250441264725221400145250ustar00rootroot00000000000000# Serbian translation of atomix # Courtesy of Prevod.org team (http://www.prevod.org/) -- 2003—2015 # This file is distributed under the same license as the atomix package. # Александар Урошевић , 2003—2006 # Мирослав Николић , 2011—2015. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=atomix&" "keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-12-26 18:13+0000\n" "PO-Revision-Date: 2015-12-28 11:45+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : " "n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Project-Style: gnome\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Атомикс" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Изградите молекуле од појединачних атома" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Атомикс је игра слагалице у којој је ваш циљ да саставите молекуле од " "основних атома премештајући их по пољу игре. Међутим, атоми једноставно не " "иду тамо где ви желите да их преместите, већ се померају све док не ударе " "или у зид или у други атом." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Покушајте да изградите молекуле што брже можете на сваком нивоу да остварите " "већи резултат." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Логичка слагалица са молекулима" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Логичка слагалица са атомима и молекулима" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ацетна киселина" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Ацетин" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Бутанол" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Циклобутан" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Диметил Етер" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Етанал" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Етан" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Етанол" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Еталин" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Глицерин" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Млечна киселина" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Метанал" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Метан" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Метанол" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Пропанол" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Пропилен" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Пиран" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Транс-бутелин" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Вода" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Датотека" #: ../data/ui/interface.ui.h:3 #| msgid "New Game" msgid "_New Game" msgstr "_Нова игра" #: ../data/ui/interface.ui.h:4 #| msgid "End Game" msgid "_End Game" msgstr "_Крај игре" #: ../data/ui/interface.ui.h:5 #| msgid "Skip Level" msgid "_Skip Level" msgstr "Прескочи _ниво" #: ../data/ui/interface.ui.h:6 #| msgid "Reset Level" msgid "_Reset Level" msgstr "_Поново постави ниво" #: ../data/ui/interface.ui.h:7 #| msgid "_Undo move" msgid "_Undo Move" msgstr "_Опозови потез" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Паузирај _игру" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Настави игру" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Изађи" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "По_моћ" #: ../data/ui/interface.ui.h:12 #| msgid "About" msgid "_About" msgstr "_О игри" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Ниво:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Молекул:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Формула:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Резултат:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Време:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "празно" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Статистика" #: ../data/ui/interface.ui.h:20 msgid "New Game" msgstr "Нова игра" #: ../data/ui/interface.ui.h:21 msgid "End Game" msgstr "Крај игре" #: ../data/ui/interface.ui.h:22 msgid "Skip Level" msgstr "Прескочи ниво" #: ../data/ui/interface.ui.h:23 msgid "Reset Level" msgstr "Поново постави ниво" #: ../data/ui/interface.ui.h:24 #| msgid "_Undo move" msgid "Undo Move" msgstr "Опозови потез" #: ../data/ui/interface.ui.h:25 #| msgid "_Pause Game" msgid "Pause Game" msgstr "Паузирај игру" #: ../data/ui/interface.ui.h:26 #| msgid "_Continue Game" msgid "Continue Game" msgstr "Настави игру" #: ../data/ui/interface.ui.h:27 msgid "About" msgstr "О игри" #: ../data/ui/interface.ui.h:28 msgid "Quit" msgstr "Изађи" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Водите атоме кроз гомилу како би створили молекуле.\n" "Притисните тастер миша, или користите тастере стрелица и Унеси, да изаберете " "атом и да га преместите.\n" "Будите пажљиви, јер: атом наставља да се креће све док не лупи о зид.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Не могу пронаћи опис радњи нивоа." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Ниво није пронађен." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Пронађен ниво „%s“ у: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Александар Урошевић \n" "Мирослав Николић \n" "\n" "http://prevod.org — преводи на српски језик" #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "Честитам! Прешли сте све нивое Атомикса." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Тема није пронађена." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Пронађена је тема „%s‟ у: %s" #~ msgid "Could not show link" #~ msgstr "Не могу да прикажем везицу" #~ msgid "Time" #~ msgstr "Време:" #~ msgid "Score" #~ msgstr "Резултат:" #~ msgid "%dm %ds" #~ msgstr "%dm %ds" #~ msgid "Name" #~ msgstr "Игра" #~ msgid "Error" #~ msgstr "Грешка" #~ msgid "Couldn't find at least one level." #~ msgstr "Не могу пронаћи ниједан ниво." #~ msgid "Do you want to finish the game?" #~ msgstr "Желите ли да завршите игру?" #~ msgid "_Game" #~ msgstr "_Игра" #~ msgid "_Scores..." #~ msgstr "_Резултати ..." #~ msgid "Continue paused game" #~ msgstr "Наставак паузиране игре" #~ msgid "End a game" #~ msgstr "Крај игре" #~ msgid "Pause the running game" #~ msgstr "Паузирање покренуте игре" #~ msgid "Restores start situation" #~ msgstr "Повраћај почетне позиције" #~ msgid "Set preferences" #~ msgstr "Обави подешавања" #~ msgid "Skip the current level" #~ msgstr "Прескочи тренутни ниво" #~ msgid "Start a new game" #~ msgstr "Покрени нову игру" #~ msgid "Undo the last move" #~ msgstr "Опозови последњи потез" #~ msgid "View highscores" #~ msgstr "Табела најбољих играча" #~ msgid "_Preferences ..." #~ msgstr "_Подешавања ..." # note(slobo): без уобичајеног персирања, ово је за децу! Мада деци ТРЕБА # персирати! #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Још увек ниси постигао никакав резултат. Играј се прво па тек онда дођи " #~ "да провериш резултат!" #~ msgid "Couldn't find file: %s" #~ msgstr "Не могу пронаћи датотеку: %s" #~ msgid "E_xit" #~ msgstr "И_злаз" #~ msgid "Exit game" #~ msgstr "Напуштање игре" #~ msgid "View game credits" #~ msgstr "Погледај захвале" #~ msgid "_Edit" #~ msgstr "_Уреди" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Ауторска права (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "Не могу креирати директоријум: %s" atomix-3.19.4/po/sr@latin.po000066400000000000000000000217271264725221400156610ustar00rootroot00000000000000# Serbian translation of atomix # Courtesy of Prevod.org team (http://www.prevod.org/) -- 2003—2015 # This file is distributed under the same license as the atomix package. # Aleksandar Urošević , 2003—2006 # Miroslav Nikolić , 2011—2015. msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=atomix&" "keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-12-26 18:13+0000\n" "PO-Revision-Date: 2015-12-28 11:45+0200\n" "Last-Translator: Miroslav Nikolić \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : " "n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Project-Style: gnome\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Atomiks" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Izgradite molekule od pojedinačnih atoma" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomiks je igra slagalice u kojoj je vaš cilj da sastavite molekule od " "osnovnih atoma premeštajući ih po polju igre. Međutim, atomi jednostavno ne " "idu tamo gde vi želite da ih premestite, već se pomeraju sve dok ne udare " "ili u zid ili u drugi atom." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Pokušajte da izgradite molekule što brže možete na svakom nivou da ostvarite " "veći rezultat." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Logička slagalica sa molekulima" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Logička slagalica sa atomima i molekulima" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Acetna kiselina" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Acetin" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Ciklobutan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil Eter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etalin" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glicerin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Mlečna kiselina" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanol" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilen" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans-butelin" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Voda" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Datoteka" #: ../data/ui/interface.ui.h:3 #| msgid "New Game" msgid "_New Game" msgstr "_Nova igra" #: ../data/ui/interface.ui.h:4 #| msgid "End Game" msgid "_End Game" msgstr "_Kraj igre" #: ../data/ui/interface.ui.h:5 #| msgid "Skip Level" msgid "_Skip Level" msgstr "Preskoči _nivo" #: ../data/ui/interface.ui.h:6 #| msgid "Reset Level" msgid "_Reset Level" msgstr "_Ponovo postavi nivo" #: ../data/ui/interface.ui.h:7 #| msgid "_Undo move" msgid "_Undo Move" msgstr "_Opozovi potez" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Pauziraj _igru" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Nastavi igru" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Izađi" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "Po_moć" #: ../data/ui/interface.ui.h:12 #| msgid "About" msgid "_About" msgstr "_O igri" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nivo:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekul:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formula:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Rezultat:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Vreme:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "prazno" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statistika" #: ../data/ui/interface.ui.h:20 msgid "New Game" msgstr "Nova igra" #: ../data/ui/interface.ui.h:21 msgid "End Game" msgstr "Kraj igre" #: ../data/ui/interface.ui.h:22 msgid "Skip Level" msgstr "Preskoči nivo" #: ../data/ui/interface.ui.h:23 msgid "Reset Level" msgstr "Ponovo postavi nivo" #: ../data/ui/interface.ui.h:24 #| msgid "_Undo move" msgid "Undo Move" msgstr "Opozovi potez" #: ../data/ui/interface.ui.h:25 #| msgid "_Pause Game" msgid "Pause Game" msgstr "Pauziraj igru" #: ../data/ui/interface.ui.h:26 #| msgid "_Continue Game" msgid "Continue Game" msgstr "Nastavi igru" #: ../data/ui/interface.ui.h:27 msgid "About" msgstr "O igri" #: ../data/ui/interface.ui.h:28 msgid "Quit" msgstr "Izađi" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Vodite atome kroz gomilu kako bi stvorili molekule.\n" "Pritisnite taster miša, ili koristite tastere strelica i Unesi, da izaberete " "atom i da ga premestite.\n" "Budite pažljivi, jer: atom nastavlja da se kreće sve dok ne lupi o zid.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Ne mogu pronaći opis radnji nivoa." #: ../src/level-manager.c:214 msgid "No level found." msgstr "Nivo nije pronađen." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "Pronađen nivo „%s“ u: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Aleksandar Urošević \n" "Miroslav Nikolić \n" "\n" "http://prevod.org — prevodi na srpski jezik" #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "Čestitam! Prešli ste sve nivoe Atomiksa." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Tema nije pronađena." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "Pronađena je tema „%s‟ u: %s" #~ msgid "Could not show link" #~ msgstr "Ne mogu da prikažem vezicu" #~ msgid "Time" #~ msgstr "Vreme:" #~ msgid "Score" #~ msgstr "Rezultat:" #~ msgid "%dm %ds" #~ msgstr "%dm %ds" #~ msgid "Name" #~ msgstr "Igra" #~ msgid "Error" #~ msgstr "Greška" #~ msgid "Couldn't find at least one level." #~ msgstr "Ne mogu pronaći nijedan nivo." #~ msgid "Do you want to finish the game?" #~ msgstr "Želite li da završite igru?" #~ msgid "_Game" #~ msgstr "_Igra" #~ msgid "_Scores..." #~ msgstr "_Rezultati ..." #~ msgid "Continue paused game" #~ msgstr "Nastavak pauzirane igre" #~ msgid "End a game" #~ msgstr "Kraj igre" #~ msgid "Pause the running game" #~ msgstr "Pauziranje pokrenute igre" #~ msgid "Restores start situation" #~ msgstr "Povraćaj početne pozicije" #~ msgid "Set preferences" #~ msgstr "Obavi podešavanja" #~ msgid "Skip the current level" #~ msgstr "Preskoči trenutni nivo" #~ msgid "Start a new game" #~ msgstr "Pokreni novu igru" #~ msgid "Undo the last move" #~ msgstr "Opozovi poslednji potez" #~ msgid "View highscores" #~ msgstr "Tabela najboljih igrača" #~ msgid "_Preferences ..." #~ msgstr "_Podešavanja ..." # note(slobo): bez uobičajenog persiranja, ovo je za decu! Mada deci TREBA # persirati! #~ msgid "" #~ "You have not achieved any scores yet. Play a little before coming back!" #~ msgstr "" #~ "Još uvek nisi postigao nikakav rezultat. Igraj se prvo pa tek onda dođi " #~ "da proveriš rezultat!" #~ msgid "Couldn't find file: %s" #~ msgstr "Ne mogu pronaći datoteku: %s" #~ msgid "E_xit" #~ msgstr "I_zlaz" #~ msgid "Exit game" #~ msgstr "Napuštanje igre" #~ msgid "View game credits" #~ msgstr "Pogledaj zahvale" #~ msgid "_Edit" #~ msgstr "_Uredi" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "Autorska prava (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "Ne mogu kreirati direktorijum: %s" atomix-3.19.4/po/sv.po000066400000000000000000000131071264725221400145260ustar00rootroot00000000000000# Swedish messages for atomix. # Copyright © 2001, 2002, 2005, 2006, 2015 Free Software Foundation, Inc. # Christian Rose , 2001, 2002, 2005. # Daniel Nylander , 2006. # Anders Jonsson , 2015. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-01-18 17:28+0000\n" "PO-Revision-Date: 2015-02-10 00:20+0100\n" "Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.7.3\n" #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:686 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Bygg molekyler av enskilda atomer" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix är ett pusselspel där ditt mål är att sammanställa molekyler från de " "atomer de består av genom att flytta dem på spelfältet. Atomer rör sig dock " "inte bara dit du vill, de glider tills de träffar antingen en vägg eller en " "annan atom." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Försök bygga molekylerna så fort du kan på varje nivå för att få högre poäng." #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekylpusselspel" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Ättiksyra" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aceton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Cyklobutan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetyleter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Eten" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glycerin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Mjölksyra" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" # Osäker. #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propen" # Osäker. #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" # Osäker. #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Transbuten" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Vatten" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Arkiv" #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Nytt spel" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "Av_sluta spel" #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "Hoppa över n_ivå" #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "Å_terställ nivå" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "_Ångra drag" #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "_Gör paus i spel" #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Fortsätt spel" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "A_vsluta" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Hjälp" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Om" #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Nivå:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekyl:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formel:" #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Poäng:" #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Tid:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "tom" #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "Statistik" #: ../src/level-manager.c:207 msgid "Couldn't find level sequence description." msgstr "Kunde inte hitta nivåsekvensbeskrivning." #: ../src/level-manager.c:221 msgid "No level found." msgstr "Ingen nivå kunde hittas." #: ../src/level-manager.c:317 #, c-format msgid "Found level '%s' in: %s" msgstr "Hittade nivån ”%s” i: %s" #: ../src/main.c:132 msgid "A puzzle game about atoms and molecules" msgstr "Ett pusselspel om atomer och molekyler" #: ../src/main.c:136 msgid "translator-credits" msgstr "" "Daniel Nylander\n" "Christian Rose\n" "Anders Jonsson\n" "\n" "Skicka synpunkter på översättningen till\n" "." #: ../src/main.c:446 msgid "Congratulations! You have finished all Atomix levels." msgstr "Gratulerar! Du har slutfört alla nivåer i Atomix." #: ../src/theme-manager.c:224 msgid "No themes found." msgstr "Inga teman hittades." #: ../src/theme-manager.c:282 #, c-format msgid "Found theme '%s' in: %s" msgstr "Hittade temat ”%s” i: %s" atomix-3.19.4/po/ta.po000066400000000000000000000136721264725221400145110ustar00rootroot00000000000000# Tamil translation of Atomix. # Copyright (C) 2002 # This file is distributed under the same license as the Atomix package. # ElangoSundaram , 2002. # msgid "" msgstr "" "Project-Id-Version: Atomix 1.9.7\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2002-11-03 05:31+0100\n" "Last-Translator: Elango Sundaram \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "தடை செய்யப்பட்ட ஆட்டத்தைத் தொடர்க " #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "_வெளியேறுக" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "ஆட்டத்தை நிறுத்துக" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "ஆட்டத்தை விட்டு வெளியேறுக" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "விளையாடிக்கொண்டிருக்கும் ஆட்டத்தை தற்கலிகமாக நிறுத்துக" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "மட்டத்தை நிலை மீட்டுக" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "தொடக்க நிலையை நிலை மீட்டு" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "விருப்பங்களை அமை" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "மட்டத்தைத் தவிர்" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "இந்த மட்டத்தைத் தவிர்" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "புது ஆட்டத்தை ஆரம்பம் செய்க" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "முந்தைய நகர்த்தலை முன்செயல் நீக்கு" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "ஆட்ட புள்ளிகளை பார்க்க" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "அதிகமான புள்ளிகளைப் பார்க்க" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "_இதைப்பற்றி" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "ஆட்டத்தைத் _தொடர்க" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "_தொகு" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "ஆட்டத்தை _நிறுத்துக" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_ஆட்டம்" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "உதவி" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "_புது ஆட்டம்" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "_விருப்பங்கள்" #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "_புள்ளிகள்" #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "நகர்த்தலை முன்செயல் _நீக்கு" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "வரிசைமுறை மட்ட விளக்கத்தை காண இயலவில்லை" #: src/level-manager.c:185 msgid "No level found." msgstr "மட்டத்தை காண இயலவில்லை" #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "'%s' இல் மட்டத்தை கண்டுபிடித்தாகி விட்டது: %s" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "அட்டாமிக்ச்" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "காப்புரிமை 1999-2002" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "அணு மற்றும் மூலக்கூறு பற்றிய மன ஆட்டம்" #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "பாராட்டுக்கள் ! அட்டாமிக்ச் ஆட்டத்தின் அனைத்து நிலைகளையும் முடித்து விட்டீர்கள் " #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "ஒரு மட்டமாவது இல்லை" #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "ஆட்டத்தை நிறுத்த வேண்டுமா ?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "அடைவை உருவாக்க இயலவில்லை: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "புள்ளியியல்" #: src/main.c:707 msgid "Level:" msgstr "மட்டம்" #: src/main.c:708 msgid "Molecule:" msgstr "மூலக்கூறு" #: src/main.c:709 msgid "Score:" msgstr "புள்ளிகள்" #: src/main.c:710 msgid "Time:" msgstr "நேரம்:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "கோப்பைக் கண்டுபிடிக்க இயலவில்லை : %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "கருப்பொருள்களைக் காண இயலவில்லை" #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "கருப்பொருள் கிடைத்து விட்டது '%s' இங்கே: %s" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "மூலக்கூறு மன ஆட்டம்" atomix-3.19.4/po/th.po000066400000000000000000000151431264725221400145130ustar00rootroot00000000000000# Thai translation of atomix. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the atomix package. # # Neutron Soutmun , 2007. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-01-11 00:06+0700\n" "PO-Revision-Date: 2007-01-11 00:06+0700\n" "Last-Translator: Neutron Soutmun \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "กรดแอซีติก" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "แอซีโตน" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "บิวทานอล" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "ไซโคลบิวเทน" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "ไดเมทิล อีเทอร์" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "เอทานัล" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "อีเทน" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "เอทานอล" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "เอทิลีน" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "กลีเซอริน" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "กรดแลกติก" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "เมทานัล" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "มีเทน" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "เมทานอล" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "โพรพานัล" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "โพรพิลีน" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "ไพรัน" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "ทรานส์บิวทิลีน" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "น้ำ" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "เล่นเกมที่พักไว้ต่อ" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "จบเกม" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "พักเกมที่กำลังเล่น" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "ล้างระดับที่เล่น" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "คืนสภาพไปยังสถานะเริ่มต้น" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "ปรับแต่ง" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "_ข้ามระดับ" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "ข้ามระดับปัจจุบัน" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "เริ่มเกมใหม่" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "เรียกคืนการเดินเกมครั้งล่าสุด" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "ดูคะแนนสูงสุด" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "เ_ล่นต่อ" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_จบเกม" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "เ_กม" #. submenu name="Edit" _label="_Edit"> #. #. #. #. " #: ../src/main.c:489 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "อะตอมมิกซ์" #: ../src/main.c:500 msgid "Congratulations! You have finished all Atomix levels." msgstr "ยินดีด้วย! คุณผ่านอะตอมมิกซ์หมดทุกระดับแล้ว" #: ../src/main.c:510 msgid "Couldn't find at least one level." msgstr "หาระดับไม่พบอย่างน้อยหนึ่งระดับ" #: ../src/main.c:515 msgid "Do you want to finish the game?" msgstr "คุณต้องการจะจบเกมเลยหรือไม่?" #. create statistics frame #: ../src/main.c:729 msgid "Statistics" msgstr "สถิติ" #: ../src/main.c:735 msgid "Level:" msgstr "ระดับ:" #: ../src/main.c:736 msgid "Molecule:" msgstr "โมเลกุล:" #: ../src/main.c:737 msgid "Formula:" msgstr "สูตรเคมี:" #: ../src/main.c:738 msgid "Score:" msgstr "คะแนน:" #: ../src/main.c:739 msgid "Time:" msgstr "เวลา:" #: ../src/main.c:779 #, c-format msgid "Couldn't find file: %s" msgstr "ไม่พบแฟ้ม: %s" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "ไม่พบชุดตกแต่ง" #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "พบชุดตกแต่ง '%s' ใน: %s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "เกมตัวต่อโมเลกุล" atomix-3.19.4/po/tr.po000066400000000000000000000234671264725221400145350ustar00rootroot00000000000000# Turkish translation of Atomix. # Copyright (C) 2001 Free Software Foundation, Inc. # A.Burak Ilgicioglu , 2001. # Görkem Çetin , 2002. # Kaan Özdinçer , 2015. # Muhammet Kara , 2011, 2015. # msgid "" msgstr "" "Project-Id-Version: atomix 0.4.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2015-12-31 15:57+0000\n" "PO-Revision-Date: 2015-12-31 22:38+0200\n" "Last-Translator: Muhammet Kara \n" "Language-Team: Türkçe \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Gtranslator 2.91.7\n" "X-POOTLE-MTIME: 1434042213.000000\n" # editor/interface.c:225 #: ../data/atomix.appdata.xml.in.h:1 ../data/atomix.desktop.in.h:1 #: ../data/ui/interface.ui.h:1 ../src/main.c:128 ../src/main.c:669 msgid "Atomix" msgstr "Atomix" #: ../data/atomix.appdata.xml.in.h:2 msgid "Build molecules out of single atoms" msgstr "Molekülleri, atomlardan oluşturun" #: ../data/atomix.appdata.xml.in.h:3 msgid "" "Atomix is a puzzle game where your goal is to assemble molecules from " "compound atoms by moving them on the playfield. However, atoms don't just " "move wherever you want to move them to, they slide until they hit either a " "wall or another atom." msgstr "" "Atomix, birleşik atomları oyun alanına taşıyarak ve onları birleştirerek " "moleküller oluşturduğunuz bir bulmaca oyunudur. Ancak, atomlar onları " "hareket ettirmek istediğiniz yere hareket etmez, onları bir duvara veya " "başka bir atoma tutturmak için kaydırmanız gerekir." #: ../data/atomix.appdata.xml.in.h:4 msgid "" "Try to build the molecules as fast as you can on each level to earn a higher " "score." msgstr "" "Her bir seviyede, yüksek bir puan kazanmak için, yapabildiğiniz kadar hızlı " "bir şekilde molekülleri oluşturmayı deneyin." # src/interface.c:459 #: ../data/atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Molekül yapboz oyunu" #: ../data/atomix.desktop.in.h:3 ../src/main.c:131 msgid "A puzzle game about atoms and molecules" msgstr "Atomlar ve moleküller hakkında bir yapboz oyunu" #: ../data/level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Asetik Asit" #: ../data/level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Aseton" #: ../data/level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Bütanol" #: ../data/level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Siklobütan" #: ../data/level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Dimetil Eter" #: ../data/level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanal" #: ../data/level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #: ../data/level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanol" #: ../data/level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etilen" #: ../data/level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Gliserin" #: ../data/level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Laktik Asit" #: ../data/level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanal" #: ../data/level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #: ../data/level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanol" #: ../data/level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Propanal" #: ../data/level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Propilen" #: ../data/level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Piran" #: ../data/level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Trans Bütilen" #: ../data/level/water.atomix.xml.h:1 msgid "Water" msgstr "Su" #: ../data/ui/interface.ui.h:2 msgid "_File" msgstr "_Dosya" # editor/interface.c:2030 #: ../data/ui/interface.ui.h:3 msgid "_New Game" msgstr "_Yeni Oyun" #: ../data/ui/interface.ui.h:4 msgid "_End Game" msgstr "Oyunu _Bitir" # src/interface.c:26 #: ../data/ui/interface.ui.h:5 msgid "_Skip Level" msgstr "Seviye _Atla" # editor/interface.c:68 #: ../data/ui/interface.ui.h:6 msgid "_Reset Level" msgstr "Seviyeyi _Sıfırla" #: ../data/ui/interface.ui.h:7 msgid "_Undo Move" msgstr "Hareketi _Geri Al" # src/interface.c:35 #: ../data/ui/interface.ui.h:8 msgid "_Pause Game" msgstr "Oyunu _Duraklat" # src/interface.c:35 #: ../data/ui/interface.ui.h:9 msgid "_Continue Game" msgstr "_Oyuna Devam Et" #: ../data/ui/interface.ui.h:10 msgid "_Quit" msgstr "_Çık" #: ../data/ui/interface.ui.h:11 msgid "_Help" msgstr "_Yardım" #: ../data/ui/interface.ui.h:12 msgid "_About" msgstr "_Hakkında" # src/interface.c:317 #: ../data/ui/interface.ui.h:13 msgid "Level:" msgstr "Seviye:" #: ../data/ui/interface.ui.h:14 msgid "Molecule:" msgstr "Molekül:" #: ../data/ui/interface.ui.h:15 msgid "Formula:" msgstr "Formül:" # src/interface.c:337 src/interface.c:523 src/interface.c:641 #: ../data/ui/interface.ui.h:16 msgid "Score:" msgstr "Skor:" # src/interface.c:347 #: ../data/ui/interface.ui.h:17 msgid "Time:" msgstr "Zaman:" #: ../data/ui/interface.ui.h:18 msgid "empty" msgstr "boş" # src/interface.c:259 #: ../data/ui/interface.ui.h:19 msgid "Statistics" msgstr "İstatistikler" # editor/interface.c:2030 #: ../data/ui/interface.ui.h:20 #| msgid "_New Game" msgid "New Game" msgstr "Yeni Oyun" #: ../data/ui/interface.ui.h:21 #| msgid "_End Game" msgid "End Game" msgstr "Oyunu Bitir" # src/interface.c:26 #: ../data/ui/interface.ui.h:22 #| msgid "_Skip Level" msgid "Skip Level" msgstr "Seviyeyi Atla" # editor/interface.c:68 #: ../data/ui/interface.ui.h:23 #| msgid "_Reset Level" msgid "Reset Level" msgstr "Seviyeyi Sıfırla" #: ../data/ui/interface.ui.h:24 #| msgid "_Undo Move" msgid "Undo Move" msgstr "Hareketi Geri Al" # src/interface.c:35 #: ../data/ui/interface.ui.h:25 #| msgid "_Pause Game" msgid "Pause Game" msgstr "Oyunu Duraklat" # src/interface.c:35 #: ../data/ui/interface.ui.h:26 #| msgid "_Continue Game" msgid "Continue Game" msgstr "Oyuna Devam Et" #: ../data/ui/interface.ui.h:27 #| msgid "_About" msgid "About" msgstr "Hakkında" #: ../data/ui/interface.ui.h:28 #| msgid "_Quit" msgid "Quit" msgstr "Çıkış" #: ../src/board-gtk.c:338 msgid "" "Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n" msgstr "" "Molekülleri oluşturmak için atomlara labirentte rehberlik edin.\n" "Bir atomu seçmek ve hareket ettirmek için tıklayın ya da ok tuşlarını ve " "Enter tuşunu kullanın.\n" "Ama dikkatli olun: bir atom duvara çarpana kadar hareket etmeye devam eder.\n" #: ../src/level-manager.c:200 msgid "Couldn't find level sequence description." msgstr "Seviye sıra açıklaması bulunamadı." # src/main.c:163 #: ../src/level-manager.c:214 msgid "No level found." msgstr "Seviye bulunamadı." #: ../src/level-manager.c:283 #, c-format msgid "Found level '%s' in: %s" msgstr "%s seviyesi bulundu: %s" #: ../src/main.c:135 msgid "translator-credits" msgstr "" "Muhammet Kara \n" "Kaan Özdinçer " # src/interface.c:616 #: ../src/main.c:438 msgid "Congratulations! You have finished all Atomix levels." msgstr "Tebrikler! Tüm Atomix seviyelerini başarıyla bitirdiniz." #: ../src/theme-manager.c:225 msgid "No themes found." msgstr "Tema bulunamadı." #: ../src/theme-manager.c:283 #, c-format msgid "Found theme '%s' in: %s" msgstr "%s teması bulundu: %s" #~ msgid "Could not show link" #~ msgstr "Bağlantı gösterilemedi" # src/interface.c:347 #~| msgid "Time:" #~ msgid "Time" #~ msgstr "Zaman" # src/interface.c:337 src/interface.c:523 src/interface.c:641 #~| msgid "Score:" #~ msgid "Score" #~ msgstr "Puan" #~ msgid "%dm %ds" #~ msgstr "%dd %ds" # editor/interface.c:461 editor/interface.c:767 #~| msgid "_Game" #~ msgid "Name" #~ msgstr "İsim" #~ msgid "Error" #~ msgstr "Hata" # editor/callbacks.c:1279 #~ msgid "Couldn't find at least one level." #~ msgstr "Hiç oyun seviyesi bulunamadı." # src/interface.c:908 #~ msgid "Do you want to finish the game?" #~ msgstr "Gerçekten bu oyundan çıkmak istiyor musunuz? " # editor/interface.c:461 editor/interface.c:767 #~ msgid "_Game" #~ msgstr "_Oyun" #~| msgid "_Scores ..." #~ msgid "_Scores..." #~ msgstr "_Puanlar..." # src/interface.c:35 #~ msgid "Continue paused game" #~ msgstr "Oyuna devam et" #~ msgid "E_xit" #~ msgstr "Çı_k" #~ msgid "End a game" #~ msgstr "Oyunu bitir" #~ msgid "Exit game" #~ msgstr "Oyundan çık" #~ msgid "Pause the running game" #~ msgstr "Çalışan oyunu duraklat" #~ msgid "Restores start situation" #~ msgstr "Başlangıç durumuna getirir" #~ msgid "Set preferences" #~ msgstr "Tercihleri ayarla" # src/interface.c:26 #~ msgid "Skip the current level" #~ msgstr "Şimdi oynanan seviyeyi atla" #~ msgid "Start a new game" #~ msgstr "Yeni bir oyuna başla" #~ msgid "Undo the last move" #~ msgstr "Son hareketi geri al" #~ msgid "View game credits" #~ msgstr "Oyunu programlayanlar" #~ msgid "View highscores" #~ msgstr "Yüksek puanlar" #~ msgid "_Edit" #~ msgstr "_Düzenle" #~ msgid "_Preferences ..." #~ msgstr "_Tercihler..." # src/interface.c:457 #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "(C) 1999-2002 Jens Finke" # editor/support.c:116 src/support.c:116 #~ msgid "Couldn't create directory: %s" #~ msgstr "Dizin yaratılamadı: %s" # editor/support.c:100 editor/support.c:138 src/support.c:100 # src/support.c:138 #~ msgid "Couldn't find file: %s" #~ msgstr "Dosya bulunamadı: %s" # src/interface.c:108 #~ msgid "Atomix Splash" #~ msgstr "Atomix Başlangıç Ekranı" # src/board.c:202 #~ msgid "Game Paused" #~ msgstr "Oyun Duraklatıldı" # src/board.c:204 #~ msgid "Game Over" #~ msgstr "Oyun Bitti" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - Moleküler Zeka Oyunu " atomix-3.19.4/po/uk.po000066400000000000000000000116531264725221400145210ustar00rootroot00000000000000# Ukrainian translation of Atomix. # Copyright (C) 2001 Free Software Foundation, Inc. # Yuriy Syrota , 2001. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "POT-Creation-Date: 2003-12-03 18:47+0100\n" "PO-Revision-Date: 2002-02-28 09:27+0200\n" "Last-Translator: Yuriy Syrota \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "Продовжити призупинену гру" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "Ви_йти" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "Завершити гру" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "Вийти з гри" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "Призупинити гру" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "Скинути рівень" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "Відновити початкову ситуацію" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "Шалаштувати" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "Пропустити _рівень" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "Пропустити поточний рівень" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "Розпочати нову гру" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "Відмінити останній хід" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "Показати інформацію про авторів" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "Показати кращі результати" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "Про" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "Продовжити гру" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "Виправити" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "Завершити гру" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_Гра" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "_Довідка" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "_Нова гра" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "Призупинити гру" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "Налаштування..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "Рахунки..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "Відмінити хід" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "Не вдалось знайти послідовний опис рівня." #: src/level-manager.c:185 msgid "No level found." msgstr "Рівня не знайдено." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Знайдено рівень \"%s\" у %s" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Атомікс" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Авторське право © Дженс Фінк, 1999-2002" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "Гра про атоми і молекули." #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "Вітаю! Ви пройшли всі рівні Atomix." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "Не вдалось знайти жодного рівня." #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "Чи хочете ви завершити гру?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "Не вдалось створити каталог: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "Статистика" #: src/main.c:707 msgid "Level:" msgstr "Рівень:" #: src/main.c:708 msgid "Molecule:" msgstr "Молекула:" #: src/main.c:709 msgid "Score:" msgstr "Рахунок:" #: src/main.c:710 msgid "Time:" msgstr "Час:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "Не вдалось знайти файл: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "Не знайдено тем." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "Знайдено тему \"%s\" у %s" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "Молекулярна гра" #~ msgid "Atomix Splash" #~ msgstr "Заставка" #~ msgid "Game Paused" #~ msgstr "Гру призупинено" #~ msgid "Game Over" #~ msgstr "Гру завершено" #~ msgid "Atomix - Molecule Mind Game" #~ msgstr "Atomix - молекулярна гра" atomix-3.19.4/po/vi.po000066400000000000000000000133411264725221400145140ustar00rootroot00000000000000# Vietnamese translation of Atomix. # Copyright © 2005 Free Software Foundation, Inc. # Nguyễn Thái Ngọc Duy , 2002. # Clytie Siddall , 2005. # msgid "" "" msgstr "Project-Id-Version: atomix HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-07 05:18+0100\n" "PO-Revision-Date: 2006-01-07 22:16+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: LocFactoryEditor 1.5.1b\n" #:../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "Axit axetic" #:../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "Axetôn" #:../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "Butanola" #:../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "Xiclôbutan" #:../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "Ête metyla đôi" #:../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "Etanan" #:../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "Etan" #:../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "Etanola" #:../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "Etylen" #:../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "Glyxerin" #:../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "Acit lactic" #:../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "Metanan" #:../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "Metan" #:../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "Metanola" #:../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "Prôpanan" #:../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "Prôpylen" #:../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "Pyran" #:../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "Butylen qua" #:../level/water.atomix.xml.h:1 msgid "Water" msgstr "Nước" #:../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "Tiếp tục chơi" #:../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "Kết thúc trò chơi" #:../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "Tạm dừng trò chơi" #:../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "Đặt lại cấp độ" #:../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "Phục hồi vị trí ban đầu" #:../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "Thiết lập thông số" #:../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "Bỏ qua _cấp độ" #:../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "Bỏ qua cấp độ này" #:../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "Bắt đầu chơi" #:../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "Hoàn lại lần đi cuối" #:../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "Xem điểm cao" #:../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "_Tiếp tục chơi" #:../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "_Kết thúc trò chơi" #:../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "_Trò chơi" #.submenu name="Edit" _label="_Edit"> #. #. #. #." #:../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #:../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "Xin chúc mừng! Bạn đã hoàn tất mọi cấp độ của Atomix." #:../src/main.c:509 msgid "Couldn't find at least one level." msgstr "Không thể tìm thấy cấp độ nào cả." #:../src/main.c:514 msgid "Do you want to finish the game?" msgstr "Bạn có muốn hoàn tất trò chơi không?" #.create statistics frame #:../src/main.c:728 msgid "Statistics" msgstr "Thống kê" #:../src/main.c:734 msgid "Level:" msgstr "Cấp độ:" #:../src/main.c:735 msgid "Molecule:" msgstr "Phân tử:" #:../src/main.c:736 msgid "Formula:" msgstr "Công thức:" #:../src/main.c:737 msgid "Score:" msgstr "Điểm:" #:../src/main.c:738 msgid "Time:" msgstr "Thời gian:" #:../src/main.c:778 #,c-format msgid "Couldn't find file: %s" msgstr "Không thể tìm tập tin: %s" #:../src/theme-manager.c:135 msgid "No themes found." msgstr "Không tìm thấy sắc thái." #:../src/theme-manager.c:193 #,c-format msgid "Found theme '%s' in: %s" msgstr "Tìm thấy sắc thái « %s » trong: %s" #:../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "Trò chơi trí tuệ về phân tử" atomix-3.19.4/po/wa.po000066400000000000000000000111251264725221400145030ustar00rootroot00000000000000# Translation into the walloon language. # # Si vos voloz donner on côp di spale pol ratournaedje di Gnome (ou des # ôtes libes programes) sicrijhoz mu a l' adresse emile # ; nos avans co bråmint di l' ovraedje a fé. # # Copyright (C) 2002 Free Software Foundation, Inc. # Pablo Saratxaga 2002 # Lorint Hendschel , 2002. # Pablo Saratxaga , 2004. # msgid "" msgstr "" "Project-Id-Version: atomix 0.9.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-03-30 19:00+0200\n" "PO-Revision-Date: 2004-03-30 23:00+0200\n" "Last-Translator: Pablo Saratxaga \n" "Language-Team: Walloon \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/atomix-ui.xml.in.h:1 msgid "Continue paused game" msgstr "Continouwer li djeu k' a stî djoké?" #: src/atomix-ui.xml.in.h:2 msgid "E_xit" msgstr "Moussî _foû" #: src/atomix-ui.xml.in.h:3 msgid "End a game" msgstr "Fini on djeu" #: src/atomix-ui.xml.in.h:4 msgid "Exit game" msgstr "Moussî foû do djeu" #: src/atomix-ui.xml.in.h:5 msgid "Pause the running game" msgstr "Djoker li djeu do moumint" #: src/atomix-ui.xml.in.h:6 msgid "Reset level" msgstr "Renonder l' livea" #: src/atomix-ui.xml.in.h:7 msgid "Restores start situation" msgstr "Rimete li situwåcion come divant" #: src/atomix-ui.xml.in.h:8 msgid "Set preferences" msgstr "Defini les preferinces" #: src/atomix-ui.xml.in.h:9 msgid "Skip _level" msgstr "Passer houte do _livea" #: src/atomix-ui.xml.in.h:10 msgid "Skip the current level" msgstr "Passer houte do livea do moumint" #: src/atomix-ui.xml.in.h:11 msgid "Start a new game" msgstr "Comincî on novea djeu" #: src/atomix-ui.xml.in.h:12 msgid "Undo the last move" msgstr "Rivni en erî, come vos n' årîz nén djouwé" #: src/atomix-ui.xml.in.h:13 msgid "View game credits" msgstr "Vey li fitchî d' gråces" #: src/atomix-ui.xml.in.h:14 msgid "View highscores" msgstr "Vey les meyeus rzultats" #: src/atomix-ui.xml.in.h:15 msgid "_About" msgstr "Å _dfait" #: src/atomix-ui.xml.in.h:16 msgid "_Continue game" msgstr "_Continouwer l' djeu" #: src/atomix-ui.xml.in.h:17 msgid "_Edit" msgstr "_Candjî" #: src/atomix-ui.xml.in.h:18 msgid "_End Game" msgstr "_Fini l' djeu" #: src/atomix-ui.xml.in.h:19 msgid "_Game" msgstr "_Djeu" #: src/atomix-ui.xml.in.h:20 msgid "_Help" msgstr "_Aidance" #: src/atomix-ui.xml.in.h:21 msgid "_New Game" msgstr "_Novea Djeu" #: src/atomix-ui.xml.in.h:22 msgid "_Pause game" msgstr "_Djoker li djeu" #: src/atomix-ui.xml.in.h:23 msgid "_Preferences ..." msgstr "_Preferinces..." #: src/atomix-ui.xml.in.h:24 msgid "_Scores ..." msgstr "_Meyeus..." #: src/atomix-ui.xml.in.h:25 msgid "_Undo move" msgstr "Ri_vni en erî" #: src/level-manager.c:171 msgid "Couldn't find level sequence description." msgstr "Dji n' a savou trover li discrijhaedje del secwénce do livea." #: src/level-manager.c:185 msgid "No level found." msgstr "Nou livea di trové." #: src/level-manager.c:286 #, c-format msgid "Found level '%s' in: %s" msgstr "Dj' a trové l' livea «%s» e: %s" #: src/main.c:118 src/main.c:444 atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: src/main.c:145 msgid "Copyright (C) 1999-2002 Jens Finke" msgstr "Copyright © 1999-2002 Jens Finke" #: src/main.c:146 msgid "A mind game about atoms and molecules." msgstr "On djeu di tuzaedje so les atomes eyet les molecules." #: src/main.c:456 msgid "Congratulations! You have finished all Atomix levels." msgstr "Complumints! Vos avoz fini tos les liveas d' Atomix." #: src/main.c:467 msgid "Couldn't find at least one level." msgstr "Dji n' a savou trover di liveas, nén onk." #: src/main.c:472 msgid "Do you want to finish the game?" msgstr "Voloz vs fini l' djeu?" #: src/main.c:591 src/main.c:597 src/main.c:602 #, c-format msgid "Couldn't create directory: %s" msgstr "Dji n' a savou askepyî li ridant: %s" #. create statistics frame #: src/main.c:701 msgid "Statistics" msgstr "Sitatistikes" #: src/main.c:707 msgid "Level:" msgstr "Livea:" #: src/main.c:708 msgid "Molecule:" msgstr "Molecule:" #: src/main.c:709 msgid "Score:" msgstr "Ponts:" #: src/main.c:710 msgid "Time:" msgstr "Tins:" #: src/main.c:750 #, c-format msgid "Couldn't find file: %s" msgstr "Dji n' a savou trover l' fitchî: %s" #: src/theme-manager.c:141 msgid "No themes found." msgstr "Nou tinme di trové." #: src/theme-manager.c:205 #, c-format msgid "Found theme '%s' in: %s" msgstr "Tinme «%s» trové e: %s" #: atomix.desktop.in.h:2 msgid "Molecule mind game" msgstr "Djeu di tuzaedje di molecules" atomix-3.19.4/po/zh_CN.po000066400000000000000000000136461264725221400151070ustar00rootroot00000000000000# Simplified Chinese translation for atomix. # Copyright (C) 2001 Free Software Foundation, Inc. # Wang Li , 2002 # Derived from translation from Abel Cheung , 2001. # msgid "" msgstr "" "Project-Id-Version: atomix\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=atomix&component=general\n" "POT-Creation-Date: 2010-03-10 17:23+0000\n" "PO-Revision-Date: 2010-07-22 23:48+0800\n" "Last-Translator: Wang Li \n" "Language-Team: zh_CN \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "醋酸" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "丙酮" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "丁醇" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "环丁烷" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "二甲醚" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "乙醛" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "乙烷" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "乙醇" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "乙烯" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "甘油" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "乳酸" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "甲醛" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "甲烷" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "甲醇" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "醛" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "丙烯" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "吡喃" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "水" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "继续暂停的游戏" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "终止游戏" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "暂停进行中的游戏" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "重置本级别" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "回到起始位置" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "设定首选项" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "跳级(_L)" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "跳过当前级别" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "开始新游戏" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "撤消最后一着" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "查看积分排行榜" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "继续游戏(_C)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "终止游戏(_E)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "游戏(_G)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2002.\n" "Abel Cheung , 2001.\n" "YunQiang Su , 2010." #: ../src/main.c:492 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:503 msgid "Congratulations! You have finished all Atomix levels." msgstr "恭喜!你已完成所有 Atomix 级别。" #: ../src/main.c:513 msgid "Couldn't find at least one level." msgstr "一个级别也找不到。" #: ../src/main.c:518 msgid "Do you want to finish the game?" msgstr "是否要完成游戏?" #. create statistics frame #: ../src/main.c:732 msgid "Statistics" msgstr "统计" #: ../src/main.c:738 msgid "Level:" msgstr "级别:" #: ../src/main.c:739 msgid "Molecule:" msgstr "分子:" #: ../src/main.c:740 msgid "Formula:" msgstr "公式:" #: ../src/main.c:741 msgid "Score:" msgstr "得分:" #: ../src/main.c:742 msgid "Time:" msgstr "时间:" #: ../src/main.c:782 #, c-format msgid "Couldn't find file: %s" msgstr "无法找到文件:%s" #: ../src/theme-manager.c:136 msgid "No themes found." msgstr "无法找到场景。" #: ../src/theme-manager.c:194 #, c-format msgid "Found theme '%s' in: %s" msgstr "在 %2$s 中找到场景“%1$s”" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "分子智力游戏" #~ msgid "E_xit" #~ msgstr "退出(_X)" #~ msgid "Exit game" #~ msgstr "退出游戏" #~ msgid "View game credits" #~ msgstr "查看游戏所有者" #~ msgid "_About" #~ msgstr "关于(_A)" #~ msgid "_Edit" #~ msgstr "编辑(_E)" #~ msgid "Copyright (C) 1999-2002 Jens Finke" #~ msgstr "版权所有 (C) 1999-2002 Jens Finke" #~ msgid "Couldn't create directory: %s" #~ msgstr "无法建立目录:%s" atomix-3.19.4/po/zh_HK.po000066400000000000000000000132471264725221400151060ustar00rootroot00000000000000# Chinese (Hong Kong) translation for atomix. # Copyright (C) 2006 Free Software Foundation, Inc. # Abel Cheung , 2001-02, 05-06. # msgid "" msgstr "" "Project-Id-Version: atomix 2.13.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-09 18:27+0800\n" "PO-Revision-Date: 2006-01-11 05:56+0800\n" "Last-Translator: Abel Cheung \n" "Language-Team: Chinese (Hong Kong) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "醋酸" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "丙酮" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "丁醇" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "環丁烷" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "二甲醚" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "乙醛" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "乙烷" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "酒精(乙醇)" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "乙烯" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "甘油(丙三醇)" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "乳酸" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "甲醛" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "甲烷" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "甲醇" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "丙醛" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "丙烯" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "吡喃" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "β-丁烯" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "水" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "繼續已暫停的遊戲" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "終止遊戲" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "暫停此遊戲" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "重新開始這一關" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "重設版圖" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "設定偏好" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "跳過版圖(_L)" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "跳過這一關" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "開始新遊戲" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "還原上一步" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "檢視積分排行榜" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "繼續遊戲(_C)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "終止遊戲(_E)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "遊戲(_G)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2001-02, 05-06" #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "恭喜!已經完成所有 Atomix 版圖了。" #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "找不到任何版圖。" #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "是否要完成遊戲?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "統計" #: ../src/main.c:734 msgid "Level:" msgstr "版圖:" #: ../src/main.c:735 msgid "Molecule:" msgstr "分子:" # (Abel) 這裡是 empirical formula(經驗式)的簡稱,但少人明白; # 況且這只是遊戲,採用一般人較易明白的詞彙會比較適當 #: ../src/main.c:736 msgid "Formula:" msgstr "分子式:" #: ../src/main.c:737 msgid "Score:" msgstr "分數:" #: ../src/main.c:738 msgid "Time:" msgstr "時間:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "找不到檔案:%s。" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "找不到佈景主題。" #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "已找到佈景主題「%s」,位置在:%s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "分子組合智力遊戲" atomix-3.19.4/po/zh_TW.po000066400000000000000000000132631264725221400151340ustar00rootroot00000000000000# Chinese (Taiwan) translation for atomix. # Copyright (C) 2001, 02, 05, 06 Free Software Foundation, Inc. # Abel Cheung , 2001-02, 05-06. # msgid "" msgstr "" "Project-Id-Version: atomix 2.13.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-01-09 18:27+0800\n" "PO-Revision-Date: 2006-01-11 05:55+0800\n" "Last-Translator: Abel Cheung \n" "Language-Team: Chinese (Taiwan) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../level/aceticacid.atomix.xml.h:1 msgid "Acetic Acid" msgstr "醋酸" #: ../level/acetone.atomix.xml.h:1 msgid "Acetone" msgstr "丙酮" #: ../level/butanol.atomix.xml.h:1 msgid "Butanol" msgstr "丁醇" #: ../level/cyclobutane.atomix.xml.h:1 msgid "Cyclobutane" msgstr "環丁烷" #: ../level/dimethylether.atomix.xml.h:1 msgid "Dimethyl Ether" msgstr "二甲醚" #: ../level/ethanal.atomix.xml.h:1 msgid "Ethanal" msgstr "乙醛" #: ../level/ethane.atomix.xml.h:1 msgid "Ethane" msgstr "乙烷" #: ../level/ethanol.atomix.xml.h:1 msgid "Ethanol" msgstr "酒精(乙醇)" #: ../level/ethylene.atomix.xml.h:1 msgid "Ethylene" msgstr "乙烯" #: ../level/glycerin.atomix.xml.h:1 msgid "Glycerin" msgstr "甘油(丙三醇)" #: ../level/lactic-acid.atomix.xml.h:1 msgid "Lactic Acid" msgstr "乳酸" #: ../level/methanal.atomix.xml.h:1 msgid "Methanal" msgstr "甲醛" #: ../level/methane.atomix.xml.h:1 msgid "Methane" msgstr "甲烷" #: ../level/methanol.atomix.xml.h:1 msgid "Methanol" msgstr "甲醇" #: ../level/propanal.atomix.xml.h:1 msgid "Propanal" msgstr "丙醛" #: ../level/propylene.atomix.xml.h:1 msgid "Propylene" msgstr "丙烯" #: ../level/pyran.atomix.xml.h:1 msgid "Pyran" msgstr "吡喃" #: ../level/transbutylen.atomix.xml.h:1 msgid "Trans Butylen" msgstr "β-丁烯" #: ../level/water.atomix.xml.h:1 msgid "Water" msgstr "水" #: ../src/atomix-ui.xml.h:1 msgid "Continue paused game" msgstr "繼續已暫停的遊戲" #: ../src/atomix-ui.xml.h:2 msgid "End a game" msgstr "終止遊戲" #: ../src/atomix-ui.xml.h:3 msgid "Pause the running game" msgstr "暫停此遊戲" #: ../src/atomix-ui.xml.h:4 msgid "Reset level" msgstr "重新開始這一關" #: ../src/atomix-ui.xml.h:5 msgid "Restores start situation" msgstr "重設版圖" #: ../src/atomix-ui.xml.h:6 msgid "Set preferences" msgstr "設定偏好" #: ../src/atomix-ui.xml.h:7 msgid "Skip _level" msgstr "跳過版圖(_L)" #: ../src/atomix-ui.xml.h:8 msgid "Skip the current level" msgstr "跳過這一關" #: ../src/atomix-ui.xml.h:9 msgid "Start a new game" msgstr "開始新遊戲" #: ../src/atomix-ui.xml.h:10 msgid "Undo the last move" msgstr "還原上一步" #: ../src/atomix-ui.xml.h:11 msgid "View highscores" msgstr "檢視積分排行榜" #: ../src/atomix-ui.xml.h:12 msgid "_Continue game" msgstr "繼續遊戲(_C)" #: ../src/atomix-ui.xml.h:13 msgid "_End Game" msgstr "終止遊戲(_E)" #: ../src/atomix-ui.xml.h:14 msgid "_Game" msgstr "遊戲(_G)" #. submenu name="Edit" _label="_Edit"> #. #. #. #. , 2001-02, 05-06" #: ../src/main.c:488 ../atomix.desktop.in.h:1 msgid "Atomix" msgstr "Atomix" #: ../src/main.c:499 msgid "Congratulations! You have finished all Atomix levels." msgstr "恭喜!已經完成所有 Atomix 版圖了。" #: ../src/main.c:509 msgid "Couldn't find at least one level." msgstr "找不到任何版圖。" #: ../src/main.c:514 msgid "Do you want to finish the game?" msgstr "是否要完成遊戲?" #. create statistics frame #: ../src/main.c:728 msgid "Statistics" msgstr "統計" #: ../src/main.c:734 msgid "Level:" msgstr "版圖:" #: ../src/main.c:735 msgid "Molecule:" msgstr "分子:" # (Abel) 這裡是 empirical formula(經驗式)的簡稱,但少人明白; # 況且這只是遊戲,採用一般人較易明白的詞彙會比較適當 #: ../src/main.c:736 msgid "Formula:" msgstr "分子式:" #: ../src/main.c:737 msgid "Score:" msgstr "分數:" #: ../src/main.c:738 msgid "Time:" msgstr "時間:" #: ../src/main.c:778 #, c-format msgid "Couldn't find file: %s" msgstr "找不到檔案:%s。" #: ../src/theme-manager.c:135 msgid "No themes found." msgstr "找不到佈景主題。" #: ../src/theme-manager.c:193 #, c-format msgid "Found theme '%s' in: %s" msgstr "已找到佈景主題「%s」,位置在:%s" #: ../atomix.desktop.in.h:2 msgid "Molecule puzzle game" msgstr "分子組合智力遊戲" atomix-3.19.4/src/000077500000000000000000000000001264725221400137055ustar00rootroot00000000000000atomix-3.19.4/src/Makefile.am000066400000000000000000000022351264725221400157430ustar00rootroot00000000000000## Process this file with automake to produce Makefile.in scoredir = $(localstatedir)/games uidir = $(datadir)/gnome-2.0/ui INCLUDES = -I$(top_srcdir) \ $(ATOMIX_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DDATADIR=\""$(datadir)"\" \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -DSCORESDIR=\""$(scoredir)"\" bin_PROGRAMS = atomix noinst_PROGRAMS = pf-test atomix_SOURCES = \ atomix-application.h \ main.c main.h \ board-gtk.c board-gtk.h \ undo.c undo.h \ goal.c goal.h \ goal-view.c goal-view.h \ clock.c clock.h \ games-show.c games-show.h atomix_DEPENDENCIES = libatomix.a atomix_LDADD = \ libatomix.a \ $(ATOMIX_LIBS) \ -lm noinst_LIBRARIES = libatomix.a libatomix_a_SOURCES = \ tile.c tile.h \ xml-util.c xml-util.h \ theme.c theme.h theme-private.h \ theme-manager.c theme-manager.h \ level.c level.h level-private.h \ level-manager.c level-manager.h \ canvas_helper.c canvas_helper.h \ playfield.c playfield.h pf_test_SOURCES = \ playfield.h playfield.c \ tile.c tile.h \ theme.c theme.h \ xml-util.c xml-util.h \ pf-test.c pf_test_LDADD = \ -L$(top_builddir)/src \ $(ATOMIX_LIBS) EXTRA_DIST = $(ui_DATA) atomix-3.19.4/src/atomix-application.h000066400000000000000000000031421264725221400176600ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * Copyright (C) 2015 Robert Roth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_APPLICATION_H_ #define _ATOMIX_APPLICATION_H_ #include #include "theme-manager.h" #include "level-manager.h" #include "goal.h" #include "atomix-application.h" typedef enum { GAME_STATE_NOT_RUNNING, GAME_STATE_RUNNING_UNMOVED, GAME_STATE_RUNNING, GAME_STATE_PAUSED } GameState; typedef struct { GtkWidget *mainwin; GApplication *app_instance; GtkWidget *fi_matrix; GtkWidget *fi_goal; GtkWidget *lb_level; GtkWidget *lb_name; GtkWidget *lb_formula; GtkWidget *lb_score; GtkWidget *clock; LevelManager *lm; ThemeManager *tm; Theme *theme; GameState state; Level *level; Goal *goal; gint level_no; guint score; } AtomixApp; #endif /* _ATOMIX_APPLICATION_H_ */ atomix-3.19.4/src/board-gtk.c000066400000000000000000000660351264725221400157350ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "board-gtk.h" #include "main.h" #define ANIM_TIMEOUT 8 /* time in milliseconds between two atom movements */ typedef struct { gint timeout_id; gint counter; gint dest_row; gint dest_col; double x_step; double y_step; } AnimData; typedef struct { guint row; guint col; gboolean selected; gint arrow_show_timeout; gint mouse_steering; GtkWidget *sel_item; GtkWidget *selector; GSList *arrows; GtkWidget *arrow_left; GtkWidget *arrow_right; GtkWidget *arrow_top; GtkWidget *arrow_bottom; } SelectorData; typedef struct { GSList *moveables; GtkWidget *logo; } LevelItems; typedef enum { UP, DOWN, LEFT, RIGHT } ItemDirection; // FIXME get rid of static variables /* Static declarations, to be removed */ extern AtomixApp *app; static GtkFixed *board_canvas = NULL; static Theme *board_theme = NULL; static PlayField *board_env = NULL; /* the actual playfield */ static PlayField *board_sce = NULL; /* the actual playfield */ static PlayField *board_shadow = NULL; /* the shadow positions */ static AnimData *anim_data; /* holds the date for the atom animation */ static LevelItems *level_items; static GSList *board_canvas_items = NULL; /* a list of all used */ static Goal *board_goal = NULL; /* the goal of this level */ static SelectorData *selector_data; /* data about the selector */ /* Forward declarations of internal functions */ void board_gtk_render (void); static void render_tile (Tile *tile, gint row, gint col); GtkWidget* create_tile (double x, double y, Tile *tile); void move_item (GtkWidget *item, ItemDirection direc); int move_item_anim (void *data); static GtkWidget *get_item_by_row_col (gint row, gint col); static void selector_move_to (SelectorData *data, guint row, guint col); static void selector_unselect (SelectorData *data); static void selector_select (SelectorData *data, GtkWidget *item); static SelectorData *selector_create (void); static void selector_hide (SelectorData *data); static void selector_show (SelectorData *data); static void selector_arrows_hide (SelectorData *data); /* Function implementations */ static GtkWidget *get_item_by_row_col (gint row, gint col) { gint width, height; gint item_point_x, item_point_y; guint item_row, item_col; GSList *list_item = level_items->moveables; theme_get_tile_size (board_theme, &width, &height); while (list_item != NULL) { gtk_container_child_get (GTK_CONTAINER (board_canvas), list_item->data, "x", &item_point_x, "y", &item_point_y, NULL); convert_to_playfield (board_theme, board_env, item_point_x, item_point_y, &item_row, &item_col); if (item_col == col && item_row == row) return GTK_WIDGET (list_item->data); list_item = g_slist_next (list_item); } return NULL; } static void get_row_col_by_item (GtkWidget *item, guint *row, guint *col) { gint x, y; g_return_if_fail (GTK_IS_WIDGET (item)); gtk_container_child_get (GTK_CONTAINER (board_canvas), item, "x", &x, "y", &y, NULL); convert_to_playfield (board_theme, board_env, x, y, row, col); } void move_item (GtkWidget *item, ItemDirection direc) { gint x1, y1; gint new_x1, new_y1; guint src_row, src_col, dest_row, dest_col, tmp_row, tmp_col; gint animstep; Tile *tile; gint tw, th; gtk_container_child_get (GTK_CONTAINER (board_canvas), item, "x", &x1, "y", &y1, NULL); theme_get_tile_size (board_theme, &tw, &th); convert_to_playfield (board_theme, board_env, x1, y1, &src_row, &src_col); /* find destination row/col */ tmp_row = dest_row = src_row; tmp_col = dest_col = src_col; while (TRUE) { switch (direc) { case UP: tmp_row = tmp_row - 1; break; case DOWN: tmp_row = tmp_row + 1; break; case LEFT: tmp_col = tmp_col - 1; break; case RIGHT: tmp_col = tmp_col + 1; break; } if (tmp_row < 0 || tmp_row >= playfield_get_n_rows (board_sce) || tmp_col < 0 || tmp_col >= playfield_get_n_cols (board_sce)) break; tile = playfield_get_tile (board_sce, tmp_row, tmp_col); if (tile && (tile_get_tile_type (tile) == TILE_TYPE_ATOM || tile_get_tile_type (tile) == TILE_TYPE_WALL)) { g_object_unref (tile); break; } dest_row = tmp_row; dest_col = tmp_col; if (tile) g_object_unref (tile); } /* move the item, if the new position is different */ if (src_row != dest_row || src_col != dest_col) { if (!undo_exists()) { app->state = GAME_STATE_RUNNING; update_menu_item_state (); } undo_push_move (item, src_row, src_col, dest_row, dest_col); convert_to_canvas (board_theme, board_env, dest_row, dest_col, &new_x1, &new_y1); playfield_swap_tiles (board_sce, src_row, src_col, dest_row, dest_col); selector_hide (selector_data); animstep = theme_get_animstep (board_theme); if (direc == UP || direc == DOWN) { anim_data->counter = (gint) (fabs (new_y1 - y1) / animstep); anim_data->x_step = 0; anim_data->y_step = (direc == DOWN) ? animstep : -animstep; } else { anim_data->counter = (gint) (fabs (new_x1 - x1) / animstep); anim_data->x_step = (direc == RIGHT) ? animstep : -animstep; anim_data->y_step = 0; } anim_data->dest_row = dest_row; anim_data->dest_col = dest_col; anim_data->timeout_id = g_timeout_add (ANIM_TIMEOUT, move_item_anim, anim_data); } } int move_item_anim (void *data) { AnimData *anim_data = (AnimData *) data; gint x, y; if (anim_data->counter > 0) { gtk_container_child_get (GTK_CONTAINER (board_canvas), selector_data->sel_item, "x", &x, "y", &y, NULL); gtk_fixed_move (GTK_FIXED (board_canvas), selector_data->sel_item, x + anim_data->x_step, y + anim_data->y_step); anim_data->counter--; return TRUE; } // else anim_data->timeout_id = -1; selector_move_to (selector_data, anim_data->dest_row, anim_data->dest_col); if (goal_reached (board_goal, board_sce, anim_data->dest_row, anim_data->dest_col)){ game_level_finished (); } else if (selector_data->selected) selector_select (selector_data, selector_data->sel_item); return FALSE; } static gboolean board_handle_arrow_event (GtkWidget *item, GdkEventButton *event, gpointer direction) { /* is currently an object moved? */ if (anim_data->timeout_id != -1) return FALSE; if (event->type == GDK_BUTTON_PRESS && selector_data->selected) { selector_data->mouse_steering = TRUE; move_item (selector_data->sel_item, GPOINTER_TO_INT (direction)); return TRUE; } return FALSE; } static GtkWidget* create_arrow (SelectorData *data, GdkPixbuf *pixbuf, ItemDirection direction) { GtkWidget *image; GtkWidget *arrow = gtk_event_box_new (); image = gtk_image_new_from_pixbuf (pixbuf); gtk_widget_show (image); gtk_container_add (GTK_CONTAINER (arrow), image); gtk_widget_set_events (arrow, GDK_BUTTON_PRESS_MASK); g_signal_connect (G_OBJECT (arrow), "button-press-event", G_CALLBACK (board_handle_arrow_event), GINT_TO_POINTER (direction)); data->arrows = g_slist_prepend (data->arrows, arrow); gtk_fixed_put (GTK_FIXED (board_canvas), arrow, 0, 0); g_object_unref (pixbuf); return arrow; } static SelectorData *selector_create (void) { SelectorData *data; GdkPixbuf *pixbuf; GdkPixbuf *sel_arrows[4]; gint tile_width, tile_height; data = g_new0 (SelectorData, 1); pixbuf = theme_get_selector_image (board_theme); theme_get_selector_arrow_images (board_theme, &sel_arrows[0]); theme_get_tile_size (board_theme, &tile_width, &tile_height); g_return_val_if_fail (pixbuf != NULL, NULL); data->row = 0; data->col = 0; data->sel_item = NULL; data->selected = FALSE; data->arrow_show_timeout = -1; data->mouse_steering = FALSE; data->selector = gtk_image_new_from_pixbuf (pixbuf); gtk_fixed_put (GTK_FIXED (board_canvas), data->selector, 0, 0); g_object_unref (pixbuf); data->arrow_top = create_arrow (data, sel_arrows[0], UP); data->arrow_right = create_arrow (data, sel_arrows[1], RIGHT); data->arrow_bottom = create_arrow (data, sel_arrows[2], DOWN); data->arrow_left = create_arrow (data, sel_arrows[3], LEFT); return data; } static void create_logo (void) { GdkPixbuf *pixbuf; int tile_width, tile_height; GtkWidget *logo_image; GtkWidget *tips_label; GtkCssProvider *provider; GtkStyleContext *context; theme_get_tile_size (board_theme, &tile_width, &tile_height); pixbuf = gdk_pixbuf_new_from_file (DATADIR "/atomix/atomix-logo.png", NULL); level_items->logo = gtk_box_new (GTK_ORIENTATION_VERTICAL, 15); context = gtk_widget_get_style_context (level_items->logo); provider = gtk_css_provider_new (); gtk_css_provider_load_from_data (provider, "* { background-color: rgba(230, 230, 230, 0.6); }", -1, NULL); gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); logo_image = gtk_image_new_from_pixbuf (pixbuf); gtk_widget_set_valign (logo_image, GTK_ALIGN_END); gtk_box_pack_start (GTK_BOX (level_items->logo), logo_image, TRUE, TRUE, 12); tips_label = gtk_label_new (_("Guide the atoms through the maze to form molecules.\n" "Click, or use the arrow keys and Enter, to select an atom and move it.\n" "Be careful, though: an atom keeps moving until it hits a wall.\n")); gtk_box_pack_start (GTK_BOX (level_items->logo), tips_label, TRUE, TRUE, 12); gtk_widget_set_valign (tips_label, GTK_ALIGN_START); gtk_widget_show_all (level_items->logo); gtk_fixed_put (GTK_FIXED (board_canvas), level_items->logo, 0, 0); gtk_widget_set_size_request (level_items->logo, BGR_FLOOR_COLS * tile_width, BGR_FLOOR_ROWS * tile_height); gtk_widget_set_size_request (GTK_WIDGET (tips_label), BGR_FLOOR_COLS * tile_width, -1); gtk_label_set_justify (GTK_LABEL (tips_label), GTK_JUSTIFY_CENTER); gtk_label_set_line_wrap (GTK_LABEL (tips_label), TRUE); g_object_unref (pixbuf); } static void create_background_floor (void) { int row, col; Tile *tile; GQuark quark; int tile_width, tile_height; double x, y; GdkPixbuf *pixbuf = NULL; GtkWidget *item; int ca_width, ca_height; int width, height; GtkAllocation allocation; quark = g_quark_from_static_string ("floor"); theme_get_tile_size (board_theme, &tile_width, &tile_height); tile = tile_new (TILE_TYPE_FLOOR); tile_set_base_id (tile, quark); pixbuf = theme_get_tile_image (board_theme, tile); g_object_unref (tile); for (row = 0; row < BGR_FLOOR_ROWS; row++) for (col = 0; col < BGR_FLOOR_COLS; col++) { x = col * tile_width; y = row * tile_height; item = gtk_image_new_from_pixbuf (pixbuf); gtk_fixed_put (GTK_FIXED (board_canvas), item, x, y); } g_object_unref (pixbuf); /* center the whole thing */ gtk_widget_get_allocation (GTK_WIDGET (board_canvas), &allocation); ca_width = allocation.width; ca_height = allocation.height; width = tile_width * BGR_FLOOR_COLS; height = tile_height * BGR_FLOOR_ROWS; if (width > ca_width) { x = (width / 2) - (ca_width / 2); width = ca_width; } else x = 0; if (height > ca_height) { y = (height / 2) - (ca_height / 2); height = ca_height; } else y = 0; } void board_gtk_init (Theme * theme, gpointer canvas) { board_theme = theme; board_canvas = canvas; g_object_ref (theme); board_theme = theme; board_env = NULL; board_sce = NULL; board_goal = NULL; /* Animation Data Setup */ anim_data = g_new0 (AnimData, 1); anim_data->timeout_id = -1; anim_data->counter = 0; anim_data->dest_row = 0; anim_data->dest_col = 0; anim_data->x_step = 0.0; anim_data->y_step = 0.0; undo_clear (); level_items = g_new0 (LevelItems, 1); create_background_floor (); create_logo (); gdk_window_set_background_rgba (GDK_WINDOW (gtk_widget_get_window ( GTK_WIDGET (gtk_widget_get_parent (canvas)))), theme_get_background_color (theme)); gtk_widget_show_all (GTK_WIDGET(board_canvas)); selector_data = selector_create (); } void board_gtk_render () { gint row, col; Tile *tile; g_return_if_fail (board_theme != NULL); /* render one row more than the actual environment because of the shadow, which is one row/col larger */ for (row = 0; row <= playfield_get_n_rows (board_env); row++) { for (col = 0; col <= playfield_get_n_cols (board_env); col++) { if (row < playfield_get_n_rows (board_env) && col < playfield_get_n_cols (board_env)) { tile = playfield_get_tile (board_sce, row, col); if (tile != NULL) { render_tile (tile, row, col); g_object_unref (tile); } tile = playfield_get_tile (board_env, row, col); if (tile != NULL) { render_tile (tile, row, col); if (tile_get_tile_type (tile) == TILE_TYPE_WALL) playfield_set_tile (board_sce, row, col, tile); g_object_unref (tile); } } tile = playfield_get_tile (board_shadow, row, col); if (tile != NULL) { render_tile (tile, row, col); g_object_unref (tile); } } } } static void render_tile (Tile *tile, gint row, gint col) { gboolean create = FALSE; TileType type; gint x, y; type = tile_get_tile_type (tile); switch (type) { case TILE_TYPE_ATOM: create = TRUE; break; case TILE_TYPE_WALL: create = TRUE; break; case TILE_TYPE_SHADOW: create = TRUE; break; case TILE_TYPE_UNKNOWN: case TILE_TYPE_FLOOR: default: break; } if (create) { convert_to_canvas (board_theme, board_env, row, col, &x, &y); create_tile (x, y, tile); } } static void show_sensitive (GtkWidget *widget) { gtk_widget_set_visible (widget, gtk_widget_is_sensitive (widget)); } static gboolean show_arrow_group (SelectorData *data) { g_slist_foreach (data->arrows, (GFunc)show_sensitive, NULL); data->arrow_show_timeout = -1; return FALSE; } static gboolean board_handle_item_event (GtkWidget *item, GdkEventButton *event, gpointer data) { gboolean just_unselect; guint new_row, new_col; /* is currently an object moved? */ if (anim_data->timeout_id != -1) return FALSE; if (event->type == GDK_BUTTON_PRESS) { selector_data->mouse_steering = TRUE; just_unselect = (item == selector_data->sel_item); if (selector_data->selected) /* unselect item, show selector image */ selector_unselect (selector_data); if (!just_unselect) { get_row_col_by_item (item, &new_row, &new_col); selector_move_to (selector_data, new_row, new_col); selector_select (selector_data, item); } return FALSE; } return FALSE; } GtkWidget* create_tile (double x, double y, Tile *tile) { GdkPixbuf *pixbuf = NULL; GtkWidget *item = NULL; GtkWidget *event_box = NULL; pixbuf = theme_get_tile_image (board_theme, tile); item = gtk_image_new_from_pixbuf (pixbuf); if (tile_get_tile_type (tile) == TILE_TYPE_ATOM) { event_box = gtk_event_box_new (); gtk_container_add (GTK_CONTAINER (event_box), item); gtk_widget_show (item); gtk_widget_set_events (event_box, GDK_BUTTON_PRESS_MASK); item = event_box; g_signal_connect (G_OBJECT (item), "button-press-event", G_CALLBACK (board_handle_item_event), NULL); level_items->moveables = g_slist_prepend (level_items->moveables, item); } gtk_widget_show (item); gtk_fixed_put (GTK_FIXED (board_canvas), item, x, y); g_object_set_data (G_OBJECT (item), "tile", tile); board_canvas_items = g_slist_prepend (board_canvas_items, item); return item; } void board_gtk_init_level (PlayField * base_env, PlayField * sce, Goal * goal) { gint row, col; /* init item anim structure */ anim_data->timeout_id = -1; anim_data->counter = 0; anim_data->dest_row = 0; anim_data->dest_col = 0; anim_data->x_step = 0.0; anim_data->y_step = 0.0; /* reset undo of moves */ undo_clear (); board_gtk_clear (); /* init board */ board_env = playfield_generate_environment (base_env, board_theme); board_sce = playfield_copy (sce); board_shadow = playfield_generate_shadow (base_env); /* init goal */ board_goal = g_object_ref (goal); /* init selector */ row = playfield_get_n_rows (board_env) / 2; col = playfield_get_n_cols (board_env) / 2; selector_move_to (selector_data, row, col); selector_unselect (selector_data); selector_show (selector_data); selector_arrows_hide (selector_data); /* render level */ board_gtk_render (); board_gtk_show (); } void board_gtk_destroy (void) { if (board_env) g_object_unref (board_env); if (board_sce) g_object_unref (board_sce); if (anim_data) g_free (anim_data); if (level_items) g_free (level_items); undo_clear (); if (selector_data) { g_slist_free_full (selector_data->arrows, (GDestroyNotify)gtk_widget_destroy); g_free (selector_data); } if (board_theme) g_object_unref (board_theme); if (board_goal) g_object_unref (board_goal); } void board_gtk_clear (void) { g_slist_foreach (board_canvas_items, (GFunc) gtk_widget_destroy, NULL); g_slist_free (board_canvas_items); board_canvas_items = NULL; g_slist_free (level_items->moveables); level_items->moveables = NULL; /* clear board */ if (board_env) { g_object_unref (board_env); board_env = NULL; } if (board_sce) { g_object_unref (board_sce); board_sce = NULL; } if (board_goal) { g_object_unref (board_goal); board_goal = NULL; } if (board_shadow) { g_object_unref (board_shadow); board_shadow = NULL; } selector_hide (selector_data); } void board_gtk_print (void) { g_print ("Board:\n"); playfield_print (board_env); } void board_gtk_hide (void) { g_slist_foreach (level_items->moveables, (GFunc)gtk_widget_hide, NULL); g_slist_foreach (selector_data->arrows, (GFunc)gtk_widget_hide, NULL); } void board_gtk_show (void) { g_slist_foreach (level_items->moveables, (GFunc)gtk_widget_show, NULL); if (undo_exists ()) g_slist_foreach (selector_data->arrows, (GFunc)gtk_widget_show, NULL); } gboolean board_gtk_undo_move (void) { UndoMove *move; gint x_src, y_src, x_dest, y_dest; gint animstep; g_return_val_if_fail (board_theme != NULL, FALSE); if (anim_data->timeout_id != -1) return FALSE; move = undo_pop_move (); if (move == NULL) return FALSE; playfield_swap_tiles (board_sce, move->src_row, move->src_col, move->dest_row, move->dest_col); if (selector_data->selected) { selector_hide (selector_data); selector_move_to (selector_data, move->src_row, move->src_col); } convert_to_canvas (board_theme, board_env, move->src_row, move->src_col, &x_src, &y_src); convert_to_canvas (board_theme, board_env, move->dest_row, move->dest_col, &x_dest, &y_dest); animstep = theme_get_animstep (board_theme); if (move->src_col == move->dest_col) { anim_data->counter = (gint) (fabs (y_dest - y_src) / animstep); anim_data->x_step = 0; anim_data->y_step = animstep; if (move->src_row < move->dest_row) anim_data->y_step = -(anim_data->y_step); } else { anim_data->counter = (gint) (fabs (x_dest - x_src) / animstep); anim_data->x_step = animstep; anim_data->y_step = 0; if (move->src_col < move->dest_col) anim_data->x_step = -(anim_data->x_step); } anim_data->dest_row = move->src_row; anim_data->dest_col = move->src_col; selector_data->sel_item = move->item; anim_data->timeout_id = g_timeout_add (ANIM_TIMEOUT, move_item_anim, anim_data); g_free (move); return TRUE; } void board_gtk_show_logo (gboolean visible) { if (visible) gtk_widget_show (level_items->logo); else gtk_widget_hide (level_items->logo); } gboolean board_gtk_handle_key_event (GObject * canvas, GdkEventKey * event, gpointer data) { GtkWidget *item; gint new_row, new_col; Tile *tile; g_return_val_if_fail (selector_data != NULL, FALSE); new_row = selector_data->row; new_col = selector_data->col; /* is currently an object moved? */ if (anim_data->timeout_id != -1) return FALSE; switch (event->keyval) { case GDK_KEY_space: case GDK_KEY_Return: selector_data->mouse_steering = FALSE; if (selector_data->selected) /* unselect item, show selector image */ selector_unselect (selector_data); else { item = get_item_by_row_col (selector_data->row, selector_data->col); if (item == NULL) break; if (g_object_get_data (G_OBJECT (item), "tile") == NULL) break; tile = TILE (g_object_get_data (G_OBJECT (item), "tile")); if (tile_get_tile_type (tile) == TILE_TYPE_ATOM) selector_select (selector_data, item); } break; case GDK_KEY_Escape: if (selector_data->selected) /* unselect item, show selector image */ selector_unselect (selector_data); break; case GDK_KEY_Left: selector_data->mouse_steering = FALSE; if (!selector_data->selected) { new_col--; if (new_col >= 0) { selector_show (selector_data); selector_move_to (selector_data, new_row, new_col); } } else move_item (selector_data->sel_item, LEFT); /* selector will be moved in this function */ break; case GDK_KEY_Right: selector_data->mouse_steering = FALSE; if (!selector_data->selected) { new_col++; if (new_col < playfield_get_n_cols (board_env)) { selector_show (selector_data); selector_move_to (selector_data, new_row, new_col); } } else move_item (selector_data->sel_item, RIGHT); /* selector will be moved in this function */ break; case GDK_KEY_Up: selector_data->mouse_steering = FALSE; if (!selector_data->selected) { new_row--; if (new_row >= 0) { selector_show (selector_data); selector_move_to (selector_data, new_row, new_col); } } else move_item (selector_data->sel_item, UP); /* selector will be moved in this function */ break; case GDK_KEY_Down: selector_data->mouse_steering = FALSE; if (!selector_data->selected) { new_row++; if (new_row < playfield_get_n_rows (board_env)) { selector_show (selector_data); selector_move_to (selector_data, new_row, new_col); } } else move_item (selector_data->sel_item, DOWN); /* selector will be moved in this function */ break; default: break; } return FALSE; } static void selector_move_to (SelectorData *data, guint row, guint col) { int tile_width, tile_height; int x, y; g_return_if_fail (data != NULL); if (data->arrow_show_timeout > -1) g_source_remove (data->arrow_show_timeout); data->arrow_show_timeout = -1; theme_get_tile_size (board_theme, &tile_width, &tile_height); convert_to_canvas (board_theme, board_env, row, col, &x, &y); g_object_ref (data->selector); gtk_container_remove (GTK_CONTAINER (board_canvas), data->selector); gtk_fixed_put (GTK_FIXED (board_canvas), data->selector, x, y); g_object_unref (data->selector); gtk_fixed_move (GTK_FIXED (board_canvas), data->arrow_left, x - tile_width, y); gtk_fixed_move (GTK_FIXED (board_canvas), data->arrow_right, x + tile_width, y); gtk_fixed_move (GTK_FIXED (board_canvas), data->arrow_top, x, y - tile_width); gtk_fixed_move (GTK_FIXED (board_canvas), data->arrow_bottom, x, y + tile_width); data->row = row; data->col = col; } static void check_for_arrow (gint r, gint c, GtkWidget *arrow) { Tile *tile; tile = playfield_get_tile (board_sce, r, c); gtk_widget_set_sensitive (arrow, tile == NULL); if (tile != NULL) g_object_unref (tile); } static void selector_arrows_show (SelectorData *data) { gint r, c; if (board_sce == NULL) { selector_arrows_hide (data); return; } r = data->row - 1; c = data->col; if (r >= 0) check_for_arrow (r, c, data->arrow_top); r = data->row; c = data->col + 1; if (c < playfield_get_n_cols (board_sce)) check_for_arrow (r, c, data->arrow_right); r = data->row + 1; c = data->col; if (r < playfield_get_n_rows (board_sce)) check_for_arrow (r, c, data->arrow_bottom); r = data->row; c = data->col - 1; if (c >= 0) check_for_arrow (r, c, data->arrow_left); if (data->mouse_steering) show_arrow_group (data); else { if (data->arrow_show_timeout > -1) g_source_remove (data->arrow_show_timeout); data->arrow_show_timeout = g_timeout_add (2000, (GSourceFunc) show_arrow_group, data); } } static void selector_select (SelectorData *data, GtkWidget *item) { g_return_if_fail (data != NULL); gint x, y; gtk_container_child_get (GTK_CONTAINER(board_canvas), item, "x", &x, "y", &y, NULL); data->selected = TRUE; data->sel_item = item; gtk_widget_hide (data->selector); selector_arrows_show (data); } static void selector_unselect (SelectorData *data) { g_return_if_fail (data != NULL); data->selected = FALSE; data->sel_item = NULL; if (!data->mouse_steering) selector_show (data); selector_arrows_hide (data); } static void selector_arrows_hide (SelectorData *data) { if (data->arrow_show_timeout > -1) g_source_remove (data->arrow_show_timeout); data->arrow_show_timeout = -1; g_slist_foreach (data->arrows, (GFunc)gtk_widget_hide, NULL); } static void selector_hide (SelectorData *data) { gtk_widget_hide (data->selector); selector_arrows_hide (data); } static void selector_show (SelectorData *data) { gtk_widget_show (data->selector); } atomix-3.19.4/src/board-gtk.h000066400000000000000000000030721264725221400157320ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_BOARD_GTK_H_ #define _ATOMIX_BOARD_GTK_H_ #include #include #include #include "theme.h" #include "playfield.h" #include "goal.h" #include "undo.h" #include "canvas_helper.h" void board_gtk_init (Theme * theme, gpointer canvas); void board_gtk_init_level (PlayField * env, PlayField * sce, Goal * goal); void board_gtk_destroy (void); void board_gtk_clear (void); void board_gtk_print (void); void board_gtk_hide (void); void board_gtk_show (void); gboolean board_gtk_undo_move (void); void board_gtk_show_logo (gboolean visible); gboolean board_gtk_handle_key_event (GObject * canvas, GdkEventKey * event, gpointer data); #endif /* _ATOMIX_BOARD_GTK_H_ */ atomix-3.19.4/src/canvas_helper.c000066400000000000000000000036341264725221400166710ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "main.h" #include "math.h" #include "canvas_helper.h" void convert_to_playfield (Theme *theme, PlayField * playfield, gint x, gint y, guint *row, guint *col) { guint int_y, int_x; gint tile_width, tile_height; gint row_offset, col_offset; row_offset = BGR_FLOOR_ROWS / 2 - playfield_get_n_rows (playfield) / 2; col_offset = BGR_FLOOR_COLS / 2 - playfield_get_n_cols (playfield) / 2; theme_get_tile_size (theme, &tile_width, &tile_height); int_y = (guint) ceil (y); *row = (int_y / tile_height) - row_offset; int_x = (guint) ceil (x); *col = (int_x / tile_width) - col_offset; } void convert_to_canvas (Theme *theme, PlayField * playfield,guint row, guint col, gint *x, gint *y) { gint tile_width, tile_height; gint row_offset, col_offset; row_offset = BGR_FLOOR_ROWS / 2 - playfield_get_n_rows (playfield) / 2; col_offset = BGR_FLOOR_COLS / 2 - playfield_get_n_cols (playfield) / 2; theme_get_tile_size (theme, &tile_width, &tile_height); *x = (col + col_offset) * tile_width; *y = (row + row_offset) * tile_height; } atomix-3.19.4/src/canvas_helper.h000066400000000000000000000024201264725221400166660ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_CANVAS_HELPER_H_ #define _ATOMIX_CANVAS_HELPER_H_ #include "theme.h" #include "playfield.h" #define BGR_FLOOR_ROWS 15 #define BGR_FLOOR_COLS 15 void convert_to_playfield (Theme * theme, PlayField * playfield, gint x, gint y, guint * row, guint * col); void convert_to_canvas (Theme * theme, PlayField * playfield, guint row, guint col, gint * x, gint * y); #endif /* _ATOMIX_CANVAS_HELPER_H_ */ atomix-3.19.4/src/clock.c000066400000000000000000000074661264725221400151610ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "clock.h" static void clock_class_init (ClockClass *klass); static void clock_init (Clock *clock); static GtkLabelClass *parent_class = NULL; GType clock_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (ClockClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) clock_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (Clock), 0, /* n_preallocs */ (GInstanceInitFunc) clock_init, }; object_type = g_type_register_static (GTK_TYPE_LABEL, "Clock", &object_info, 0); } return object_type; } static void clock_destroy (GtkWidget *object) { g_return_if_fail (object != NULL); Clock *clock = CLOCK (object); clock_stop (clock); GTK_WIDGET_CLASS (parent_class)->destroy (object); } static void clock_class_init (ClockClass *klass) { GtkWidgetClass *object_class = (GtkWidgetClass *) klass; object_class->destroy = clock_destroy; parent_class = g_type_class_peek (gtk_label_get_type ()); } static void clock_init (Clock *clock) { clock->timer_id = -1; clock->timer = NULL; } static void clock_gen_str (Clock *clock) { gchar *timestr; gint secs = 0; GDateTime *dtm; if (clock->timer) secs = g_timer_elapsed (clock->timer, NULL); dtm = g_date_time_new_from_unix_utc (secs); timestr = g_date_time_format (dtm, clock->fmt); g_date_time_unref (dtm); gtk_label_set_text (GTK_LABEL (clock), timestr); g_free (timestr); } static gint clock_timer_callback (gpointer data) { Clock *clock = (Clock *) data; clock_gen_str (clock); return TRUE; } GtkWidget *clock_new () { Clock *clock = CLOCK (g_object_new (TYPE_CLOCK, NULL)); clock->fmt = g_strdup ("%H:%M:%S"); clock_gen_str (clock); return GTK_WIDGET (clock); } void clock_set_format (Clock *clock, const gchar *fmt) { g_return_if_fail (clock != NULL); g_return_if_fail (fmt != NULL); g_free (clock->fmt); clock->fmt = g_strdup (fmt); } void clock_reset (Clock *clock) { g_return_if_fail (clock != NULL); if (clock->timer) g_timer_start (clock->timer); clock_gen_str (clock); } static void start_timer (Clock *clock) { if (clock->timer_id != -1) return; clock->timer_id = g_timeout_add_seconds (1, clock_timer_callback, clock); } void clock_resume (Clock *clock) { g_return_if_fail (clock != NULL); if (clock->timer != NULL) g_timer_continue (clock->timer); start_timer (clock); } void clock_start (Clock *clock) { g_return_if_fail (clock != NULL); if (clock->timer) g_timer_destroy (clock->timer); clock->timer = g_timer_new (); start_timer (clock); } void clock_stop (Clock *clock) { g_return_if_fail (clock != NULL); if (clock->timer) g_timer_stop (clock->timer); if (clock->timer_id == -1) return; g_source_remove (clock->timer_id); clock->timer_id = -1; } gint clock_get_elapsed (Clock *clock) { if (clock->timer) return g_timer_elapsed (clock->timer, NULL); return 0; } atomix-3.19.4/src/clock.h000066400000000000000000000031261264725221400151530ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_CLOCK_H_ #define _ATOMIX_CLOCK_H_ #include G_BEGIN_DECLS #define TYPE_CLOCK (clock_get_type ()) #define CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), TYPE_CLOCK, Clock)) #define CLOCK_CLASS(klass) (G_TYPE_CHECK_CAST_CLASS((klass), TYPE_CLOCK, ClockClass)) typedef struct { GtkLabel widget; GTimer *timer; gint timer_id; gchar *fmt; } Clock; typedef struct { GtkLabelClass parent_class; } ClockClass; GType clock_get_type (void); GtkWidget *clock_new (void); void clock_set_format (Clock *, const gchar *); void clock_reset (Clock *); void clock_set_update_interval (Clock *, gint); void clock_start (Clock *); void clock_resume (Clock *); gint clock_get_elapsed (Clock *); void clock_stop (Clock *); G_END_DECLS #endif /* _ATOMIX_CLOCK_H_ */ atomix-3.19.4/src/games-show.c000066400000000000000000000062151264725221400161270ustar00rootroot00000000000000/* * Copyright © 2008 Thomas H.P. Andersen * Copyright © 2007, 2008, 2009 Christian Persch * * This runtime is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1, or (at your option) * any later version. * * This runtime is distributed in the hope runtime it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this runtime; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include #include #ifdef G_OS_WIN32 #define WIN32_LEAN_AND_MEAN #include #include #endif /* G_OS_WIN32 */ #include "games-show.h" /** * games_show_uri: * @screen: screen to show the uri on or %NULL for the default screen * @uri: the uri to show * @timestamp: a timestamp to prevent focus stealing. * @error: a #GError that is returned in case of errors * * This is a convenience function for launching the default application * to show the uri. * Ideally the timestamp is taken from the event triggering * the gtk_show_uri() call, or use gtk_get_current_event_time(). * * Returns: %TRUE on success, %FALSE on error. */ gboolean games_show_uri (GdkScreen *screen, const char *uri, guint32 timestamp, GError **error) { #ifdef G_OS_WIN32 ShellExecute (NULL, "open", uri, NULL, NULL, SW_SHOWNORMAL); return TRUE; #else /* !G_OS_WIN32 */ return gtk_show_uri (screen, uri, timestamp, error); #endif /* G_OS_WIN32 */ } /** * games_show_error: * @parent: a transient parent window * @error: a #GError * @primary_text_format: * @...: * * Shows a message dialog with the given primary text, and @error's message * as secondary text. The dialog will be transient to @parent, and modal. * However, this function will *not* block until the dialogue has been dismissed. */ void games_show_error (GtkWidget *window, GError *error, const char *primary_text_format, ...) { GtkWidget *dialog; char *primary_text; va_list args; va_start (args, primary_text_format); primary_text = g_strdup_vprintf (primary_text_format, args); va_end (args); dialog = gtk_message_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", primary_text); g_free (primary_text); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", error->message); gtk_window_set_title (GTK_WINDOW (dialog), ""); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_present (GTK_WINDOW (dialog)); } atomix-3.19.4/src/games-show.h000066400000000000000000000024711264725221400161340ustar00rootroot00000000000000/* * Copyright © 2008 Thomas H.P. Andersen * Copyright © 2007, 2008, 2009 Christian Persch * * This runtime is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1, or (at your option) * any later version. * * This runtime is distributed in the hope runtime it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this runtime; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef GAMES_SHOW_H #define GAMES_SHOW_H #include G_BEGIN_DECLS gboolean games_show_uri (GdkScreen *screen, const char *uri, guint32 timestamp, GError **error); void games_show_error (GtkWidget *window, GError *error, const char *primary_text_format, ...) G_GNUC_PRINTF (3, 4); G_END_DECLS #endif /* !GAMES_SHOW_H */ atomix-3.19.4/src/goal-view.c000066400000000000000000000065561264725221400157570ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "goal-view.h" static GtkFixed *goal_fixed; static Theme *goal_theme; #define SCALE_FACTOR 0.9 static GtkImage *create_small_item (gdouble x, gdouble y, Tile *tile); static void render_view (Goal *goal); void goal_view_init (Theme *theme, GtkFixed *fixed) { g_return_if_fail (IS_THEME (theme)); g_return_if_fail (GTK_IS_FIXED (fixed)); goal_fixed = fixed; goal_theme = theme; gdk_window_set_background_rgba (GDK_WINDOW (gtk_widget_get_window ( gtk_widget_get_parent (GTK_WIDGET (fixed)))), theme_get_background_color (theme)); } void goal_view_render (Goal *goal) { goal_view_clear (); if (goal != NULL) render_view (goal); } static void render_view (Goal *goal) { PlayField *pf; gint row, col; gdouble x; gdouble y; Tile *tile; TileType type; gint tile_width, tile_height; g_return_if_fail (IS_GOAL (goal)); g_return_if_fail (GTK_IS_FIXED (goal_fixed)); g_return_if_fail (IS_THEME (goal_theme)); theme_get_tile_size (goal_theme, &tile_width, &tile_height); pf = goal_get_playfield (goal); for (row = 0; row < playfield_get_n_rows (pf); row++) { for (col = 0; col < playfield_get_n_cols (pf); col++) { tile = playfield_get_tile (pf, row, col); if (!tile) continue; type = tile_get_tile_type (tile); switch (type) { case TILE_TYPE_ATOM: x = col * tile_width * SCALE_FACTOR; y = row * tile_height * SCALE_FACTOR; create_small_item (x, y, tile); break; case TILE_TYPE_WALL: case TILE_TYPE_UNKNOWN: default: break; } g_object_unref (tile); } } g_object_unref (pf); } static void remove_child (GtkWidget *widget, gpointer data) { gtk_container_remove (GTK_CONTAINER (goal_fixed), widget); } void goal_view_clear (void) { gtk_container_forall (GTK_CONTAINER (goal_fixed), remove_child, NULL); } static GtkImage *create_small_item (gdouble x, gdouble y, Tile *tile) { GdkPixbuf *pixbuf = NULL; GdkPixbuf *small_pb = NULL; GtkWidget *item = NULL; g_return_val_if_fail (IS_TILE (tile), NULL); pixbuf = theme_get_tile_image (goal_theme, tile); small_pb = gdk_pixbuf_scale_simple (pixbuf, gdk_pixbuf_get_width (pixbuf) * SCALE_FACTOR, gdk_pixbuf_get_height (pixbuf) * SCALE_FACTOR, GDK_INTERP_BILINEAR); item = gtk_image_new_from_pixbuf (small_pb); gtk_widget_show (item); gtk_fixed_put (goal_fixed, item, x, y); g_object_unref (pixbuf); return GTK_IMAGE (item); } atomix-3.19.4/src/goal-view.h000066400000000000000000000021671264725221400157560ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_GOAL_VIEW_H_ #define _ATOMIX_GOAL_VIEW_H_ #include #include "theme.h" #include "goal.h" void goal_view_init (Theme * theme, GtkFixed * fixed); void goal_view_render (Goal * goal); void goal_view_clear (void); #endif /* _ATOMIX_GOAL_VIEW_H_ */ atomix-3.19.4/src/goal.c000066400000000000000000000156401264725221400150010ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "main.h" #include "theme.h" #include "goal.h" #include "canvas_helper.h" static GObjectClass *parent_class = NULL; static void goal_class_init (GObjectClass * class); static void goal_init (Goal * goal); static void goal_finalize (GObject * object); struct _GoalPrivate { PlayField *pf; GSList *index; }; void goal_print_offset (gpointer ptr, gpointer data); GtkImage *create_small_item (gdouble x, gdouble y, Tile *tile); static gboolean compare_playfield_with_goal (Goal *goal, PlayField *pf, guint start_row, guint start_col); typedef struct { Tile *tile; GSList *position; } TileData; typedef struct { gint horiz; gint vert; } PositionOffset; GType goal_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (GoalClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) goal_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (Goal), 0, /* n_preallocs */ (GInstanceInitFunc) goal_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "Goal", &object_info, 0); } return object_type; } static void goal_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = goal_finalize; } static void goal_init (Goal *goal) { GoalPrivate *priv; priv = g_new0 (GoalPrivate, 1); priv->pf = NULL; priv->index = NULL; goal->priv = priv; } static void goal_finalize (GObject *object) { GSList *td_it; GSList *pos_it; TileData *td; Goal *goal = GOAL (object); #ifdef DEBUG g_message ("Finalize Goal"); #endif if (goal->priv->pf) g_object_unref (goal->priv->pf); for (td_it = goal->priv->index; td_it != NULL; td_it = td_it->next) { td = (TileData *) td_it->data; g_object_unref (td->tile); for (pos_it = td->position; pos_it != NULL; pos_it = pos_it->next) g_free (pos_it->data); g_slist_free (td->position); } g_slist_free (goal->priv->index); g_free (goal->priv); goal->priv = NULL; } static int find_tile (gconstpointer p1, gconstpointer p2) { TileData *td1; TileData *td2; td1 = (TileData *) p1; td2 = (TileData *) p2; g_return_val_if_fail (IS_TILE (td1->tile), 1); g_return_val_if_fail (IS_TILE (td2->tile), 1); if (tile_is_equal (td1->tile, td2->tile)) return 0; else return 1; } Goal *goal_new (PlayField *pf) { Goal *goal; gint row, col; Tile *tile; goal = GOAL (g_object_new (GOAL_TYPE, NULL)); goal->priv->pf = g_object_ref (pf); /* initialise index */ goal->priv->index = NULL; for (row = 0; row < playfield_get_n_rows (pf); row++) { for (col = 0; col < playfield_get_n_cols (pf); col++) { tile = playfield_get_tile (pf, row, col); if (tile && tile_get_tile_type (tile) == TILE_TYPE_ATOM) { TileData pattern; TileData *td; PositionOffset *po; GSList *result = NULL; po = g_new0 (PositionOffset, 1); po->horiz = col; po->vert = row; pattern.tile = tile; pattern.position = NULL; result = g_slist_find_custom (goal->priv->index, &pattern, (GCompareFunc) find_tile); if (result == NULL) { td = g_new0 (TileData, 1); td->tile = g_object_ref (tile); td->position = NULL; goal->priv->index = g_slist_append (goal->priv->index, td); } else { td = (TileData *) result->data; } td->position = g_slist_append (td->position, po); } if (tile) g_object_unref (tile); } } return goal; } PlayField *goal_get_playfield (Goal *goal) { g_return_val_if_fail (IS_GOAL (goal), NULL); g_object_ref (goal->priv->pf); return goal->priv->pf; } gboolean goal_reached (Goal *goal, PlayField *pf, guint row_anchor, guint col_anchor) { GSList *result; GSList *it; gboolean comp_res = FALSE; Tile *tile; TileData *td; TileData pattern; PositionOffset *po; gint start_row; gint start_col; g_return_val_if_fail (IS_GOAL (goal), FALSE); g_return_val_if_fail (goal->priv->index != NULL, FALSE); g_return_val_if_fail (IS_PLAYFIELD (goal->priv->pf), FALSE); g_return_val_if_fail (IS_PLAYFIELD (pf), FALSE); tile = playfield_get_tile (pf, row_anchor, col_anchor); if (tile == NULL) return FALSE; pattern.tile = tile; pattern.position = NULL; result = g_slist_find_custom (goal->priv->index, &pattern, (GCompareFunc) find_tile); if (result == NULL) return FALSE; td = (TileData *) result->data; for (it = td->position; it != NULL && !comp_res; it = it->next) { po = (PositionOffset *) it->data; start_row = row_anchor - po->vert; start_col = col_anchor - po->horiz; if (start_row >= 0 && start_row < playfield_get_n_rows (pf) && start_col >= 0 && start_col < playfield_get_n_cols (pf)) { comp_res = compare_playfield_with_goal (goal, pf, start_row, start_col); } } return comp_res; } static gboolean compare_playfield_with_goal (Goal *goal, PlayField *pf, guint start_row, guint start_col) { Tile *pf_tile; Tile *goal_tile; gint pf_row; gint pf_col; gint goal_row; gint goal_col; gint end_row; gint end_col; gboolean result; end_row = MIN (start_row + playfield_get_n_rows (goal->priv->pf), playfield_get_n_rows (pf)); end_col = MIN (start_col + playfield_get_n_cols (goal->priv->pf), playfield_get_n_cols (pf)); result = TRUE; for (pf_row = start_row, goal_row = 0; pf_row < end_row && result; pf_row++, goal_row++) { for (pf_col = start_col, goal_col = 0; pf_col < end_col && result; pf_col++, goal_col++) { goal_tile = playfield_get_tile (goal->priv->pf, goal_row, goal_col); pf_tile = playfield_get_tile (pf, pf_row, pf_col); if (goal_tile) { if (tile_get_tile_type (goal_tile) == TILE_TYPE_ATOM) { if (!pf_tile) result = FALSE; else if (!tile_is_equal (goal_tile, pf_tile)) result = FALSE; } g_object_unref (goal_tile); } if (pf_tile) g_object_unref (pf_tile); } } return result; } atomix-3.19.4/src/goal.h000066400000000000000000000034351264725221400150050ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_GOAL_H_ #define _ATOMIX_GOAL_H_ #include #include "playfield.h" #define GOAL_TYPE (goal_get_type ()) #define GOAL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOAL_TYPE, Goal)) #define GOAL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOAL_TYPE, GoalClass)) #define IS_GOAL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOAL_TYPE)) #define IS_GOAL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOAL_TYPE)) #define GOAL_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), GOAL_TYPE, GoalClass)) typedef struct _GoalPrivate GoalPrivate; typedef struct { GObject parent; GoalPrivate *priv; } Goal; typedef struct { GObjectClass parent_class; } GoalClass; GType goal_get_type (void); Goal *goal_new (PlayField * pf); PlayField *goal_get_playfield (Goal * goal); gboolean goal_reached (Goal * goal, PlayField * pf, guint row_anchor, guint col_anchor); void goal_print (Goal * goal); #endif /* _ATOMIX_GOAL_H_ */ atomix-3.19.4/src/level-manager.c000066400000000000000000000257141264725221400166010ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include #include #include #include #include "level-manager.h" #include "level-private.h" #include "xml-util.h" static void search_level_in_dir (LevelManager *lm, gchar *dir_path); static gchar *lookup_level_name (gchar *filename); static void add_level (LevelManager *lm, gchar *levelname, gchar *filename); static Level *load_level (gchar *filename); static GObjectClass *parent_class = NULL; static void level_manager_class_init (GObjectClass *class); static void level_manager_init (LevelManager *tm); static void level_manager_finalize (GObject *object); struct _LevelManagerPrivate { gboolean initialized; GList *level_seq; GHashTable *levels; }; GType level_manager_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (LevelManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) level_manager_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (LevelManager), 0, /* n_preallocs */ (GInstanceInitFunc) level_manager_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "LevelManager", &object_info, 0); } return object_type; } /*================================================================= Level_Manager creation, initialisation and clean up ---------------------------------------------------------------*/ static void level_manager_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = level_manager_finalize; } static void level_manager_init (LevelManager *tm) { LevelManagerPrivate *priv; priv = g_new0 (LevelManagerPrivate, 1); priv->initialized = FALSE; priv->level_seq = NULL; priv->levels = g_hash_table_new_full ((GHashFunc) g_str_hash, (GCompareFunc) g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) g_free); tm->priv = priv; } static void level_manager_finalize (GObject *object) { LevelManager *tm = LEVEL_MANAGER (object); g_hash_table_destroy (tm->priv->levels); g_list_free_full (tm->priv->level_seq, g_free); g_free (tm->priv); tm->priv = NULL; } LevelManager *level_manager_new (void) { LevelManager *lm; lm = LEVEL_MANAGER (g_object_new (LEVEL_MANAGER_TYPE, NULL)); return lm; } /*================================================================= Level_Manager level sequence parsing ---------------------------------------------------------------*/ static void sequence_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { const gchar *prop_value; LevelManager *lm = LEVEL_MANAGER (user_data); LevelManagerPrivate *priv = lm->priv; if (!g_strcmp0 (element_name, "level")) { prop_value = get_attribute_value ("name", attribute_names, attribute_values); priv->level_seq = g_list_append (priv->level_seq, g_strdup (prop_value)); } else if (g_strcmp0 (element_name, "levelsequence") && g_strcmp0 (element_name, "text")) { g_warning ("Ignoring sequence xml tag: %s", element_name); } } static GMarkupParser sequence_parser = { sequence_parser_start_element, NULL, NULL, NULL, xml_parser_log_error }; static void create_level_sequence (LevelManager *lm, gchar *file) { g_return_if_fail (IS_LEVEL_MANAGER (lm)); GFile *sequence_file; gchar *sequence_contents; gsize sequence_length; GMarkupParseContext *parse_context; if (!g_file_test (file, G_FILE_TEST_IS_REGULAR)) { g_warning ("File not found: %s.", file); return; } sequence_file = g_file_new_for_path (file); if (g_file_load_contents (sequence_file, NULL, &sequence_contents, &sequence_length, NULL, NULL)) { parse_context = g_markup_parse_context_new (&sequence_parser, G_MARKUP_TREAT_CDATA_AS_TEXT, lm, NULL); g_markup_parse_context_parse (parse_context, sequence_contents, sequence_length, NULL); g_markup_parse_context_unref (parse_context); g_free (sequence_contents); } g_object_unref (sequence_file); } void level_manager_init_levels (LevelManager *lm) { gchar *dir_path; gchar *sequence_file; g_return_if_fail (IS_LEVEL_MANAGER (lm)); g_return_if_fail (!lm->priv->initialized); /* load the sequence of the levels */ if (g_list_length (lm->priv->level_seq) == 0) { sequence_file = g_build_filename (DATADIR, "atomix", "level", "sequence", NULL); create_level_sequence (lm, sequence_file); g_free (sequence_file); if (g_list_length (lm->priv->level_seq) == 0) { g_warning (_("Couldn't find level sequence description.")); } } /* search for all levels */ dir_path = g_build_filename (g_get_home_dir (), ".atomix", "level", NULL); search_level_in_dir (lm, dir_path); g_free (dir_path); dir_path = g_build_filename (DATADIR, "atomix", "level", NULL); search_level_in_dir (lm, dir_path); g_free (dir_path); if (g_hash_table_size (lm->priv->levels) == 0) g_warning (_("No level found.")); lm->priv->initialized = TRUE; } gboolean level_manager_is_last_level (LevelManager *lm, Level *level) { GList *last; g_return_val_if_fail (IS_LEVEL_MANAGER (lm), TRUE); g_return_val_if_fail (lm->priv->initialized, TRUE); g_return_val_if_fail (IS_LEVEL (level), TRUE); last = g_list_last (lm->priv->level_seq); if (last == NULL) return TRUE; return !g_ascii_strcasecmp ((gchar *) last->data, level_get_name (level)); } static void search_level_in_dir (LevelManager *lm, gchar *dir_path) { struct dirent *dent = NULL; DIR *dir; g_return_if_fail (IS_LEVEL_MANAGER (lm)); dir = opendir (dir_path); if (dir) { gchar *filename; while ((dent = readdir (dir)) != NULL) { if (g_ascii_strcasecmp (".", dent->d_name) && g_ascii_strcasecmp ("..", dent->d_name) && g_ascii_strcasecmp ("sequence", dent->d_name)) { gchar *levelname; filename = g_build_filename (dir_path, dent->d_name, NULL); levelname = lookup_level_name (filename); add_level (lm, levelname, filename); g_free (filename); g_free (levelname); } } g_free (dent); closedir (dir); } } static void add_level (LevelManager *lm, gchar *levelname, gchar *filename) { gchar *search_result; g_return_if_fail (IS_LEVEL_MANAGER (lm)); g_return_if_fail (levelname != NULL); g_return_if_fail (filename != NULL); /* don't add a theme twice */ search_result = g_hash_table_lookup (lm->priv->levels, levelname); if (search_result == NULL) { g_hash_table_insert (lm->priv->levels, g_strdup (levelname), g_strdup (filename)); #ifdef DEBUG g_message (_("Found level '%s' in: %s"), levelname, filename); #endif } } Level *level_manager_get_next_level (LevelManager *lm, Level *current_level) { LevelManagerPrivate *priv; gchar *levelname = NULL; gchar *filename = NULL; Level *level = NULL; g_return_val_if_fail (IS_LEVEL_MANAGER (lm), NULL); g_return_val_if_fail (lm->priv->initialized, NULL); if (g_list_length (lm->priv->level_seq) == 0) return NULL; priv = lm->priv; if (current_level == NULL) { levelname = (gchar *) g_list_first (priv->level_seq)->data; } else { GList *result; result = g_list_find_custom (priv->level_seq, level_get_name (current_level), (GCompareFunc) g_ascii_strcasecmp); if (result != NULL) { result = result->next; if (result != NULL) levelname = (gchar *) result->data; } } if (levelname != NULL) { filename = g_hash_table_lookup (lm->priv->levels, levelname); if (filename != NULL) level = load_level (filename); } return level; } static void add_level_to_list (gchar *key, gpointer value, GList **list) { *list = g_list_insert_sorted (*list, key, (GCompareFunc) g_ascii_strcasecmp); } GList *level_manager_get_available_levels (LevelManager *lm) { GList *list = NULL; g_return_val_if_fail (IS_LEVEL_MANAGER (lm), NULL); g_hash_table_foreach (lm->priv->levels, (GHFunc) add_level_to_list, &list); return list; } /*================================================================= Level_Manager level parsing ---------------------------------------------------------------*/ static GMarkupParser level_parser = { level_parser_start_element, level_parser_end_element, NULL, NULL, xml_parser_log_error }; static gchar *lookup_level_name (gchar *filename) { gchar *name = NULL; Level *level = NULL; g_return_val_if_fail (filename != NULL, NULL); g_return_val_if_fail (g_file_test (filename, G_FILE_TEST_EXISTS), NULL); level = load_level (filename); name = level_get_name (level); return name; } static Level *load_level (gchar *filename) { GFile *level_file; gchar *level_contents; gsize level_length; GMarkupParseContext *parse_context; Level *level = NULL; g_return_val_if_fail (filename != NULL, NULL); if (!g_file_test (filename, G_FILE_TEST_IS_REGULAR)) { g_warning ("Level not found %s.", filename); return NULL; } // markup-based loading here level_file = g_file_new_for_path (filename); if (g_file_load_contents (level_file, NULL, &level_contents, &level_length, NULL, NULL)) { level = level_new (); level->priv->file_name = g_path_get_basename (filename); parse_context = g_markup_parse_context_new (&level_parser, G_MARKUP_TREAT_CDATA_AS_TEXT, level, NULL); g_markup_parse_context_parse (parse_context, level_contents, level_length, NULL); g_markup_parse_context_unref (parse_context); g_free (level_contents); } return level; } atomix-3.19.4/src/level-manager.h000066400000000000000000000041211264725221400165730ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_LEVEL_MANAGER_H_ #define _ATOMIX_LEVEL_MANAGER_H_ #include #include "level.h" #define LEVEL_MANAGER_TYPE (level_manager_get_type ()) #define LEVEL_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LEVEL_MANAGER_TYPE, LevelManager)) #define LEVEL_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), LEVEL_MANAGER_TYPE, LevelManager)) #define IS_LEVEL_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LEVEL_MANAGER_TYPE)) #define IS_LEVEL_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LEVEL_MANAGER_TYPE)) #define LEVEL_MANAGER_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), LEVEL_MANAGER_TYPE, LevelManagerClass)) typedef struct _LevelManagerPrivate LevelManagerPrivate; typedef struct { GObject parent; LevelManagerPrivate *priv; } LevelManager; typedef struct { GObjectClass parent_class; } LevelManagerClass; GType level_manager_get_type (void); LevelManager *level_manager_new (void); void level_manager_init_levels (LevelManager * lm); Level *level_manager_get_next_level (LevelManager * lm, Level * current_level); GList *level_manager_get_available_levels (LevelManager * lm); gboolean level_manager_is_last_level (LevelManager * lm, Level * level); #endif /* _ATOMIX_LEVEL_MANAGER_H_ */ atomix-3.19.4/src/level-private.h000066400000000000000000000026341264725221400166420ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_LEVEL_PRIVATE_H_ #define _ATOMIX_LEVEL_PRIVATE_H_ #include "playfield.h" struct _LevelPrivate { gchar *name; /* name of the level */ gchar *formula; /* formula of the compound */ PlayField *environment; PlayField *scenario; /* starting situation */ PlayField *goal; /* determines the end of the level */ /* the following fields are only used by atomixed */ gchar *file_name; /* file name of the level */ gboolean modified; /* whether the level is modified */ }; Level *level_new (void); #endif /* _ATOMIX_LEVEL_PRIVATE_H_ */ atomix-3.19.4/src/level.c000066400000000000000000000142561264725221400151700ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include #include #include #include #include "level.h" #include "xml-util.h" #include "level-private.h" static void level_class_init (GObjectClass *class); static void level_init (Level *level); static void level_finalize (GObject *object); GObjectClass *parent_class; /*================================================================= Level creation, initialisation and clean up ---------------------------------------------------------------*/ GType level_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (LevelClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) level_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof(Level), 0, /* n_preallocs */ (GInstanceInitFunc) level_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "Level", &object_info, 0); } return object_type; } /*================================================================= Level creation, initialisation and clean up ---------------------------------------------------------------*/ static void level_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = level_finalize; } static void level_init (Level *level) { LevelPrivate *priv; priv = g_new0 (LevelPrivate, 1); priv->name = NULL; priv->formula = NULL; priv->goal = NULL; priv->environment = NULL; priv->scenario = NULL; priv->file_name = NULL; priv->modified = FALSE; level->priv = priv; } static void level_finalize (GObject *object) { LevelPrivate *priv; Level* level = LEVEL (object); priv = level->priv; if (priv->name) g_free (priv->name); if (priv->formula) g_free (priv->formula); if (priv->goal) g_object_unref (priv->goal); if (priv->environment) g_object_unref (priv->environment); if (priv->scenario) g_object_unref (priv->scenario); if (priv->file_name) g_free (priv->file_name); g_free (level->priv); level->priv = NULL; } Level *level_new (void) { Level *level; level = LEVEL (g_object_new (LEVEL_TYPE, NULL)); return level; } gchar *level_get_name (Level *level) { g_return_val_if_fail (IS_LEVEL (level), NULL); return level->priv->name; } gchar *level_get_formula (Level *level) { g_return_val_if_fail (IS_LEVEL (level), NULL); return level->priv->formula; } PlayField *level_get_environment (Level *level) { g_return_val_if_fail (IS_LEVEL (level), NULL); g_object_ref (level->priv->environment); return level->priv->environment; } PlayField *level_get_goal (Level *level) { g_return_val_if_fail (IS_LEVEL (level), NULL); g_object_ref (level->priv->goal); return level->priv->goal; } PlayField *level_get_scenario (Level *level) { g_return_val_if_fail (IS_LEVEL (level), NULL); g_object_ref (level->priv->scenario); return level->priv->scenario; } static GMarkupParser playfield_parser = { playfield_parser_start_element, playfield_parser_end_element, playfield_parser_text, NULL, xml_parser_log_error }; void level_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { const gchar *prop_value; Level *level = LEVEL (user_data); PlayField *playfield = NULL; guint rows = 0; guint cols = 0; if (!g_strcmp0 (element_name, "level")) { prop_value = get_attribute_value ("_name", attribute_names, attribute_values); level->priv->name = g_strdup (prop_value); prop_value = get_attribute_value ("formula", attribute_names, attribute_values); level->priv->formula = g_strdup (prop_value); } else if (!g_strcmp0 (element_name, "environment") || !g_strcmp0 (element_name, "goal") || !g_strcmp0 (element_name, "scenario")) { playfield = playfield_new (); prop_value = get_attribute_value ("n_rows", attribute_names, attribute_values); rows = (guint) atoi (prop_value); prop_value = get_attribute_value ("n_columns", attribute_names, attribute_values); cols = (guint) atoi (prop_value); playfield_set_matrix_size (playfield, rows, cols); g_markup_parse_context_push (context, &playfield_parser, playfield); } } void level_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { PlayField* playfield = NULL; Level *level = LEVEL (user_data); if (!g_strcmp0 (element_name, "environment") || !g_strcmp0 (element_name, "goal") || !g_strcmp0 (element_name, "scenario")) { playfield = g_markup_parse_context_pop (context); if (!g_strcmp0 (element_name, "environment")) { level->priv->environment = playfield; } else if (!g_strcmp0 (element_name, "scenario")) { level->priv->scenario = playfield; } else if (!g_strcmp0 (element_name, "goal")) { level->priv->goal = playfield; } } } atomix-3.19.4/src/level.h000066400000000000000000000046251264725221400151740ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_LEVEL_H #define _ATOMIX_LEVEL_H #include "playfield.h" #define LEVEL_TYPE (level_get_type ()) #define LEVEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LEVEL_TYPE, Level)) #define LEVEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), LEVEL_TYPE, LevelClass)) #define IS_LEVEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LEVEL_TYPE)) #define IS_LEVEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LEVEL_TYPE)) #define LEVEL_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), LEVEL_TYPE, LevelClass)) typedef struct _LevelPrivate LevelPrivate; typedef struct { GObject parent; LevelPrivate *priv; } Level; typedef struct { GObjectClass parent_class; } LevelClass; GType level_get_type (void); gchar *level_get_name (Level *level); gchar *level_get_formula (Level *level); PlayField* level_get_environment (Level *level); PlayField* level_get_scenario (Level *level); PlayField* level_get_goal (Level *level); void level_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); void level_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); #endif /* _ATOMIX_LEVEL_H */ atomix-3.19.4/src/main.c000066400000000000000000000413561264725221400150060ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "config.h" #include #include #include #include #include #include #include "board-gtk.h" #include "playfield.h" #include "main.h" #include "goal.h" #include "level.h" #include "goal-view.h" #include "clock.h" #include "undo.h" AtomixApp *app; typedef enum { GAME_ACTION_NEW, GAME_ACTION_END, GAME_ACTION_PAUSE, GAME_ACTION_CONTINUE, GAME_ACTION_SKIP, GAME_ACTION_UNDO, GAME_ACTION_FINISHED, GAME_ACTION_RESTART, } GameAction; static void controller_handle_action (GameAction action); static void set_game_not_running_state (void); static gboolean set_next_level (void); static void setup_level (void); static void level_cleanup_view (void); static void atomix_exit (void); static gboolean on_key_press_event (GObject *widget, GdkEventKey *event, gpointer user_data); static void game_init (void); static void update_statistics (void); static void view_congratulations (void); static void calculate_score (void); /* =============================================================== Menu callback functions -------------------------------------------------------------- */ static void verb_GameNew_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_NEW); } static void verb_GameEnd_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_END); } static void verb_GameSkip_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_SKIP); } static void verb_GameReset_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_RESTART); } static void verb_GamePause_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_PAUSE); } static void verb_GameContinue_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_CONTINUE); } static void verb_GameUndo_cb (GSimpleAction *action, GVariant *variant, gpointer data) { controller_handle_action (GAME_ACTION_UNDO); } static void verb_GameExit_cb (GSimpleAction *action, GVariant *variant, gpointer data) { atomix_exit (); } static void verb_HelpAbout_cb (GSimpleAction *action, GVariant *variant, gpointer data) { const char *authors[] = { "Robert Roth ", "Guilherme de S. Pastore ", "Jens Finke ", NULL }; const char *artists[] = { "Jakub Steiner ", NULL }; gtk_show_about_dialog(GTK_WINDOW(app->mainwin), "program-name", _("Atomix"), "logo-icon-name", "atomix", "version", VERSION, "comments", _("A puzzle game about atoms and molecules"), "website", "https://github.com/GNOME/atomix", "authors", authors, "artists", artists, "translator_credits", _("translator-credits"), NULL); } static gboolean on_app_destroy_event (GtkWidget *widget, GdkEvent *event, gpointer user_data) { atomix_exit (); return TRUE; } /* =============================================================== Game steering functions -------------------------------------------------------------- */ static void controller_handle_action (GameAction action) { switch (app->state) { case GAME_STATE_NOT_RUNNING: if (action == GAME_ACTION_NEW) { if (set_next_level ()) { app->level_no = 1; app->score = 0; setup_level (); app->state = GAME_STATE_RUNNING_UNMOVED; } } break; case GAME_STATE_RUNNING_UNMOVED: case GAME_STATE_RUNNING: switch (action) { case GAME_ACTION_END: level_cleanup_view (); set_game_not_running_state (); break; case GAME_ACTION_PAUSE: clock_stop (CLOCK (app->clock)); board_gtk_hide (); app->state = GAME_STATE_PAUSED; break; case GAME_ACTION_SKIP: level_cleanup_view (); if (set_next_level ()) setup_level (); else set_game_not_running_state (); break; case GAME_ACTION_FINISHED: calculate_score (); if (level_manager_is_last_level (app->lm, app->level)) { view_congratulations (); level_cleanup_view (); set_game_not_running_state (); } else { level_cleanup_view (); set_next_level (); setup_level (); } break; case GAME_ACTION_RESTART: g_assert (app->state != GAME_STATE_RUNNING_UNMOVED); level_cleanup_view (); setup_level (); break; case GAME_ACTION_UNDO: g_assert (app->state != GAME_STATE_RUNNING_UNMOVED); board_gtk_undo_move (); break; default: break; } break; case GAME_STATE_PAUSED: if (action == GAME_ACTION_CONTINUE) { clock_resume (CLOCK(app->clock)); board_gtk_show (); app->state = (undo_exists())?GAME_STATE_RUNNING:GAME_STATE_RUNNING_UNMOVED; } break; default: g_assert_not_reached (); } update_menu_item_state (); update_statistics (); } static void set_game_not_running_state (void) { board_gtk_show_logo (TRUE); if (app->level) g_object_unref (app->level); if (app->goal) g_object_unref (app->goal); app->level = NULL; app->goal = NULL; app->score = 0; app->state = GAME_STATE_NOT_RUNNING; } static gboolean set_next_level (void) { Level *next_level; PlayField *goal_pf; next_level = level_manager_get_next_level (app->lm, app->level); if (app->level) { g_object_unref (app->level); } app->level = NULL; if (app->goal) { g_object_unref (app->goal); } app->goal = NULL; if (next_level == NULL) { return FALSE; } app->level = next_level; app->level_no++; goal_pf = level_get_goal (app->level); app->goal = goal_new (goal_pf); g_object_unref (goal_pf); return TRUE; } static void setup_level (void) { PlayField *env_pf; PlayField *sce_pf; g_return_if_fail (app != NULL); if (app->level == NULL) return; g_return_if_fail (app->goal != NULL); /* init board */ env_pf = level_get_environment (app->level); sce_pf = level_get_scenario (app->level); board_gtk_show_logo (FALSE); board_gtk_init_level (env_pf, sce_pf, app->goal); /* init goal */ goal_view_render (app->goal); /* init clock */ clock_reset (CLOCK(app->clock)); clock_start (CLOCK(app->clock)); g_object_unref (env_pf); g_object_unref (sce_pf); } static void level_cleanup_view (void) { board_gtk_clear (); goal_view_clear (); clock_stop (CLOCK(app->clock)); } static void atomix_exit (void) { #ifdef DEBUG g_message ("Destroy application"); #endif g_return_if_fail (app != NULL); if (app->state != GAME_STATE_NOT_RUNNING) { set_game_not_running_state (); } board_gtk_destroy (); if (app->level) g_object_unref (app->level); if (app->lm) g_object_unref (app->lm); if (app->theme) g_object_unref (app->theme); if (app->tm) g_object_unref (app->tm); /* quit application */ gtk_widget_destroy (app->mainwin); } static gboolean on_key_press_event (GObject *widget, GdkEventKey *event, gpointer user_data) { if ((app->state == GAME_STATE_RUNNING) || (app->state == GAME_STATE_RUNNING_UNMOVED)) { return board_gtk_handle_key_event (NULL, event, NULL); } return FALSE; } static void game_init () { g_return_if_fail (app != NULL); /* init theme manager */ app->tm = theme_manager_new (); theme_manager_init_themes (app->tm); app->theme = theme_manager_get_theme (app->tm, "default"); g_assert (app->theme != NULL); /* init level manager */ app->lm = level_manager_new (); level_manager_init_levels (app->lm); /* init level statistics */ app->level = NULL; app->level_no = 0; app->score = 0; clock_set_format (CLOCK(app->clock), "%M:%S"); clock_reset (CLOCK(app->clock)); /* init the board */ board_gtk_init (app->theme, GTK_FIXED (app->fi_matrix)); /* init goal */ goal_view_init (app->theme, GTK_FIXED (app->fi_goal)); /* update user visible information */ app->state = GAME_STATE_NOT_RUNNING; update_menu_item_state (); update_statistics (); gtk_widget_grab_focus (GTK_WIDGET (app->fi_matrix)); } void game_level_finished (void) { controller_handle_action (GAME_ACTION_FINISHED); } static void calculate_score (void) { gint seconds = clock_get_elapsed (CLOCK (app->clock)); if (seconds > 300) return; if (app->score == 0) app->score = 300 - seconds; else app->score = app->score * (2 - (seconds / 300)); } static void view_congratulations (void) { GtkWidget *dlg; dlg = gtk_message_dialog_new (GTK_WINDOW (app->mainwin), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s", _("Congratulations! You have finished all Atomix levels.")); gtk_dialog_run (GTK_DIALOG (dlg)); gtk_widget_destroy (GTK_WIDGET (dlg)); } /* =============================================================== UI update functions -------------------------------------------------------------- */ static void update_statistics (void) { gchar *str_buffer; g_return_if_fail (app != NULL); if (app->state == GAME_STATE_NOT_RUNNING) { /* don't show anything */ gtk_label_set_text (GTK_LABEL (app->lb_level), ""); gtk_label_set_text (GTK_LABEL (app->lb_name), ""); gtk_label_set_text (GTK_LABEL (app->lb_formula), ""); gtk_label_set_text (GTK_LABEL (app->lb_score), ""); gtk_widget_hide (GTK_WIDGET (app->clock)); } else { /* set level number */ str_buffer = g_new0 (gchar, 10); g_snprintf (str_buffer, 10, "%i", app->level_no); gtk_label_set_text (GTK_LABEL (app->lb_level), str_buffer); /* set levelname */ gtk_label_set_text (GTK_LABEL (app->lb_name), _(level_get_name (app->level))); /* set the formula of the compound */ gtk_label_set_markup (GTK_LABEL (app->lb_formula), level_get_formula (app->level)); /* set score */ g_snprintf (str_buffer, 10, "%i", app->score); gtk_label_set_text (GTK_LABEL (app->lb_score), str_buffer); /* show clock */ gtk_widget_show (GTK_WIDGET (app->clock)); g_free (str_buffer); } } typedef struct { gchar *cmd; gboolean enabled; } CmdEnable; static const GActionEntry app_entries[] = { { "GameAbout", verb_HelpAbout_cb, NULL, NULL, NULL}, { "GameQuit", verb_GameExit_cb, NULL, NULL, NULL} }; static const GActionEntry win_entries[] = { { "GameNew", verb_GameNew_cb, NULL, NULL, NULL}, { "GameEnd", verb_GameEnd_cb, NULL, NULL, NULL}, { "GameSkip", verb_GameSkip_cb, NULL, NULL, NULL}, { "GameReset", verb_GameReset_cb, NULL, NULL, NULL}, { "GameUndo", verb_GameUndo_cb, NULL, NULL, NULL}, { "GamePause", verb_GamePause_cb, NULL, NULL, NULL}, { "GameContinue", verb_GameContinue_cb, NULL, NULL, NULL}, }; static const CmdEnable not_running[] = { { "GameNew", TRUE }, { "GameEnd", FALSE }, { "GameSkip", FALSE }, { "GameReset", FALSE }, { "GameUndo", FALSE }, { "GamePause", FALSE }, { "GameContinue", FALSE }, { NULL, FALSE } }; static const CmdEnable running_unmoved[] = { { "GameNew", FALSE }, { "GameEnd", TRUE }, { "GameSkip", TRUE }, { "GameReset", FALSE }, { "GameUndo", FALSE }, { "GamePause", TRUE }, { "GameContinue", FALSE }, { NULL, FALSE } }; static const CmdEnable running[] = { { "GameNew", FALSE }, { "GameEnd", TRUE }, { "GameSkip", TRUE }, { "GameReset", TRUE }, { "GameUndo", TRUE }, { "GamePause", TRUE }, { "GameContinue", FALSE }, { NULL, FALSE } }; static const CmdEnable paused[] = { { "GameNew", FALSE }, { "GameEnd", FALSE }, { "GameSkip", FALSE }, { "GameReset", FALSE }, { "GameUndo", FALSE }, { "GamePause", FALSE }, { "GameContinue", TRUE }, { NULL, FALSE } }; static const CmdEnable *state_sensitivity[] = { not_running, running_unmoved, running, paused }; void update_menu_item_state (void) { gint i; const CmdEnable *cmd_list = state_sensitivity[app->state]; GAction *action; for (i = 0; cmd_list[i].cmd != NULL; i++) { action = g_action_map_lookup_action (G_ACTION_MAP (app->mainwin), cmd_list[i].cmd); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), cmd_list[i].enabled); } } /* =============================================================== GUI creation functions -------------------------------------------------------------- */ static AtomixApp *create_gui (GApplication *app_instance) { AtomixApp *app; gchar *ui_path; GtkBuilder *builder; GtkWidget *stats_grid; GtkWidget *time_label; app = g_new0 (AtomixApp, 1); app->level = NULL; app->app_instance = app_instance; builder = gtk_builder_new (); ui_path = g_build_filename (PKGDATADIR, "ui", "interface.ui", NULL); gtk_builder_add_from_file (builder, ui_path, NULL); g_free (ui_path); app->mainwin = GTK_WIDGET (gtk_builder_get_object (builder, "mainwin")); g_signal_connect (G_OBJECT (app->mainwin), "delete_event", (GCallback) on_app_destroy_event, app); /* create canvas widgets */ app->fi_matrix = GTK_WIDGET (gtk_builder_get_object (builder, "game_fixed")); app->fi_goal = GTK_WIDGET (gtk_builder_get_object (builder, "preview_fixed")); stats_grid = GTK_WIDGET (gtk_builder_get_object (builder, "stats_grid")); time_label = GTK_WIDGET (gtk_builder_get_object (builder, "time_label")); app->clock = clock_new (); gtk_grid_attach_next_to (GTK_GRID (stats_grid), app->clock, time_label, GTK_POS_RIGHT, 1, 1); /* add playfield canvas to left side */ g_signal_connect (G_OBJECT (app->mainwin), "key-press-event", G_CALLBACK (on_key_press_event), app); app->lb_level = GTK_WIDGET (gtk_builder_get_object (builder, "level_value")); app->lb_name = GTK_WIDGET (gtk_builder_get_object (builder, "molecule_value")); app->lb_formula = GTK_WIDGET (gtk_builder_get_object (builder, "formula_value")); app->lb_score = GTK_WIDGET (gtk_builder_get_object (builder, "score_value")); gtk_widget_show_all (GTK_WIDGET (app->mainwin)); if (gtk_application_prefers_app_menu (GTK_APPLICATION (app_instance))) { GMenu * menu = G_MENU (gtk_builder_get_object (builder, "app-menu")); gtk_application_set_app_menu (GTK_APPLICATION (app->app_instance), G_MENU_MODEL (menu)); // GtkWidget *menubar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar")); // gtk_widget_set_visible (menubar, FALSE); } g_object_unref (builder); return app; } static void app_activate (GApplication *app_instance, gpointer user_data) { if (app == NULL) { /* make a few initalisations here */ g_action_map_add_action_entries (G_ACTION_MAP (app_instance), app_entries, G_N_ELEMENTS (app_entries), app_instance); app = create_gui (app_instance); g_action_map_add_action_entries (G_ACTION_MAP (app->mainwin), win_entries, G_N_ELEMENTS (win_entries), app_instance); game_init (); gtk_widget_set_size_request (GTK_WIDGET (app->mainwin), 678, 520); //gtk_window_set_resizable (GTK_WINDOW (app->mainwin), FALSE); gtk_widget_show (app->mainwin); gtk_application_add_window (GTK_APPLICATION (app_instance), GTK_WINDOW (app->mainwin)); } else { gtk_window_present (GTK_WINDOW (app->mainwin)); } } int main (int argc, char *argv[]) { GtkApplication *gtk_app; int status; g_set_application_name (_("Atomix")); bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); gtk_app = gtk_application_new ("org.gnome.atomix", G_APPLICATION_FLAGS_NONE); g_signal_connect (gtk_app, "activate", G_CALLBACK (app_activate), NULL); status = g_application_run (G_APPLICATION (gtk_app), argc, argv); g_object_unref (gtk_app); return status; } atomix-3.19.4/src/main.h000066400000000000000000000020571264725221400150060ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_MAIN_H_ #define _ATOMIX_MAIN_H_ #include #include "atomix-application.h" void game_level_finished (void); void update_menu_item_state (void); #endif /* _ATOMIX_MAIN_H_ */ atomix-3.19.4/src/pf-test.c000066400000000000000000000017411264725221400154360ustar00rootroot00000000000000#include #include "playfield.h" int main (void) { PlayField *pf; PlayField *spf; PlayField *cpf; Tile *tile; pf = playfield_new (); playfield_set_matrix_size (pf, 10, 7); tile = tile_new (TILE_TYPE_ATOM); playfield_set_tile (pf, 0, 0, tile); playfield_set_tile (pf, 1, 0, tile); playfield_set_tile (pf, 2, 0, tile); playfield_set_tile (pf, 6, 3, tile); g_object_unref (tile); playfield_print (pf); /* test copy */ g_message ("==== Copy Tests ===="); cpf = playfield_copy (pf); playfield_print (cpf); tile = tile_new (TILE_TYPE_WALL); playfield_set_tile (pf, 3, 4, tile); g_object_unref (tile); playfield_print (pf); playfield_print (cpf); g_object_unref (cpf); /* test swap */ g_message ("==== Swap Tests ===="); playfield_swap_tiles (pf, 2, 0, 0, 2); playfield_print (pf); /* test strip */ spf = playfield_strip (pf); playfield_print (spf); g_object_unref (spf); g_object_unref (pf); exit (0); } atomix-3.19.4/src/playfield.c000066400000000000000000000523721264725221400160330ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "playfield.h" #include "xml-util.h" #include Tile *get_tile (PlayField *pf, gint row, gint col); void set_tile (PlayField *pf, gint row, gint col, Tile *tile); static GObjectClass *parent_class = NULL; static void playfield_class_init (GObjectClass *class); static void playfield_init (PlayField *pf); static void playfield_finalize (GObject *object); static void position_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); static void position_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); struct _PlayFieldPrivate { guint n_rows; guint n_cols; Tile **matrix; }; typedef struct { guint row; guint col; Tile *tile; } TileData; GType playfield_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (PlayFieldClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) playfield_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (PlayField), 0, /* n_preallocs */ (GInstanceInitFunc) playfield_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "PlayField", &object_info, 0); } return object_type; } static void playfield_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = playfield_finalize; } static void playfield_init (PlayField *pf) { PlayFieldPrivate *priv; priv = g_new0 (PlayFieldPrivate, 1); priv->n_rows = 0; priv->n_cols = 0; priv->matrix = NULL; pf->priv = priv; } static void playfield_finalize (GObject *object) { gint row, col; PlayField *pf = PLAYFIELD (object); #ifdef DEBUG g_message ("Finalize Playfield."); #endif for (row = 0; row < pf->priv->n_rows; row++) for (col = 0; col < pf->priv->n_cols; col++) { Tile *tile = get_tile (pf, row, col); if (tile) g_object_unref (tile); } g_free (pf->priv->matrix); g_free (pf->priv); pf->priv = NULL; } PlayField *playfield_new (void) { PlayField *pf; pf = PLAYFIELD (g_object_new (PLAYFIELD_TYPE, NULL)); return pf; } Tile *get_tile (PlayField *pf, gint row, gint col) { PlayFieldPrivate *priv; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); priv = pf->priv; return priv->matrix[row * priv->n_cols + col]; } void set_tile (PlayField *pf, gint row, gint col, Tile *new_tile) { Tile *tile; PlayFieldPrivate *priv; g_return_if_fail (IS_PLAYFIELD (pf)); g_return_if_fail (row < pf->priv->n_rows || col < pf->priv->n_cols); priv = pf->priv; tile = get_tile (pf, row, col); if (tile) g_object_unref (tile); priv->matrix[row * priv->n_cols + col] = new_tile; } guint playfield_get_n_rows (PlayField *pf) { g_return_val_if_fail (IS_PLAYFIELD (pf), 0); return pf->priv->n_rows; } guint playfield_get_n_cols (PlayField *pf) { g_return_val_if_fail (IS_PLAYFIELD (pf), 0); return pf->priv->n_cols; } void playfield_add_row (PlayField *pf) { Tile **new_matrix; int n_rows, n_cols; g_return_if_fail (IS_PLAYFIELD (pf)); n_rows = pf->priv->n_rows; n_cols = pf->priv->n_cols; new_matrix = g_malloc0 ((n_rows + 1) * n_cols * sizeof (Tile *)); if (new_matrix == NULL) return; memcpy (new_matrix, pf->priv->matrix, n_rows * n_cols * sizeof (Tile *)); g_free (pf->priv->matrix); pf->priv->matrix = new_matrix; pf->priv->n_rows++; } void playfield_add_column (PlayField *pf) { Tile **new_matrix; int n_rows, n_cols; g_return_if_fail (IS_PLAYFIELD (pf)); n_rows = pf->priv->n_rows; n_cols = pf->priv->n_cols; new_matrix = g_malloc0 (n_rows * (n_cols + 1) * sizeof (Tile *)); if (new_matrix == NULL) return; memcpy (new_matrix, pf->priv->matrix, n_rows * n_cols * sizeof (Tile *)); g_free (pf->priv->matrix); pf->priv->matrix = new_matrix; pf->priv->n_cols++; } void playfield_set_matrix_size (PlayField *pf, guint n_rows, guint n_cols) { gint row = 0; gint col = 0; guint old_n_rows; guint old_n_cols; Tile **new_matrix; g_return_if_fail (IS_PLAYFIELD (pf)); old_n_rows = pf->priv->n_rows; old_n_cols = pf->priv->n_cols; if (n_rows == 0 || n_cols == 0) return; if (old_n_rows == n_rows && old_n_cols == n_cols) return; if (old_n_rows > n_rows || old_n_cols > n_cols) { // free the left over tiles; for (row = 0; row < old_n_rows; row++) { for (col = 0; col < old_n_cols; col++) { Tile *tile = get_tile (pf, row, col); if (row >= n_rows && tile) g_object_unref (tile); else if (col >= n_cols && tile) g_object_unref (tile); } } } new_matrix = g_malloc0 (n_rows * n_cols * sizeof (Tile *)); memcpy (new_matrix, pf->priv->matrix, old_n_rows * old_n_cols * sizeof (Tile *)); g_free (pf->priv->matrix); pf->priv->matrix = new_matrix; pf->priv->n_rows = n_rows; pf->priv->n_cols = n_cols; } PlayField *playfield_copy (PlayField *pf) { PlayField *pf_copy = NULL; gint row, col; gint matrix_size; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); pf_copy = playfield_new (); g_assert (IS_PLAYFIELD (pf_copy)); matrix_size = pf->priv->n_rows * pf->priv->n_cols * sizeof (Tile *); pf_copy->priv->matrix = g_malloc0 (matrix_size); pf_copy->priv->n_rows = pf->priv->n_rows; pf_copy->priv->n_cols = pf->priv->n_cols; for (row = 0; row < pf->priv->n_rows; row++) for (col = 0; col < pf->priv->n_cols; col++) playfield_set_tile (pf_copy, row, col, get_tile (pf, row, col)); return pf_copy; } void playfield_swap_tiles (PlayField *pf, guint src_row, guint src_col, guint dest_row, guint dest_col) { Tile *src_tile; Tile *dest_tile; gint n_rows, n_cols; g_return_if_fail (IS_PLAYFIELD (pf)); n_rows = pf->priv->n_rows; n_cols = pf->priv->n_cols; g_return_if_fail (src_row < n_rows && dest_row < n_cols && src_col < n_cols && dest_col < n_cols); src_tile = get_tile (pf, src_row, src_col); if (src_tile) g_object_ref (src_tile); dest_tile = get_tile (pf, dest_row, dest_col); if (dest_tile) g_object_ref (dest_tile); playfield_set_tile (pf, src_row, src_col, dest_tile); playfield_set_tile (pf, dest_row, dest_col, src_tile); if (src_tile) g_object_unref (src_tile); if (dest_tile) g_object_unref (dest_tile); } Tile *playfield_clear_tile (PlayField *pf, guint row, guint col) { Tile *tile; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); g_return_val_if_fail (row < pf->priv->n_rows && col < pf->priv->n_cols, NULL); tile = get_tile (pf, row, col); if (tile) { g_object_ref (tile); set_tile (pf, row, col, NULL); } return tile; } void playfield_clear (PlayField *pf) { gint row, col; g_return_if_fail (IS_PLAYFIELD (pf)); for (row = 0; row < pf->priv->n_rows; row++) for (col = 0; col < pf->priv->n_cols; col++) set_tile (pf, row, col, NULL); } PlayField *playfield_strip (PlayField *pf) { PlayField *stripped_pf; gint row, col; gint n_rows, n_cols; gint max_row = 0; gint min_row = 10000; gint max_col = 0; gint min_col = 10000; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); /* determine the really used playfield size */ for (row = 0; row < pf->priv->n_rows; row++) { for (col = 0; col < pf->priv->n_cols; col++) { Tile *tile = get_tile (pf, row, col); if (tile != NULL) { max_row = MAX (max_row, row); min_row = MIN (min_row, row); max_col = MAX (max_col, col); min_col = MIN (min_col, col); } } } /* number of columns and rows in the stripped playfield */ n_rows = max_row - min_row + 1; n_cols = max_col - min_col + 1; if (pf->priv->n_rows == n_rows && pf->priv->n_cols == n_cols) return g_object_ref (pf); stripped_pf = playfield_new (); playfield_set_matrix_size (stripped_pf, n_rows, n_cols); for (row = min_row; row <= max_row; row++) for (col = min_col; col <= max_col; col++) { Tile *tile; tile = get_tile (pf, row, col); playfield_set_tile (stripped_pf, row - min_row, col - min_col, tile); } return stripped_pf; } Tile *playfield_get_tile (PlayField *pf, guint row, guint col) { Tile *tile; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); g_return_val_if_fail (row < pf->priv->n_rows && col < pf->priv->n_cols, NULL); tile = get_tile (pf, row, col); if (tile) g_object_ref (tile); return tile; } void playfield_set_tile (PlayField *pf, guint row, guint col, Tile *tile) { g_return_if_fail (IS_PLAYFIELD (pf)); g_return_if_fail (row < pf->priv->n_rows && col < pf->priv->n_cols); if (tile) g_object_ref (tile); set_tile (pf, row, col, tile); } void playfield_print (PlayField *pf) { PlayFieldPrivate *priv; int row, col; Tile *tile; g_return_if_fail (IS_PLAYFIELD (pf)); priv = pf->priv; g_print ("N_ROWS: %d\n", priv->n_rows); g_print ("N_COLS: %d\n", priv->n_cols); for (row = 0; row < priv->n_rows; row++) { for (col = 0; col < priv->n_cols; col++) { tile = get_tile (pf, row, col); if (tile) tile_print (tile); else g_print ("NULL "); } g_print ("\n"); } g_print ("\n"); } /*================================================================= Functions for generating playfields from basic level descriptions. -----------------------------------------------------------------*/ typedef struct { GQuark id; gchar *string; } TranslationItem; static TranslationItem wall_map[] = { {0, "wall-single"}, {1, "wall-vertical-bottom-end"}, {2, "wall-horizontal-left-end"}, {3, "wall-bottom-left"}, {4, "wall-vertical-top-end"}, {5, "wall-vertical"}, {6, "wall-top-left"}, {7, "wall-vertical-rightx"}, {8, "wall-horizontal-right-end"}, {9, "wall-bottom-right"}, {10, "wall-horizontal"}, {11, "wall-horizontal-topx"}, {12, "wall-top-right"}, {13, "wall-vertical-leftx"}, {14, "wall-horizontal-bottomx"}, {15, "wall-single"}, {0, NULL} }; static void setup_translation_map (TranslationItem array[]) { gint i = 0; for (; array[i].string != NULL; i++) array[i].id = g_quark_from_string (array[i].string); } enum { ENV_TOP, ENV_RIGHT, ENV_BOTTOM, ENV_LEFT, ENV_TOP_RIGHT, ENV_BOTTOM_RIGHT, ENV_BOTTOM_LEFT, ENV_TOP_LEFT, ENV_LAST }; typedef struct { int row; int col; } offset; static const offset env_offset[8] = { {-1, 0}, /* ENV_TOP */ {0, 1}, /* ENV_RIGHT */ {1, 0}, /* ENV_BOTTOM */ {0, -1}, /* ENV_LEFT */ {-1, 1}, /* ENV_TOP_RIGHT */ {1, 1}, /* ENV_BOTTOM_RIGHT */ {1, -1}, /* ENV_BOTTOM_LEFT */ {-1, -1} /* ENV_TOP_LEFT */ }; static TileType get_env_tile_type (PlayField *pf, gint row, gint col) { Tile *tile; TileType type = TILE_TYPE_NONE; if (row < 0) return type; if (col < 0) return type; if (row >= playfield_get_n_rows (pf)) return type; if (col >= playfield_get_n_cols (pf)) return type; tile = get_tile (pf, row, col); if (tile) { type = tile_get_tile_type (tile); } else type = TILE_TYPE_FLOOR; return type; } static void create_tile_env (PlayField *pf, gint row, gint col, int tile_env[]) { gint i; TileType type; for (i = ENV_TOP; i < ENV_LAST; i++) { type = get_env_tile_type (pf, row + env_offset[i].row, col + env_offset[i].col); tile_env[i] = (int) type; } } static Tile *convert_wall_tiles (Tile *tile, int tile_env[]) { Tile *new_tile = NULL; gint wall_id = 0; gint i; if (tile == NULL) return NULL; new_tile = tile_copy (tile); if (tile_get_tile_type (new_tile) != TILE_TYPE_WALL) return new_tile; for (i = ENV_LEFT; i >= ENV_TOP; i--) { if (tile_env[i] == TILE_TYPE_WALL) wall_id = wall_id + 1; if (i != ENV_TOP) wall_id = wall_id << 1; } tile_set_base_id (new_tile, wall_map[wall_id].id); return new_tile; } PlayField *playfield_generate_environment (PlayField *pf, Theme *theme) { PlayField *env_pf; PlayFieldPrivate *priv; gint row, col; gint tile_env[8]; Tile *env_tile; Tile *tile = NULL; gint n_decor_tiles; gint max_try; gint min_wall[2]; gint max_wall[2]; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); priv = pf->priv; if (wall_map[0].id == 0) setup_translation_map (wall_map); env_pf = playfield_new (); playfield_set_matrix_size (env_pf, playfield_get_n_rows (pf), playfield_get_n_cols (pf)); min_wall[0] = 10000; min_wall[1] = 10000; max_wall[0] = 0; max_wall[1] = 0; /* determine the really used playfield size */ for (row = 0; row < priv->n_rows; row++) { for (col = 0; col < priv->n_cols; col++) { create_tile_env (pf, row, col, tile_env); tile = get_tile (pf, row, col); env_tile = convert_wall_tiles (tile, tile_env); playfield_set_tile (env_pf, row, col, env_tile); if (env_tile) { if (tile_get_tile_type (env_tile) == TILE_TYPE_WALL) { min_wall[0] = MIN (min_wall[0], row); min_wall[1] = MIN (min_wall[1], col); max_wall[0] = MAX (max_wall[0], row); max_wall[1] = MAX (max_wall[1], col); } g_object_unref (env_tile); } } } /* apply decoration to some of the tiles */ n_decor_tiles = (max_wall[0] - min_wall[0]) * (max_wall[1] - min_wall[1]) * 0.03; while (n_decor_tiles--) { max_try = 4; /* maximum number of tries */ do { row = g_random_int_range (min_wall[0], max_wall[0]); col = g_random_int_range (min_wall[1], max_wall[1]); tile = get_tile (env_pf, row, col); } while (!theme_apply_decoration (theme, tile) && max_try--); } return env_pf; } static GQuark shadow_id[6] = { 0, 0, 0, 0, 0, 0 }; static Tile *convert_shadow_tiles (Tile *tile, int tile_env[]) { Tile *new_tile = NULL; gint base_id = 0; TileType type; if (tile != NULL) { type = tile_get_tile_type (tile); if (type != TILE_TYPE_FLOOR) return NULL; } if (tile_env[ENV_LEFT] == TILE_TYPE_WALL && tile_env[ENV_TOP] == TILE_TYPE_WALL) base_id = 6; /* top-left */ else if (tile_env[ENV_TOP_LEFT] != TILE_TYPE_WALL && tile_env[ENV_LEFT] != TILE_TYPE_WALL && tile_env[ENV_TOP] == TILE_TYPE_WALL) base_id = 2; else if (tile_env[ENV_TOP_LEFT] != TILE_TYPE_WALL && tile_env[ENV_LEFT] == TILE_TYPE_WALL && tile_env[ENV_TOP] != TILE_TYPE_WALL) base_id = 5; else if (tile_env[ENV_TOP_LEFT] == TILE_TYPE_WALL && tile_env[ENV_LEFT] != TILE_TYPE_WALL && tile_env[ENV_TOP] != TILE_TYPE_WALL) base_id = 4; else if (tile_env[ENV_TOP_LEFT] == TILE_TYPE_WALL && tile_env[ENV_LEFT] == TILE_TYPE_WALL && tile_env[ENV_TOP] != TILE_TYPE_WALL) base_id = 3; else if (tile_env[ENV_TOP_LEFT] == TILE_TYPE_WALL && tile_env[ENV_LEFT] != TILE_TYPE_WALL && tile_env[ENV_TOP] == TILE_TYPE_WALL) base_id = 1; if (base_id) { new_tile = tile_new (TILE_TYPE_SHADOW); tile_set_base_id (new_tile, shadow_id[base_id - 1]); } return new_tile; } PlayField *playfield_generate_shadow (PlayField *pf) { PlayField *env_pf; PlayFieldPrivate *priv; gint row, col; gint tile_env[8]; Tile *env_tile; Tile *tile; g_return_val_if_fail (IS_PLAYFIELD (pf), NULL); priv = pf->priv; if (!shadow_id[0]) { shadow_id[0] = g_quark_from_static_string ("shadow-top"); shadow_id[1] = g_quark_from_static_string ("shadow-top-left"); shadow_id[2] = g_quark_from_static_string ("shadow-left"); shadow_id[3] = g_quark_from_static_string ("shadow-bottom-right"); shadow_id[4] = g_quark_from_static_string ("shadow-left-top"); shadow_id[5] = g_quark_from_static_string ("shadow-top-left-both"); } env_pf = playfield_new (); playfield_set_matrix_size (env_pf, playfield_get_n_rows (pf) + 1, playfield_get_n_cols (pf) + 1); /* determine the really used playfield size */ for (row = 0; row <= priv->n_rows; row++) { for (col = 0; col <= priv->n_cols; col++) { create_tile_env (pf, row, col, tile_env); if (row != priv->n_rows && col != priv->n_cols) tile = get_tile (pf, row, col); else tile = NULL; env_tile = convert_shadow_tiles (tile, tile_env); playfield_set_tile (env_pf, row, col, env_tile); if (env_tile) g_object_unref (env_tile); } } return env_pf; } /*================================================================= Functions and structures for parsing playfields from files. -----------------------------------------------------------------*/ static GMarkupParser tile_parser = { tile_parser_start_element, tile_parser_end_element, NULL, NULL, xml_parser_log_error }; static GMarkupParser position_parser = { position_parser_start_element, position_parser_end_element, NULL, NULL, xml_parser_log_error }; static void position_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { Tile *tile = NULL; TileType type = TILE_TYPE_UNKNOWN; gint base_id = 0; if (!g_strcmp0 (element_name, "tile")) { type = tile_type_from_string (get_attribute_value ("type", attribute_names, attribute_values)); tile = tile_new (type); base_id = g_quark_from_string (get_attribute_value ("base", attribute_names, attribute_values)); tile_set_base_id (tile, base_id); g_markup_parse_context_push (context, &tile_parser, tile); } else { printf ("position: starting %s\n", element_name); } } static void position_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { TileData *tile_data = user_data; if (!g_strcmp0 (element_name, "tile")) { tile_data->tile = g_markup_parse_context_pop (context); } else { printf ("position: ending %s\n", element_name); } } void playfield_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { TileData *tile_data = NULL; const gchar *current = NULL; gint number = 0; if (!g_strcmp0 (element_name, "position")) { tile_data = g_slice_new (TileData); current = get_attribute_value ("row", attribute_names, attribute_values); number = atoi (current); tile_data->row = (guint) number; current = get_attribute_value ("col", attribute_names, attribute_values); number = atoi (current); tile_data->col = (guint) number; tile_data->tile = NULL; g_markup_parse_context_push (context, &position_parser, tile_data); } else { printf ("playfield: starting %s\n", element_name); } } void playfield_parser_text (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error) { //printf ("playfield: text %s\n", text); } void playfield_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { PlayField *playfield = user_data; TileData *tile_data = NULL; if (!g_strcmp0 (element_name, "position")) { tile_data = g_markup_parse_context_pop (context); playfield_set_tile (playfield, tile_data->row, tile_data->col, tile_data->tile); g_slice_free (TileData, tile_data); } else { printf ("playfield: ending %s\n", element_name); } } atomix-3.19.4/src/playfield.h000066400000000000000000000070201264725221400160260ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_PLAY_FIELD_H #define _ATOMIX_PLAY_FIELD_H #include #include "tile.h" #include "theme.h" #define PLAYFIELD_TYPE (playfield_get_type ()) #define PLAYFIELD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PLAYFIELD_TYPE, PlayField)) #define PLAYFIELD_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), PLAYFIELD_TYPE, PlayFieldClass)) #define IS_PLAYFIELD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PLAYFIELD_TYPE)) #define IS_PLAYFIELD_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PLAYFIELD_TYPE)) #define PLAYFIELD_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), PLAYFIELD_TYPE, PlayFieldClass)) typedef struct _PlayFieldPrivate PlayFieldPrivate; typedef struct { GObject parent; PlayFieldPrivate *priv; } PlayField; typedef struct { GObjectClass parent_class; } PlayFieldClass; GType playfield_get_type (void); PlayField *playfield_new (void); guint playfield_get_n_rows (PlayField * pf); guint playfield_get_n_cols (PlayField * pf); void playfield_add_row (PlayField * pf); void playfield_add_column (PlayField * pf); Tile *playfield_get_tile (PlayField * pf, guint row, guint col); void playfield_set_tile (PlayField * pf, guint row, guint col, Tile * tile); void playfield_set_matrix_size (PlayField * pf, guint n_rows, guint n_cols); PlayField *playfield_strip (PlayField * pf); PlayField *playfield_copy (PlayField * pf); Tile *playfield_clear_tile (PlayField * pf, guint row, guint col); void playfield_swap_tiles (PlayField * pf, guint src_row, guint src_col, guint dest_row, guint dest_col); void playfield_print (PlayField * pf); void playfield_clear (PlayField * pf); PlayField *playfield_generate_environment (PlayField * pf, Theme * theme); PlayField *playfield_generate_shadow (PlayField * pf); void playfield_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); void playfield_parser_text (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error); void playfield_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); #endif /* _ATOMIX_PLAY_FIELD_H */ atomix-3.19.4/src/preferences.c000066400000000000000000000222011264725221400163470ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "preferences.h" #include "board.h" #include "main.h" Preferences *preferences; #define GLADE_FILE "/home/jens/projekte/atomix/atomix.glade" GladeXML *pref_xml; void handle_apply (GtkWidget *propertybox, gint page_num, gpointer data); void handle_mouse_ctrl_toggled (GtkToggleButton *togglebutton, gpointer data); void handle_widget_changed (GtkWidget *widget, gpointer data); void handle_global_checkbox_toggled (GtkToggleButton *togglebutton, gpointer data); void preferences_init (void) { preferences = g_malloc (sizeof (Preferences)); preferences->mouse_control = gnome_config_get_bool ("/atomix/Control/MouseControl=true"); preferences->keyboard_control = gnome_config_get_bool ("/atomix/Control/KeyboardControl=false"); preferences->hide_cursor = gnome_config_get_bool ("/atomix/Control/HideCursor=true"); preferences->lazy_dragging = gnome_config_get_bool ("/atomix/Control/LazyDragging=true"); preferences->mouse_sensitivity = gnome_config_get_int ("/atomix/Control/MouseSensitivity=8"); preferences->score_time_enabled = gnome_config_get_bool ("/atomix/Global/EnableScoreAndTimeLimit=true"); } void preferences_destroy (void) { if (preferences) { g_free (preferences); } } void preferences_save (void) { if (preferences) { gnome_config_set_bool ("/atomix/Global/EnableScoreAndTimeLimit", preferences->score_time_enabled); gnome_config_set_bool ("/atomix/Control/MouseControl", preferences->mouse_control); gnome_config_set_bool ("/atomix/Control/KeyboardControl", preferences->keyboard_control); gnome_config_set_bool ("/atomix/Control/HideCursor", preferences->hide_cursor); gnome_config_set_bool ("/atomix/Control/LazyDragging", preferences->lazy_dragging); gnome_config_set_int ("/atomix/Control/MouseSensitivitiy", preferences->mouse_sensitivity); gnome_config_sync (); } } Preferences *preferences_get (void) { return preferences; } void preferences_show_dialog (void) { GtkWidget *dlg; GtkWidget *radio_keyboard; GtkWidget *radio_mouse; GtkWidget *check_hide_cursor; GtkWidget *check_lazy_dragging; GtkWidget *check_score_time; GtkWidget *scroll_sensitivity; GtkAdjustment *adjustment; pref_xml = glade_xml_new (GLADE_FILE, "dlg_properties", NULL); dlg = glade_xml_get_widget (pref_xml, "dlg_properties"); g_signal_connect (dlg, "apply", G_CALLBACK (handle_apply), NULL); /* get widget */ radio_keyboard = glade_xml_get_widget (pref_xml, "radio_keyboard"); radio_mouse = glade_xml_get_widget (pref_xml, "radio_mouse"); check_hide_cursor = glade_xml_get_widget (pref_xml, "check_hide_cursor"); check_lazy_dragging = glade_xml_get_widget (pref_xml, "check_lazy_dragging"); check_score_time = glade_xml_get_widget (pref_xml, "check_score_time"); scroll_sensitivity = glade_xml_get_widget (pref_xml, "scroll_sensitivity"); /* set widget state */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_mouse), preferences->mouse_control); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_keyboard), preferences->keyboard_control); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_hide_cursor), preferences->hide_cursor); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_lazy_dragging), preferences->lazy_dragging); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_score_time), preferences->score_time_enabled); adjustment = gtk_range_get_adjustment (GTK_RANGE (scroll_sensitivity)); gtk_adjustment_set_value (GTK_ADJUSTMENT (adjustment), (preferences->mouse_sensitivity / 2)); /* enable according to game state */ if (get_game_state () != GAME_NOT_RUNNING) { GtkWidget *frame; frame = glade_xml_get_widget (pref_xml, "frame_constraints"); gtk_widget_set_sensitive (GTK_WIDGET (frame), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (check_score_time), FALSE); } /* if keyboard control selected, disable mouse properties */ if (preferences->keyboard_control) { GtkWidget *frame = glade_xml_get_widget (pref_xml, "frame_mouse_props"); gtk_widget_set_sensitive (frame, FALSE); } /* connect widgets with handlers */ g_signal_connect (radio_mouse, "toggled", G_CALLBACK (handle_mouse_ctrl_toggled), dlg); g_signal_connect (radio_keyboard, "toggled", G_CALLBACK (handle_widget_changed), dlg); g_signal_connect (check_hide_cursor, "toggled", G_CALLBACK (handle_widget_changed), dlg); g_signal_connect (check_lazy_dragging, "toggled", G_CALLBACK (handle_widget_changed), dlg); g_signal_connect (check_score_time, "toggled", G_CALLBACK (handle_global_checkbox_toggled), dlg); g_signal_connect (adjustment, "value-changed", G_CALLBACK (handle_widget_changed), dlg); /* show dialog */ gtk_widget_show (dlg); } void handle_apply (GtkWidget *propertybox, gint page_num, gpointer data) { GtkWidget *radio_keyboard; GtkWidget *radio_mouse; GtkWidget *check_hide_cursor; GtkWidget *check_lazy_dragging; GtkWidget *check_score_time; GtkWidget *scroll_sensitivity; GtkAdjustment *adjustment; if (page_num == 0 /* general */ ) { /* get widgets */ check_score_time = glade_xml_get_widget (pref_xml, "check_score_time"); /* set new values */ preferences->score_time_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_score_time)); } else if (page_num == 1 /* control */ ) { /* get widgets */ radio_keyboard = glade_xml_get_widget (pref_xml, "radio_keyboard"); radio_mouse = glade_xml_get_widget (pref_xml, "radio_mouse"); check_hide_cursor = glade_xml_get_widget (pref_xml, "check_hide_cursor"); check_lazy_dragging = glade_xml_get_widget (pref_xml, "check_lazy_dragging"); scroll_sensitivity = glade_xml_get_widget (pref_xml, "scroll_sensitivity"); adjustment = gtk_range_get_adjustment (GTK_RANGE (scroll_sensitivity)); /* switch keyboard/mouse control if neccessary */ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_mouse))) { if (!preferences->mouse_control) { board_set_mouse_control (); } } else { if (!preferences->keyboard_control) { board_set_keyboard_control (); } } /* set new values */ preferences->mouse_control = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_mouse)); preferences->keyboard_control = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_keyboard)); preferences->hide_cursor = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_hide_cursor)); preferences->lazy_dragging = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_lazy_dragging)); preferences->mouse_sensitivity = (gint) (adjustment->value * 2); } else if (page_num == -1 /* all */ ) { /* save preferences */ preferences_save (); } } void handle_mouse_ctrl_toggled (GtkToggleButton *togglebutton, gpointer data) { GtkWidget *frame; /* get widgets */ frame = glade_xml_get_widget (pref_xml, "frame_mouse_props"); /* set status of property box */ gnome_property_box_changed (GNOME_PROPERTY_BOX (data)); /* enable/disable mouse control properties */ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (togglebutton))) { gtk_widget_set_sensitive (frame, TRUE); } else { gtk_widget_set_sensitive (frame, FALSE); } } void handle_widget_changed (GtkWidget *widget, gpointer data) { gnome_property_box_changed (GNOME_PROPERTY_BOX (data)); } void handle_global_checkbox_toggled (GtkToggleButton *togglebutton, gpointer data) { if (get_game_state () != GAME_NOT_RUNNING) { GtkWidget *frame; frame = glade_xml_get_widget (pref_xml, "frame_mouse_props"); gtk_widget_set_sensitive (GTK_WIDGET (frame), FALSE); g_signal_handlers_disconnect_by_func (togglebutton, G_CALLBACK (handle_global_checkbox_toggled), data); gtk_toggle_button_set_active (togglebutton, !gtk_toggle_button_get_active (togglebutton)); } else { gnome_property_box_changed (GNOME_PROPERTY_BOX (data)); } } atomix-3.19.4/src/preferences.h000066400000000000000000000025301264725221400163570ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_PREFERENCES_H_ #define _ATOMIX_PREFERENCES_H_ typedef struct _Preferences Preferences; struct _Preferences { gboolean mouse_control; gboolean keyboard_control; gboolean hide_cursor; gboolean lazy_dragging; gint mouse_sensitivity; gboolean score_time_enabled; }; void preferences_init (void); void preferences_destroy (void); void preferences_save (void); Preferences *preferences_get (void); void preferences_show_dialog (void); #endif /* _ATOMIX_PREFERENCES_H_ */ atomix-3.19.4/src/theme-manager.c000066400000000000000000000260271264725221400165720ustar00rootroot00000000000000/* -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include #include #include "theme-manager.h" #include "theme-private.h" #include "xml-util.h" static GObjectClass *parent_class = NULL; static void search_themes_in_dir (ThemeManager *tm, const gchar *dir_path); static void add_theme (ThemeManager *tm, gchar *themename, gchar *dirpath); static void add_theme_to_list (gchar *key, gpointer value, GList **list); static Theme *load_theme (gchar *theme_dir); static gchar *lookup_theme_name (gchar *theme_file); static void theme_manager_class_init (GObjectClass *class); static void theme_manager_init (ThemeManager *tm); static void theme_manager_finalize (GObject *object); struct _ThemeManagerPrivate { gboolean initialized; GHashTable *themes; }; static void theme_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { const gchar *prop_value; Theme *theme = THEME (user_data); ThemePrivate *priv = theme->priv; if (!g_strcmp0 (element_name, "theme")) { prop_value = get_attribute_value ("name", attribute_names, attribute_values); priv->name = g_strdup (prop_value); } else if (!g_strcmp0 (element_name, "icon")) { gchar *src; GdkPixbuf *pixbuf; gint alpha = 255; src = g_build_filename (theme->priv->path, get_attribute_value ("src", attribute_names, attribute_values), NULL); prop_value = get_attribute_value ("alpha", attribute_names, attribute_values); if (prop_value != NULL) alpha = CLAMP (atoi (prop_value), 0, 255); if (theme->priv->tile_width == 0) { pixbuf = gdk_pixbuf_new_from_file (src, NULL); if (pixbuf != NULL) { theme->priv->tile_width = gdk_pixbuf_get_width (pixbuf); theme->priv->tile_height = gdk_pixbuf_get_height (pixbuf); g_object_unref (pixbuf); } } theme_add_image (theme, src, alpha); g_free (src); } else if (!g_strcmp0 (element_name, "animstep")) { priv->animstep = atoi (get_attribute_value ("dist", attribute_names, attribute_values)); } else if (!g_strcmp0 (element_name, "bgcolor")) { /* handle background color */ prop_value = get_attribute_value ("color", attribute_names, attribute_values); gdk_rgba_parse (&(priv->bg_color), prop_value); } else if (!g_strcmp0 (element_name, "bgcolor_rgb")) { /* handle rgb color node */ prop_value = get_attribute_value ("red", attribute_names, attribute_values); priv->bg_color.red = (atof (prop_value) / 255.0) * 65536; prop_value = get_attribute_value ("blue", attribute_names, attribute_values); priv->bg_color.blue = (atof (prop_value) / 255.0) * 65536; prop_value = get_attribute_value ("green", attribute_names, attribute_values); priv->bg_color.green = (atof (prop_value) / 255.0) * 65536; } else if (!g_strcmp0 (element_name, "decor")) { gchar *src; const gchar *base; GQuark base_id; GQuark decor_id; gint alpha = 255; src = g_build_filename (theme->priv->path, get_attribute_value ("src", attribute_names, attribute_values), NULL); prop_value = get_attribute_value ("alpha", attribute_names, attribute_values); if (prop_value != NULL) { alpha = CLAMP (atoi (prop_value), 0, 255); } decor_id = theme_add_image (theme, src, alpha); g_free (src); base = get_attribute_value ("base", attribute_names, attribute_values); if (base == NULL) return; base_id = g_quark_from_string (base); theme_add_image_decoration (theme, base_id, decor_id); } } static GMarkupParser theme_parser = { theme_parser_start_element, NULL, NULL, NULL, xml_parser_log_error }; GType theme_manager_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (ThemeManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) theme_manager_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (ThemeManager), 0, /* n_preallocs */ (GInstanceInitFunc) theme_manager_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "ThemeManager", &object_info, 0); } return object_type; } /*================================================================= Theme_Manager creation, initialisation and clean up ---------------------------------------------------------------*/ static void theme_manager_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = theme_manager_finalize; } static void theme_manager_init (ThemeManager *tm) { ThemeManagerPrivate *priv; priv = g_new0 (ThemeManagerPrivate, 1); priv->initialized = FALSE; priv->themes = g_hash_table_new_full ((GHashFunc) g_str_hash, (GCompareFunc) g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) g_free); tm->priv = priv; } static void theme_manager_finalize (GObject *object) { ThemeManager *tm = THEME_MANAGER (object); g_hash_table_destroy (tm->priv->themes); g_free (tm->priv); tm->priv = NULL; } ThemeManager *theme_manager_new (void) { ThemeManager *tm; tm = THEME_MANAGER (g_object_new (THEME_MANAGER_TYPE, NULL)); return tm; } void theme_manager_init_themes (ThemeManager *tm) { gchar *dir_path; g_return_if_fail (IS_THEME_MANAGER (tm)); g_return_if_fail (!tm->priv->initialized); dir_path = g_build_filename (g_get_home_dir (), ".atomix", "themes", NULL); search_themes_in_dir (tm, dir_path); g_free (dir_path); dir_path = g_build_filename (DATADIR, "atomix", "themes", NULL); search_themes_in_dir (tm, dir_path); g_free (dir_path); if (g_hash_table_size (tm->priv->themes) == 0) g_warning (_("No themes found.")); tm->priv->initialized = TRUE; } static void search_themes_in_dir (ThemeManager *tm, const gchar *dir_path) { struct dirent *dent = NULL; DIR *dir; dir = opendir (dir_path); if (dir) { char *filename; char *themename; char *subdirpath; while ((dent = readdir (dir)) != NULL) { if ((g_ascii_strcasecmp (".", dent->d_name) != 0) && (g_ascii_strcasecmp ("..", dent->d_name) != 0)) { /* is current file a directory? */ subdirpath = g_build_filename (dir_path, dent->d_name, NULL); if (g_file_test (subdirpath, G_FILE_TEST_IS_DIR)) { /* try to load file */ filename = g_build_filename (subdirpath, "theme", NULL); themename = lookup_theme_name (filename); add_theme (tm, themename, subdirpath); g_free (filename); g_free (themename); } g_free (subdirpath); } } g_free (dent); closedir (dir); } } static void add_theme (ThemeManager *tm, gchar *themename, gchar *dirpath) { gchar *search_result; g_return_if_fail (IS_THEME_MANAGER (tm)); g_return_if_fail (themename != NULL); g_return_if_fail (dirpath != NULL); /* don't add a theme twice */ search_result = g_hash_table_lookup (tm->priv->themes, themename); if (search_result == NULL) { g_hash_table_insert (tm->priv->themes, g_strdup (themename), g_strdup (dirpath)); #ifdef DEBUG g_message (_("Found theme '%s' in: %s"), themename, dirpath); #endif } } GList *theme_manager_get_available_themes (ThemeManager *tm) { GList *list = NULL; g_return_val_if_fail (IS_THEME_MANAGER (tm), NULL); g_hash_table_foreach (tm->priv->themes, (GHFunc) add_theme_to_list, &list); return list; } static void add_theme_to_list (gchar *key, gpointer value, GList **list) { *list = g_list_insert_sorted (*list, key, (GCompareFunc) g_ascii_strcasecmp); } /* ======================================================================= Theme loading stuff ======================================================================== */ Theme *theme_manager_get_theme (ThemeManager *tm, const gchar *theme_name) { Theme *theme; gchar *theme_dir; g_return_val_if_fail (IS_THEME_MANAGER (tm), NULL); g_return_val_if_fail (tm->priv->initialized, NULL); theme_dir = g_hash_table_lookup (tm->priv->themes, theme_name); if (theme_dir == NULL) return NULL; theme = load_theme (theme_dir); return theme; } static Theme *load_theme (gchar *theme_dir) { Theme *theme = NULL; ThemePrivate *priv; gchar *theme_file_path; GFile *theme_file; gchar *theme_contents; gsize theme_length; GMarkupParseContext *parse_context; g_return_val_if_fail (theme_dir != NULL, NULL); theme_file_path = g_build_filename (theme_dir, "theme", NULL); if (!g_file_test (theme_file_path, G_FILE_TEST_IS_REGULAR)) { g_warning ("File not found: %s.", theme_file_path); g_free (theme_file_path); return NULL; } theme_file = g_file_new_for_path (theme_file_path); g_free (theme_file_path); if (g_file_load_contents (theme_file, NULL, &theme_contents, &theme_length, NULL, NULL)) { theme = theme_new (); priv = theme->priv; priv->path = g_strdup (theme_dir); parse_context = g_markup_parse_context_new (&theme_parser, G_MARKUP_TREAT_CDATA_AS_TEXT, theme, NULL); g_markup_parse_context_parse (parse_context, theme_contents, theme_length, NULL); g_markup_parse_context_unref (parse_context); g_free (theme_contents); } g_object_unref (theme_file); return theme; } static gchar *lookup_theme_name (gchar *theme_file) { gchar *name = NULL; GFile *file; GFile *folder; Theme *theme = NULL; gchar *theme_path = NULL; file = g_file_new_for_path (theme_file); folder = g_file_get_parent (file); theme_path = g_file_get_path (folder); theme = load_theme (theme_path); name = theme_get_name (theme); g_free (theme_path); g_object_unref (file); g_object_unref (folder); return name; } atomix-3.19.4/src/theme-manager.h000066400000000000000000000037751264725221400166040ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_THEME_MANAGER_H_ #define _ATOMIX_THEME_MANAGER_H_ #include #include "theme.h" #define THEME_MANAGER_TYPE (theme_manager_get_type ()) #define THEME_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), THEME_MANAGER_TYPE, ThemeManager)) #define THEME_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), THEME_MANAGER_TYPE, ThemeManager)) #define IS_THEME_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), THEME_MANAGER_TYPE)) #define IS_THEME_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), THEME_MANAGER_TYPE)) #define THEME_MANAGER_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), THEME_MANAGER_TYPE, ThemeManagerClass)) typedef struct _ThemeManagerPrivate ThemeManagerPrivate; typedef struct { GObject parent; ThemeManagerPrivate *priv; } ThemeManager; typedef struct { GObjectClass parent_class; } ThemeManagerClass; GType theme_manager_get_type (void); ThemeManager *theme_manager_new (void); void theme_manager_init_themes (ThemeManager * tm); Theme *theme_manager_get_theme (ThemeManager * tm, const gchar * theme_name); GList *theme_manager_get_available_themes (ThemeManager * tm); #endif /* _ATOMIX_THEME_MANAGER_H_ */ atomix-3.19.4/src/theme-private.h000066400000000000000000000035711264725221400166360ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_THEME_PRIVATE_H_ #define _ATOMIX_THEME_PRIVATE_H_ #include #include "tile.h" typedef struct { GQuark id; /* the id */ gchar *file; /* file name */ gboolean loading_failed; /* if once the image loading failed. */ GdkPixbuf *image; /* image */ gint alpha; /* alpha value to use for overy-/underlay */ GSList *decorations; /* possible decoration images */ } ThemeImage; struct _ThemePrivate { gchar *name; /* name of the theme */ gchar *path; /* full qualified path to the theme directory */ gint tile_width; /* width of each tile */ gint tile_height; /* height of each tile */ gint animstep; /* number of pixels to move a atom in one animation step */ GdkRGBA bg_color; /* background color */ GData *images; /* key/data list for all the images */ }; Theme *theme_new (void); GQuark theme_add_image (Theme * theme, const gchar * src, gint alpha); void theme_add_image_decoration (Theme * theme, GQuark base, GQuark decor); #endif /* _ATOMIX_THEME_PRIVATE_H_ */ atomix-3.19.4/src/theme.c000066400000000000000000000251311264725221400151550ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "theme.h" #include "theme-private.h" /*================================================================= Declaration of internal functions ---------------------------------------------------------------*/ static void theme_class_init (GObjectClass *class); static void theme_init (Theme *theme); static void theme_finalize (GObject *object); static void destroy_theme_image (gpointer data); GObjectClass *parent_class; GType theme_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (ThemeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) theme_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (Theme), 0, /* n_preallocs */ (GInstanceInitFunc) theme_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "Theme", &object_info, 0); } return object_type; } /*================================================================= Theme creation, initialisation and clean up ---------------------------------------------------------------*/ static void theme_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = theme_finalize; } static void theme_init (Theme *theme) { ThemePrivate *priv; priv = g_new0 (ThemePrivate, 1); priv->name = NULL; priv->path = NULL; priv->tile_width = 0; priv->tile_height = 0; priv->animstep = 0; priv->bg_color.red = 0; priv->bg_color.green = 0; priv->bg_color.blue = 0; g_datalist_init (&priv->images); theme->priv = priv; } static void theme_finalize (GObject *object) { ThemePrivate *priv; Theme *theme = THEME (object); g_return_if_fail (theme != NULL); #ifdef DEBUG g_message ("Finalize theme"); #endif priv = theme->priv; if (priv->name) g_free (priv->name); priv->name = NULL; if (priv->path) g_free (priv->path); priv->path = NULL; if (priv->images) g_datalist_clear (&priv->images); g_free (theme->priv); theme->priv = NULL; } Theme *theme_new (void) { Theme *theme; theme = THEME (g_object_new (THEME_TYPE, NULL)); return theme; } /*================================================================= Theme functions ---------------------------------------------------------------*/ gchar *theme_get_name (Theme *theme) { g_return_val_if_fail (IS_THEME (theme), NULL); return theme->priv->name; } gint theme_get_animstep (Theme *theme) { g_return_val_if_fail (IS_THEME (theme), 0); return theme->priv->animstep; } static void destroy_theme_image (gpointer data) { ThemeImage *ti; ti = (ThemeImage *) data; if (ti == NULL) return; if (ti->file) g_free (ti->file); if (ti->image) g_object_unref (ti->image); if (ti->decorations) g_slist_free (ti->decorations); g_free (ti); } static GdkPixbuf *get_theme_image_pixbuf (ThemeImage *ti) { GdkPixbuf *pixbuf; if (ti == NULL) return NULL; if (ti->loading_failed) return NULL; if (ti->image == NULL) { ti->image = gdk_pixbuf_new_from_file (ti->file, NULL); if (ti->image == NULL) ti->loading_failed = TRUE; else if (ti->alpha < 255) { pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, gdk_pixbuf_get_width (ti->image), gdk_pixbuf_get_height (ti->image)); gdk_pixbuf_fill (pixbuf, 0x00000000); gdk_pixbuf_composite (ti->image, pixbuf, 0, 0, gdk_pixbuf_get_width (pixbuf), gdk_pixbuf_get_height (pixbuf), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, ti->alpha); g_object_unref (ti->image); ti->image = pixbuf; } } if (ti->image != NULL) g_object_ref (ti->image); return ti->image; } static GdkPixbuf *create_sub_images (Theme *theme, Tile *tile, TileSubType sub_type) { ThemePrivate *priv; GSList *elem; ThemeImage *ti; GdkPixbuf *pixbuf = NULL; GdkPixbuf *pb; g_return_val_if_fail (IS_THEME (theme), NULL); g_return_val_if_fail (IS_TILE (tile), NULL); priv = theme->priv; elem = tile_get_sub_ids (tile, sub_type); for (; elem != NULL; elem = elem->next) { ti = g_datalist_id_get_data (&priv->images, GPOINTER_TO_QUARK (elem->data)); if (ti == NULL) continue; pb = get_theme_image_pixbuf (ti); if (pb == NULL) { #ifdef DEBUG g_warning ("Couldn't load sub image: %s", g_quark_to_string (GPOINTER_TO_QUARK (elem->data))); #endif continue; } if (pixbuf == NULL) { pixbuf = gdk_pixbuf_copy (pb); } else { gdk_pixbuf_composite (pb, pixbuf, 0, 0, gdk_pixbuf_get_width (pixbuf), gdk_pixbuf_get_height (pixbuf), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255); } g_object_unref (pb); } return pixbuf; } gboolean theme_apply_decoration (Theme *theme, Tile *tile) { static int counter = 0; ThemeImage *ti; gint n_decorations; GQuark decor_id; if (tile == NULL) return FALSE; g_return_val_if_fail (IS_THEME (theme), FALSE); g_return_val_if_fail (IS_TILE (tile), FALSE); ti = g_datalist_id_get_data (&theme->priv->images, tile_get_base_id (tile)); if (ti->decorations == NULL) return FALSE; n_decorations = g_slist_length (ti->decorations); decor_id = GPOINTER_TO_QUARK (g_slist_nth_data (ti->decorations, counter++ % n_decorations)); tile_add_sub_id (tile, decor_id, TILE_SUB_OVERLAY); return TRUE; } GdkPixbuf *theme_get_tile_image (Theme *theme, Tile *tile) { ThemePrivate *priv; GQuark image_id; ThemeImage *ti = NULL; GdkPixbuf *underlay_pb = NULL; GdkPixbuf *overlay_pb = NULL; GdkPixbuf *base_pb = NULL; GdkPixbuf *result = NULL; gint tw, th; g_return_val_if_fail (IS_THEME (theme), NULL); g_return_val_if_fail (IS_TILE (tile), NULL); priv = theme->priv; image_id = tile_get_base_id (tile); underlay_pb = create_sub_images (theme, tile, TILE_SUB_UNDERLAY); overlay_pb = create_sub_images (theme, tile, TILE_SUB_OVERLAY); ti = g_datalist_id_get_data (&priv->images, image_id); base_pb = get_theme_image_pixbuf (ti); if (base_pb == NULL) { theme_get_tile_size (theme, &tw, &th); base_pb = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, tw, th); gdk_pixbuf_fill (base_pb, 0); } if (underlay_pb && overlay_pb) { result = gdk_pixbuf_copy (underlay_pb); gdk_pixbuf_composite (base_pb, result, 0, 0, gdk_pixbuf_get_width (result), gdk_pixbuf_get_height (result), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255); gdk_pixbuf_composite (overlay_pb, result, 0, 0, gdk_pixbuf_get_width (result), gdk_pixbuf_get_height (result), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255); g_object_unref (overlay_pb); g_object_unref (underlay_pb); } else if (!underlay_pb && overlay_pb) { result = gdk_pixbuf_copy (base_pb); gdk_pixbuf_composite (overlay_pb, result, 0, 0, gdk_pixbuf_get_width (result), gdk_pixbuf_get_height (result), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255); g_object_unref (overlay_pb); } else if (underlay_pb && !overlay_pb) { result = gdk_pixbuf_copy (underlay_pb); gdk_pixbuf_composite (base_pb, result, 0, 0, gdk_pixbuf_get_width (result), gdk_pixbuf_get_height (result), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255); g_object_unref (underlay_pb); } else result = g_object_ref (base_pb); g_object_unref (base_pb); return result; } GdkPixbuf *theme_get_selector_image (Theme *theme) { static GQuark cursor_id = 0; ThemeImage *ti; if (!cursor_id) cursor_id = g_quark_from_static_string ("cursor"); g_return_val_if_fail (IS_THEME (theme), NULL); ti = g_datalist_id_get_data (&theme->priv->images, cursor_id); return get_theme_image_pixbuf (ti); } void theme_get_selector_arrow_images (Theme *theme, GdkPixbuf **arrows) { gint i; ThemeImage *ti; static GQuark arrow_id[4] = { 0, 0, 0, 0 }; if (!arrow_id[0]) { arrow_id[0] = g_quark_from_static_string ("arrow-top"); arrow_id[1] = g_quark_from_static_string ("arrow-right"); arrow_id[2] = g_quark_from_static_string ("arrow-bottom"); arrow_id[3] = g_quark_from_static_string ("arrow-left"); } for (i = 0; i < 4; i++) { ti = g_datalist_id_get_data (&theme->priv->images, arrow_id[i]); arrows[i] = get_theme_image_pixbuf (ti); } } void theme_get_tile_size (Theme *theme, gint *width, gint *height) { *width = *height = 0; g_return_if_fail (IS_THEME (theme)); *width = theme->priv->tile_width; *height = theme->priv->tile_height; } GdkRGBA *theme_get_background_color (Theme *theme) { return &(theme->priv->bg_color); } GQuark theme_add_image (Theme *theme, const gchar *src, gint alpha) { ThemeImage *ti; gchar *filename; gchar *suffix; g_return_val_if_fail (IS_THEME (theme), 0); g_return_val_if_fail (src != NULL, 0); g_return_val_if_fail (0 <= alpha && alpha <= 255, 0); ti = g_new0 (ThemeImage, 1); ti->file = g_strdup (src); ti->loading_failed = FALSE; ti->image = NULL; ti->alpha = alpha; ti->decorations = NULL; filename = g_path_get_basename (src); suffix = g_strrstr (filename, ".png"); if (suffix != NULL) *suffix = '\0'; else { suffix = g_strrstr (filename, ".gif"); if (suffix != NULL) *suffix = '\0'; } ti->id = g_quark_from_string (filename); g_datalist_id_set_data_full (&theme->priv->images, ti->id, ti, destroy_theme_image); g_free (filename); return ti->id; } void theme_add_image_decoration (Theme *theme, GQuark base, GQuark decor) { ThemeImage *ti; g_return_if_fail (IS_THEME (theme)); ti = g_datalist_id_get_data (&theme->priv->images, base); if (ti == NULL) return; ti->decorations = g_slist_append (ti->decorations, GQUARK_TO_POINTER (decor)); } atomix-3.19.4/src/theme.h000066400000000000000000000042761264725221400151710ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_THEME_H_ #define _ATOMIX_THEME_H_ #include #include #include "tile.h" #define THEME_TYPE (theme_get_type ()) #define THEME(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), THEME_TYPE, Theme)) #define THEME_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), THEME_TYPE, ThemeClass)) #define IS_THEME(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), THEME_TYPE)) #define IS_THEME_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), THEME_TYPE)) #define THEME_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), THEME_TYPE, ThemeClass)) typedef struct _ThemePrivate ThemePrivate; typedef struct { GObject parent; ThemePrivate *priv; } Theme; typedef struct { GObjectClass parent_class; } ThemeClass; GType theme_get_type (void); /* This class can't be directyl instantiated. Use * ThemeManager to get an Theme object. */ GdkPixbuf *theme_get_tile_image (Theme * theme, Tile * tile); GdkRGBA *theme_get_background_color (Theme * theme); GdkPixbuf *theme_get_selector_image (Theme * theme); void theme_get_selector_arrow_images (Theme * theme, GdkPixbuf ** arrow_images); void theme_get_tile_size (Theme * theme, gint * width, gint * height); gchar *theme_get_name (Theme * theme); gint theme_get_animstep (Theme * theme); gboolean theme_apply_decoration (Theme * theme, Tile * tile); #endif /* _ATOMIX_THEME_H_ */ atomix-3.19.4/src/tile.c000066400000000000000000000214021264725221400150050ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include "tile.h" #include "xml-util.h" static GObjectClass *parent_class = NULL; static void tile_class_init (GObjectClass *class); static void tile_init (Tile *tile); static void tile_finalize (GObject *object); struct _TilePrivate { TileType type; GQuark base_id; GSList *sub_id_list[2]; }; GType tile_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (TileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tile_class_init, NULL, /* clas_finalize */ NULL, /* class_data */ sizeof (Tile), 0, /* n_preallocs */ (GInstanceInitFunc) tile_init, }; object_type = g_type_register_static (G_TYPE_OBJECT, "Tile", &object_info, 0); } return object_type; } /*================================================================= Tile creation, initialisation and clean up ---------------------------------------------------------------*/ static void tile_class_init (GObjectClass *class) { parent_class = g_type_class_ref (G_TYPE_OBJECT); class->finalize = tile_finalize; } static void tile_init (Tile *tile) { TilePrivate *priv; priv = g_new0 (TilePrivate, 1); priv->type = TILE_TYPE_UNKNOWN; priv->base_id = 0; priv->sub_id_list[TILE_SUB_OVERLAY] = NULL; priv->sub_id_list[TILE_SUB_UNDERLAY] = NULL; tile->priv = priv; } static void tile_finalize (GObject *object) { Tile *tile = TILE (object); g_slist_free (tile->priv->sub_id_list[TILE_SUB_OVERLAY]); g_slist_free (tile->priv->sub_id_list[TILE_SUB_UNDERLAY]); g_free (tile->priv); tile->priv = NULL; } Tile *tile_new (TileType type) { Tile *tile; tile = TILE (g_object_new (TILE_TYPE, NULL)); tile->priv->type = type; return tile; } /*================================================================= Tile functions ---------------------------------------------------------------*/ Tile *tile_copy (Tile *tile) { GSList *sub_id; Tile *tile_copy; int id, i; g_return_val_if_fail (IS_TILE (tile), NULL); tile_copy = tile_new (tile->priv->type); tile_copy->priv->base_id = tile->priv->base_id; for (i = 0; i < 2; i++) { sub_id = tile->priv->sub_id_list[i]; for (; sub_id != NULL; sub_id = sub_id->next) { id = GPOINTER_TO_QUARK (sub_id->data); tile_copy->priv->sub_id_list[i] = g_slist_append (tile_copy->priv->sub_id_list[i], GQUARK_TO_POINTER (id)); } } return tile_copy; } GSList *tile_get_sub_ids (Tile *tile, TileSubType sub_type) { g_return_val_if_fail (IS_TILE (tile), NULL); return tile->priv->sub_id_list[sub_type]; } GQuark tile_get_base_id (Tile *tile) { g_return_val_if_fail (IS_TILE (tile), 0); return tile->priv->base_id; } TileType tile_get_tile_type (Tile *tile) { g_return_val_if_fail (IS_TILE (tile), TILE_TYPE_UNKNOWN); return tile->priv->type; } static gint list_compare_func (gconstpointer a, gconstpointer b) { return GPOINTER_TO_QUARK (a) - GPOINTER_TO_QUARK (b); } void tile_add_sub_id (Tile *tile, guint id, TileSubType sub_type) { g_return_if_fail (IS_TILE (tile)); tile->priv->sub_id_list[sub_type] = g_slist_insert_sorted (tile->priv->sub_id_list[sub_type], GQUARK_TO_POINTER (id), list_compare_func); } void tile_remove_sub_id (Tile *tile, guint id, TileSubType sub_type) { GSList *result; g_return_if_fail (IS_TILE (tile)); result = g_slist_find (tile->priv->sub_id_list[sub_type], GQUARK_TO_POINTER (id)); if (result != NULL) tile->priv->sub_id_list[sub_type] = g_slist_delete_link (tile->priv->sub_id_list[sub_type], result); } void tile_remove_all_sub_ids (Tile *tile, TileSubType sub_type) { g_return_if_fail (IS_TILE (tile)); g_slist_free (tile->priv->sub_id_list[sub_type]); tile->priv->sub_id_list[sub_type] = NULL; } void tile_set_base_id (Tile *tile, GQuark id) { g_return_if_fail (IS_TILE (tile)); tile->priv->base_id = id; } gboolean tile_is_equal (Tile *tile, Tile *comp) { GSList *elem; GSList *comp_elem; gint i; g_return_val_if_fail (IS_TILE (tile), FALSE); g_return_val_if_fail (IS_TILE (comp), FALSE); if (tile->priv->type != comp->priv->type) return FALSE; if (tile->priv->base_id != comp->priv->base_id) return FALSE; for (i = 0; i < 2; i++) { elem = tile->priv->sub_id_list[i]; comp_elem = comp->priv->sub_id_list[i]; for (; elem != NULL && comp_elem != NULL; elem = elem->next, comp_elem = comp_elem->next) { if (GPOINTER_TO_QUARK (elem->data) != GPOINTER_TO_QUARK (comp_elem->data)) return FALSE; } if (elem != NULL || comp_elem != NULL) return FALSE; } return TRUE; } void tile_set_tile_type (Tile *tile, TileType type) { g_return_if_fail (IS_TILE (tile)); tile->priv->type = type; } void tile_print (Tile *tile) { gchar *type_str; g_return_if_fail (IS_TILE (tile)); switch (tile->priv->type) { case TILE_TYPE_NONE: type_str = "NONE"; break; case TILE_TYPE_ATOM: type_str = "ATOM"; break; case TILE_TYPE_WALL: type_str = "WALL"; break; case TILE_TYPE_FLOOR: type_str = "FLOR"; break; default: type_str = "UKWN"; break; } g_print ("%s ", type_str); } /*================================================================= Tile load/parse functions ---------------------------------------------------------------*/ TileType tile_type_from_string (const gchar *str) { TileType tile_type = TILE_TYPE_UNKNOWN; static int prefix_len = 0; if (!prefix_len) prefix_len = strlen ("TILE_TYPE_"); g_return_val_if_fail (str != NULL, tile_type); str += prefix_len; if (!g_ascii_strcasecmp (str, "FLOOR")) tile_type = TILE_TYPE_FLOOR; else if (!g_ascii_strcasecmp (str, "WALL")) tile_type = TILE_TYPE_WALL; else if (!g_ascii_strcasecmp (str, "ATOM")) tile_type = TILE_TYPE_ATOM; else tile_type = TILE_TYPE_UNKNOWN; return tile_type; } typedef struct { gchar* text; } TextData; static void single_tag_parser_text (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error) { // printf ("tile: text %s\n", text); TextData *text_data = user_data; text_data->text = g_strdup(text); } static GMarkupParser text_parser = { NULL, NULL, single_tag_parser_text, NULL, xml_parser_log_error }; void tile_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { TextData *text_data = NULL; if (!g_strcmp0 (element_name, "underlay") || !g_strcmp0 (element_name, "overlay")) { text_data = g_slice_new (TextData); g_markup_parse_context_push(context, &text_parser, text_data); } else g_print ("tile: starting %s\n", element_name); } void tile_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { TextData *text_data; GQuark sub_id; Tile *tile = user_data; if (!g_strcmp0 (element_name, "underlay") || !g_strcmp0 (element_name, "overlay")) { text_data = g_markup_parse_context_pop (context); sub_id = g_quark_from_string (text_data->text); g_free (text_data->text); g_slice_free (TextData, text_data); if (!g_strcmp0 (element_name, "underlay")) tile_add_sub_id (tile, sub_id, TILE_SUB_UNDERLAY); else tile_add_sub_id (tile, sub_id, TILE_SUB_OVERLAY); } else g_print ("tile: ending %s\n", element_name); } atomix-3.19.4/src/tile.h000066400000000000000000000061761264725221400150250ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _TILE_H_ #define _TILE_H_ #include #define GPOINTER_TO_QUARK(p) ((GQuark) GPOINTER_TO_INT (p)) #define GQUARK_TO_POINTER(p) ((gpointer) GINT_TO_POINTER (p)) #define TILE_TYPE (tile_get_type ()) #define TILE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TILE_TYPE, Tile)) #define TILE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), TILE_TYPE, TileClass)) #define IS_TILE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TILE_TYPE)) #define IS_TILE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TILE_TYPE)) #define TILE_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), TILE_TYPE, TileClass)) typedef struct _TilePrivate TilePrivate; typedef enum { TILE_TYPE_NONE, TILE_TYPE_ATOM, TILE_TYPE_WALL, TILE_TYPE_FLOOR, TILE_TYPE_SHADOW, TILE_TYPE_UNKNOWN, TILE_TYPE_LAST } TileType; typedef enum { TILE_SUB_OVERLAY, TILE_SUB_UNDERLAY } TileSubType; typedef struct { GObject parent; TilePrivate *priv; } Tile; typedef struct { GObjectClass parent_class; } TileClass; GType tile_get_type (void); Tile *tile_new (TileType type); Tile *tile_copy (Tile * tile); GSList *tile_get_sub_ids (Tile * tile, TileSubType sub_type); GQuark tile_get_base_id (Tile * tile); TileType tile_get_tile_type (Tile * tile); void tile_add_sub_id (Tile * tile, GQuark id, TileSubType sub_type); void tile_remove_sub_id (Tile * tile, guint id, TileSubType sub_type); void tile_remove_all_sub_ids (Tile * tile, TileSubType sub_type); void tile_set_base_id (Tile * tile, GQuark id); void tile_set_tile_type (Tile * tile, TileType type); void tile_print (Tile * tile); gboolean tile_is_equal (Tile * tile, Tile * comp); TileType tile_type_from_string (const gchar *str); void tile_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); void tile_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); #endif /* _TILE_H */ atomix-3.19.4/src/undo.c000066400000000000000000000036571264725221400150310ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999-2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "main.h" #include "undo.h" extern AtomixApp *app; static GSList *undo_stack = NULL; gboolean undo_exists (void) { return ((undo_stack == NULL) ? FALSE : TRUE); } static void delete_move (UndoMove *move, gpointer data) { g_free (move); } void undo_clear (void) { if (undo_stack == NULL) return; g_slist_foreach (undo_stack, (GFunc) delete_move, NULL); g_slist_free (undo_stack); undo_stack = NULL; } void undo_push_move (gpointer item, gint src_row, gint src_col, gint dest_row, gint dest_col) { UndoMove *move = g_new0 (UndoMove, 1); move->item = item; move->src_row = src_row; move->src_col = src_col; move->dest_row = dest_row; move->dest_col = dest_col; undo_stack = g_slist_prepend (undo_stack, move); } UndoMove *undo_pop_move (void) { UndoMove *move; if (undo_stack == NULL) return NULL; move = (UndoMove *) undo_stack->data; undo_stack = g_slist_delete_link (undo_stack, undo_stack); if (undo_stack == NULL) { app->state = GAME_STATE_RUNNING_UNMOVED; update_menu_item_state (); } return move; } atomix-3.19.4/src/undo.h000066400000000000000000000023471264725221400150310ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 1999 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_UNDO_H_ #define _ATOMIX_UNDO_H_ typedef struct { gpointer item; gint src_row; gint src_col; gint dest_row; gint dest_col; } UndoMove; gboolean undo_exists (void); void undo_push_move (gpointer item, gint src_row, gint src_col, gint dest_row, gint dest_col); UndoMove *undo_pop_move (void); void undo_clear (void); #endif /* _ATOMIX_UNDO_H_ */ atomix-3.19.4/src/xml-util.c000066400000000000000000000030131264725221400156210ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * Copyright (C) 2015 Robert Roth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "xml-util.h" const gchar* get_attribute_value (const gchar *attribute, const gchar **attribute_names, const gchar **attribute_values) { gint i = 0; while (attribute_names[i]) { if (!g_strcmp0 (attribute_names[i], attribute)) return attribute_values[i]; i++; } return NULL; } void xml_parser_log_error (GMarkupParseContext *context, GError *error, gpointer user_data) { g_print ("Error while parsing XML: %s with user data of type %s\n", error->message, G_OBJECT_TYPE_NAME (user_data)); } atomix-3.19.4/src/xml-util.h000066400000000000000000000025071264725221400156350ustar00rootroot00000000000000/* Atomix -- a little puzzle game about atoms and molecules. * Copyright (C) 2001 Jens Finke * Copyright (C) 2005 Guilherme de S. Pastore * Copyright (C) 2015 Robert Roth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ATOMIX_XML_UTIL_H_ #define _ATOMIX_XML_UTIL_H_ #include const gchar* get_attribute_value (const gchar *attribute, const gchar **attribute_names, const gchar **attribute_values); void xml_parser_log_error (GMarkupParseContext *context, GError *error, gpointer user_data); #endif //_ATOMIX_XML_UTIL_H_