lernid-1.0.1/0000775000000000000000000000000012273565417007672 5ustar lernid-1.0.1/lernid.desktop.in0000664000000000000000000000023711574160457013147 0ustar [Desktop Entry] _Name=Lernid _Comment=Participate in online learning events Categories=GNOME;Education Exec=lernid Icon=lernid Terminal=false Type=Application lernid-1.0.1/AUTHORS0000664000000000000000000000024312014217737010731 0ustar # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (C) 2011 John S Gruber lernid-1.0.1/LICENSE0000664000000000000000000010437011574160457010702 0ustar GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. 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 state 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 3 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, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU 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 Lesser General Public License instead of this License. But first, please read . lernid-1.0.1/Copyright0000664000000000000000000000136012014217737011555 0ustar # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . lernid-1.0.1/etc/0000775000000000000000000000000012273565417010445 5ustar lernid-1.0.1/etc/lernid-classrooms.d/0000775000000000000000000000000012273565417014327 5ustar lernid-1.0.1/etc/lernid-classrooms.d/ubuntu-charlas0000664000000000000000000000051712014221053017164 0ustar [#ubuntu-charlas -- En Español] homepage: https://wiki.ubuntu.com/Classroom classroom: ubuntu-charlas Chat:ubuntu-charlas-chat locale: es.ES logstring: http://irclogs.ubuntu.com/%04d/%02d/%02d/%%23ubuntu-charlas.html icalurl: http://www.google.com/calendar/ical/q16aejpuv5kgmoa7b6ridenkpk%40group.calendar.google.com/public/basic.ics lernid-1.0.1/etc/lernid-classrooms.d/ubuntu-classroom0000664000000000000000000000052612014221053017551 0ustar [#ubuntu-classroom -- In English] homepage: https://wiki.ubuntu.com/Classroom classroom: ubuntu-classroom chat: ubuntu-classroom-chat logstring: http://irclogs.ubuntu.com/%04d/%02d/%02d/%%23ubuntu-classroom.html icalurl: http://www.google.com/calendar/ical/canonical.com_qg6t4s8i7mg8d4lgfu9f93qid4@group.calendar.google.com/public/basic.ics lernid-1.0.1/lernid-classroom.50000664000000000000000000000553712014221053013221 0ustar .TH lernid-classroom 5 "April 7, 2012" "" .\"Created with GNOME Manpages Editor Wizard .\"http://sourceforge.net/projects/gmanedit2 .SH NAME lernid-classroom \- lernid-classroom configuration files .SH DESCRIPTION This manual page explains the lernid-classroom configuraiton files. Each has an arbitrary name and uses the config file syntax. Each is located in /etc/lernid-classrooms.d .PP It is recommended to name each file after the classroom described. .PP The fields are described below. .PP .SH SECTION NAME The section name ("[some name]") beginning the file is the name of the classroom described. .SH FIELDS .br Each field is followed by a colon, a space, and a value. .B .IP "homepage" The initial page that should be displayed by Lernid's web browser. .B .IP "classroom" The IRC room name of the classroom. .B .IP chat The IRC room name of the room for class discussion and questions. .B .IP "icalurl" The url of the calendar containing this classroom's sessions. .B .IP question_token The token that should be used in this classroom to mark questions of the session's instructor. .B .IP "locale" The locale for sessions for the classroom. .B .IP logstring The string used to create the url for accessing the classroom logs. The year, month and day of the month are inserted (in that order). .B .IP "server" IRC server containing the above classrooms. .br .P question_token overrides the default value selected by the locale field. If neither is provided the default question_token is "QUESTION:" .SH FILES vcal calendars contain classroom session names, times, and description items. The vcal calendar event description may contain the following fields: .br Each field is followed by a colon, a space, and a value. .B .IP description The description of the session. .B .IP instructors The IRC nicknames of the instructor or instructors of the session. .B .IP "helpers (optional)" The IRC nicknames of those who may assist with the session and may help control it. .B .IP "slides (optional)" The url of a .pdf file containing the slides to be used. Each is a page of the pdf. .B .IP "event (optional)" The event of which this session is a part. .B .IP "locale (optional)" The locale for the session. .B .IP "question_token (optional)" The token that should be used in this classroom to mark questions of the session's instructor. .P The session's locale and question_token values override those specified for the classroom as a whole, above, and again the question_token value overrides the value implied by the locale. .SH EXAMPLE [#ubuntu-classroom -- In English] .br homepage: https://wiki.ubuntu.com/Classroom .br classroom: ubuntu-classroom .br chat: ubuntu-classroom-chat .br logstring: http://irclogs.ubuntu.com/%04d/%02d/%02d/%%23ubuntu-classroom.html .br icalurl: http://www.google.com/calendar/ical/canonical.com_qg6t4s8i7mg8d4lgfu9f93qid4@group.calendar.google.com/public/basic.ics lernid-1.0.1/lernid/0000775000000000000000000000000012273565417011147 5ustar lernid-1.0.1/lernid/widgets/0000775000000000000000000000000012273565417012615 5ustar lernid-1.0.1/lernid/widgets/WebChatroom.py0000664000000000000000000000367612014217737015405 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk import gobject import webkit from lernid.widgets.Widget import Widget class Chatroom(Widget): __gtype_name__ = 'LernidWebChatroom' __gsignals__ = { 'members-changed': ( gobject.SIGNAL_RUN_LAST, None, (object,) ), } def __init__(self): Widget.__init__(self, 'chatroom') scroll = gtk.ScrolledWindow() scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self._chat = webkit.WebView() scroll.add_with_viewport(self._chat) self.add(scroll) self._chat.add_events(gtk.gdk.ENTER_NOTIFY_MASK) self._chat.props.can_focus = True def get_focus(chat, event): chat.grab_focus() self._chat.connect('enter-notify-event', get_focus) def do_event_connect(self, event_man, event): chatirc = 'http://webchat.freenode.net/?nick={nick}&channels={chans}'.format( nick=event.nick, chans=event.chat) self._chat.load_uri(chatirc) self._chat.show() def do_event_disconnect(self, event_man, event): self._chat.load_uri('about:blank') self._chat.hide() def get_input_widget(self): return self._chat lernid-1.0.1/lernid/widgets/Schedule.py0000664000000000000000000004360212014221053014702 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import glib import gobject import gtk import gio import os import time import urlparse import random import pynotify import logging from datetime import timedelta import lernid.DateTime as dt from lernid.widgets.Widget import Widget from lernid.lernidconfig import get_data_path from lernid.Sessions import Session, parse_ical, read_ical, start_read_ical from lernid.LernidOptions import Options class Schedule(Widget): __gtype_name__ = 'LernidSchedule' __gsignals__ = { 'session-changed': ( gobject.SIGNAL_RUN_LAST, None, (object,) ), 'session-ended': ( gobject.SIGNAL_RUN_LAST, None, () ), } COL_ICON, COL_DATE, COL_START, COL_END, COL_TITLE, COL_SESSION, \ COL_DATETIME = range(7) def __init__(self): Widget.__init__(self, 'schedule') vbox = gtk.VBox() self.add(vbox) scroll = gtk.ScrolledWindow() scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) vbox.pack_start(scroll, expand=True) hbuttonbox = gtk.HBox(False, 0) vbox.pack_start(hbuttonbox, expand=False) self._copy_button = gtk.Button() self._open_button = gtk.Button() self._refresh_button = gtk.ToolButton(gtk.STOCK_REFRESH) self._refresh_button.set_expand(False) hbuttonbox.pack_start(self._copy_button, True, True, 0) hbuttonbox.pack_start(self._open_button, True, True, 0) hbuttonbox.pack_start(self._refresh_button, True, True, 0) self._button_setup(self._copy_button, self._open_button, self._refresh_button) self._treeview = gtk.TreeView() scroll.add(self._treeview) self._model = gtk.ListStore(str, str, str, str, str, object, object) self._treeview.set_model(self._model) self._treeview.set_search_column(self.COL_TITLE) def search_equal_func(model, column, key, iter): if key.upper() in model.get_value(iter, column).upper(): return False return True self._treeview.set_search_equal_func(search_equal_func) def session_clicked_cb(tv, event, self): if not self._event: logging.error('Schedule clicked with no event connected') return logstring = self._event.logstring if not logstring: logging.debug('Schedule clicked, but no event logging' ' specified') return i = tv.get_path_at_pos(int(event.x), int(event.y)) if not i: return row = tv.get_model()[i[0][0]] if not row[self.COL_DATETIME]: return date_time = row[self.COL_DATETIME] url = logstring % (date_time.year, date_time.month, date_time.day) gtk.show_uri(None, url, gtk.gdk.CURRENT_TIME) self._treeview.connect('button-release-event', session_clicked_cb, self) self._treeview.set_headers_visible(False) column = gtk.TreeViewColumn() cell = gtk.CellRendererPixbuf() cell.set_property('xalign', 0.5) column.pack_start(cell, True) column.set_attributes(cell, stock_id=self.COL_ICON) column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) column.set_fixed_width(30) self._treeview.append_column(column) column = gtk.TreeViewColumn(_('Date')) cell = gtk.CellRendererText() cell.set_property('xpad', 6) column.pack_start(cell, False) column.set_attributes(cell, text=self.COL_DATE) column.set_alignment(0.5) self._treeview.append_column(column) column = gtk.TreeViewColumn(_('Starts')) cell = gtk.CellRendererText() cell.set_property('xpad', 6) column.pack_start(cell, False) column.set_attributes(cell, text=self.COL_START) column.set_alignment(0.5) self._treeview.append_column(column) column = gtk.TreeViewColumn(_('Ends')) cell = gtk.CellRendererText() cell.set_property('xpad', 6) column.pack_start(cell, False) column.set_attributes(cell, text=self.COL_END) column.set_alignment(0.5) self._treeview.append_column(column) column = gtk.TreeViewColumn(_('Title')) cell = gtk.CellRendererText() cell.set_property('xpad', 6) column.pack_start(cell, True) column.set_attributes(cell, markup=self.COL_TITLE) label = gtk.Label(_('Title')) label.set_padding(6, 0) label.show() column.set_widget(label) self._treeview.append_column(column) self._schedule = None self._current_session = None self._update_handle = None self._ical = None self._icalurl = None self._connected = False self._ircdate = (dt.now_utc() - timedelta(minutes=70)).date() self._cancellable = None self._event = None self.show_all() def _scramble_case(self, string): if '@' in string: pstring = string.split('@') newstring = pstring[0] + '@' string = pstring[1] else: newstring = '' random.seed() for s in string: if random.random() >= .5: newstring += s.upper() else: newstring += s.lower() return newstring # scramble the case of the url for this event connection. # Avoids occasional problem with gvfsd-http wedging # particular url's after loss of connectivity def do_event_connect(self, event_man, event): self._event = event_man.current_event() self._connected = True self._last_upcoming_announce = None def finished_initial_ical_load_cb(gfile, result, unused): ical = read_ical(gfile, result, (event,self._ical)) if ical == '': return # Do nothing for cancelled I/O Operation self._ical = ical logging.debug('Finished initial ical load') if not (gfile.get_uri() == self._icalurl): # Sanity Check logging.debug('Old I/O completion ignored') return self._cancellable = None if not self._connected or not self._event: return self._update(event, self._ical, initial=True) secs = time.localtime().tm_sec self._update_handle = glib.timeout_add_seconds(65-secs, self._calendar_refresh, event) parsed = [j for j in urlparse.urlparse(event.icalurl)] parsed[1]= self._scramble_case(parsed[1]) self._icalurl = urlparse.urlunparse(parsed) cancellable = gio.Cancellable() start_read_ical(self._icalurl, finished_initial_ical_load_cb, cancellable, (None, None)) self._cancellable = cancellable logging.debug('Started initial ical load %s' % self._icalurl) def _calendar_refresh(self, event, force_update=False): def finished_refresh_ical_load_cb(gfile, result, data): force_reload, irclog_force = data ical = read_ical(gfile, result, (event, self._ical)) if ical == '': return # Do nothing for a cancelled calendar read if not (gfile.get_uri() == self._icalurl): # Sanity Check logging.debug('Old I/O completion ignored') return self._cancellable = None logging.debug('Finished ical load') if not self._connected or not self._event: return if ical == self._ical and not irclog_force: logging.debug('Skipping Update--Calendar Unchanged') self._update_currency() else: self._ical = ical logging.debug('Updating Schedule') self._update(event, self._ical) secs = time.localtime().tm_sec self._update_handle = glib.timeout_add_seconds(65-secs, self._calendar_refresh, event) return self._update_handle = None irc_force = False now = dt.now_utc() trigger_time = now.minute in [1, 6, 11, 21, 31, 36, 41, 51] trigger_time = trigger_time and not Options.get('no-update') # Trigger in time to be done at :50, :00, :20, and :30 so that session # announcements will be made on time (bearing in mind low bandwidth # connections and the large calendar size ircdate = (now - timedelta(minutes=71)).date() if ircdate != self._ircdate and trigger_time: self._ircdate = ircdate irc_force = True logging.debug('Daily full calendar update %s' % now) if irc_force or force_update or trigger_time: parsed = [j for j in urlparse.urlparse(event.icalurl)] parsed[1]= self._scramble_case(parsed[1]) self._icalurl = urlparse.urlunparse(parsed) cancellable = gio.Cancellable() start_read_ical(self._icalurl, finished_refresh_ical_load_cb, cancellable, (force_update, irc_force)) self._cancellable = cancellable logging.debug('Started ical load') else: self._update_currency() secs = time.localtime().tm_sec self._update_handle = glib.timeout_add_seconds(65-secs, self._calendar_refresh, event) return False def _update(self, event, ical, initial=False): def quote(text): quote_table = { '<' : '<', '>' : '>', "'" : ''', '"' : '"', '&' : '&' } return_value = '' for l in text: return_value= return_value + quote_table.get(l,l) return return_value def insert_log_line(date, session): difference = dt.now_utc() - date if difference < timedelta(minutes=70): return # There may not be a log yet sessionrow = ['', '', '', ''] formatted_date = date.strftime('%x') localtime = dt.as_local(date) formatted_local = localtime.strftime('%H:00') formatted = \ _('Irc Logs for UTC %s (Starting at %s local time)') \ % (formatted_date, formatted_local) sessionrow.append(formatted) sessionrow.append(session) sessionrow.append(date) self._model.append(sessionrow) def insert_blank_lines(number): for i in range(number): sessionrow = ['', '', '', '', '', None, None] self._model.append(sessionrow) self._schedule = parse_ical(event, ical) self._model.clear() self._scroll_to = None self._last_date = None current_row = False for session in self._schedule: utc_starttime = dt.as_utc(session.start_datetime) utc_date= dt.datetime(utc_starttime.year, utc_starttime.month, utc_starttime.day, tzinfo=utc_starttime.tzinfo) if (not utc_date == self._last_date): self._last_date = utc_date if event.logstring: insert_log_line(utc_date, session) sessionrow = [] sessionrow.append('') sessionrow.append(session.start_local_date) sessionrow.append(session.start_local_time) sessionrow.append(session.end_local_time) instructors = reduce(lambda x, y: x + y + ', ', session.instructors, ' ')[:-2] title = quote(session.title) if session.event: sessionrow.append(title + '' + instructors + ' ' + quote(session.event) +'') else: sessionrow.append(title + '' + instructors + '') sessionrow.append(session) sessionrow.append(None) current_row = self._model.append(sessionrow) if not self._scroll_to and session.state in (session.FUTURE, session.NOW): self._scroll_to = self._model.get_path(current_row) if not self._scroll_to and current_row: self._scroll_to = self._model.get_path(current_row) self._update_currency() insert_blank_lines(40) if initial and self._scroll_to: self._treeview.scroll_to_cell(self._scroll_to, use_align=True, row_align=.2) self._treeview.set_headers_visible(True) def do_event_disconnect(self, event_man, event): self._connected = False self._schedule = [] self._current_session = None self._model.clear() if self._update_handle: glib.source_remove(self._update_handle) self._update_handle = None if self._cancellable: self._cancellable.cancel() self._cancellable = None self._treeview.set_headers_visible(False) self._event = None def _update_currency(self): ended = False if self._current_session and self._current_session.state == Session.PAST: ended = True self._current_session = None for i, row in enumerate(self._model): session = row[self.COL_SESSION] if session == None: continue if self._current_session and self._current_session.uid == session.uid: self._current_session = session if session.state == Session.NOW: row[self.COL_ICON] = gtk.STOCK_GO_FORWARD if session != self._current_session: if self._current_session == None: session_message = _("Please keep the Session " "tab selected to see session" " learning materials.") self.show_notification( _('Session started'), _('The session "{0}" has started. ').format(session.title) + session_message ) self._current_session = session logging.debug('session changed') self.emit('session-changed', session) if session.state == Session.FUTURE: row[self.COL_ICON] = None if timedelta(minutes=9) < session.start_datetime - dt.now_local() < timedelta(minutes=10): if not self._last_upcoming_announce == session.uid: self._last_upcoming_announce = session.uid self.show_notification( _('Session upcoming'), _('The session "{0}" will begin in 10 minutes.').format(session.title) ) if session.state == Session.PAST: row[self.COL_ICON] = gtk.STOCK_NO if not self._current_session and ended: logging.debug('session ended') self.emit('session-ended') return True def get_current_session(self): return self._current_session def on_faculty(self,name): return self._current_session and name.lower() in \ [i.lower() for i in self._current_session.instructors + self._current_session.helpers] def get_question_token(self): if self._current_session: if self._current_session.question_token: return self._current_session.question_token if self._current_session.locale: if self._current_session.locale.startswith('es'): return 'PREGUNTA:' else: return 'QUESTIION:' event = self._event if event and event.question_token: return event.question_token if event and event.locale: if event.locale.startswith('es'): return 'PREGUNTA:' return 'QUESTION:' return 'QUESTION:' def show_notification(self, summary, body): n = pynotify.Notification(summary, body, 'lernid') try: n.show() except: logging.debug("Notification failed from Schedule Widget") def _button_setup(self, copy_button, open_button, refresh_button): copy_button.set_label(_("Copy Calendar ICAL URL to Clipboard")) open_button.set_label(_("Open Calendar ICAL URL Using Your Browser")) copy_button.connect("clicked", self._copy_button_clicked) open_button.connect("clicked", self._open_button_clicked) refresh_button.connect("clicked", self._refresh_button_clicked) def _copy_button_clicked(self, widget): clipboard = gtk.Clipboard() event = self._event if not event: return clipboard.set_text(event.icalurl) def _open_button_clicked(self, widget): event = self._event if not event: return gtk.show_uri(None, event.icalurl, gtk.gdk.CURRENT_TIME) def _refresh_button_clicked(self, widget): event = self._event if not event: return if self._update_handle: glib.source_remove(self._update_handle) self._update_handle = None self._calendar_refresh(event, force_update=True) lernid-1.0.1/lernid/widgets/Classroom.py0000664000000000000000000000775012272057614015134 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk import gobject import pango import time from lernid.LernidPreferences import Preferences from lernid.widgets.IrcWidget import IrcWidget from lernid import IrcBackend from lernid.LernidOptions import Options from lernid.Statusbar import Statusbar class Classroom(IrcWidget): __gtype_name__ = 'LernidClassroom' __gsignals__ = { 'message-received': ( gobject.SIGNAL_RUN_LAST, None, (object, str, str) ), } def __init__(self): IrcWidget.__init__(self, 'classroom') viewport = gtk.Viewport() scroll = gtk.ScrolledWindow() scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self._adjust = scroll.get_vadjustment() viewport.add(scroll) self.add(viewport) self._textview = gtk.TextView() self._textview.set_editable(False) self._textview.set_cursor_visible(False) self._textview.set_wrap_mode(gtk.WRAP_WORD) self._textview.set_left_margin(6) self._textview.set_right_margin(6) self._textview.modify_font(pango.FontDescription('Monospace')) self._textview.set_sensitive(False) self._textview.connect('size-allocate', self._scroll) self._at_bottom = None scroll.add(self._textview) self._buffer = self._textview.get_buffer() text_color = self._textview.get_style().text[gtk.STATE_INSENSITIVE] self._buffer.create_tag('gray', foreground_gdk=text_color) self._buffer.create_tag('highlight', weight=700) self._buffer.create_tag('italicize', style=pango.STYLE_ITALIC) self._init_hyperlinks() self.show_all() def do_event_connect(self, event_man, event): IrcWidget.do_event_connect(self, event_man, event) self._server = IrcBackend.Server.get_server('irc.freenode.net', event.nick, event_man) self._nick = event.nick channelname = Options.get('classroom', event.classroom) if len(channelname) == 0: return if channelname[0] not in '#&!+': channelname = '#' + channelname classchan = self._server.get_channel(channelname) self._chan = classchan # Save for IRC widget use def joined(server): Statusbar.push_message(_('Joined classroom'), duration=10) self._textview.set_sensitive(True) self.event_connect_signal(classchan, 'joined', joined) self.event_connect_signal(classchan, 'message-received', self._message_received) self._browser = event_man.get_widget_by_name('browser') def do_event_disconnect(self, event_man, event): self._textview.set_sensitive(False) istart, iend = self._buffer.get_bounds() self._buffer.delete(istart, iend) self._server.disconnect() self.event_disconnect_signals() def _message_received(self, chan, sender, text, msgtype): self._append_to_buffer(text, sender, msgtype) self.emit('message-received', chan, sender, text) def _scroll(self, textview, alloc): if self._at_bottom is None: self._at_bottom = True if self._at_bottom: self._adjust.value = self._adjust.upper - self._adjust.page_size lernid-1.0.1/lernid/widgets/Slide.py0000664000000000000000000003176612273564423014240 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import os import gtk import gobject import poppler import re import logging import gio import cairo import StringIO import glib import random from lernid.widgets.Widget import Widget from lernid.lernidconfig import save_cache_path from lernid.Statusbar import Statusbar class Slide(Widget): __gtype_name__ = 'LernidSlide' __gsignals__ = { 'slides-downloaded': ( gobject.SIGNAL_RUN_LAST, None, () ), 'slide-changed': ( gobject.SIGNAL_RUN_LAST, None, () ), } SLIDE_START_SIZE = 300 SLIDE_MIN_SIZE = 150 def __init__(self, vertical=False): Widget.__init__(self, 'slide') self._vertical = vertical self._slidebutton_cb = None align = gtk.Alignment(0.5, 0.5, 1.0, 1.0) if vertical: align.set_padding(0, 5, 3, 3) else: align.set_padding(3, 5, 0, 4) self.add(align) frame = gtk.Frame() frame.set_shadow_type(gtk.SHADOW_IN) align.add(frame) self._vbox = gtk.VBox() frame.add(self._vbox) self._top = gtk.EventBox() self._scroll = gtk.ScrolledWindow() if vertical: self._scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER) else: self._scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) self._image = gtk.Image() self._scroll.add_with_viewport(self._image) self._top.add(self._scroll) self._vbox.add(self._top) self._eventbox = gtk.EventBox() self._slidebutton = gtk.Button() self._slidelabel = gtk.Label() self._slidelabel.set_line_wrap(True) self._slidelabel.set_justify(gtk.JUSTIFY_CENTER) self._slidelabel.set_text(_('Click to Open in External Browser')) self._slidebutton.add(self._slidelabel) self._eventbox.add(self._slidebutton) self._eventbox.set_tooltip_text(_('Click to open the slides in ' 'your browser. From there you can browse, bookmark, or save them.')) self._vbox.pack_start(self._eventbox, expand=False) viewport = self._scroll.get_child() viewport.set_shadow_type(gtk.SHADOW_NONE) self._master_slide = None self._session_slide_downloaded = False self._cancellable = None self._slide_retry = None self._last_width = None self._last_height = None self.connect('expose-event', self._resize) self.set_no_show_all(False) self.hide() def do_event_connect(self, eventman, event): classroom = eventman.get_widget_by_name('classroom') schedule = eventman.get_widget_by_name('schedule') self._on_faculty = schedule.on_faculty # retrieve method self.event_connect_signal(classroom, 'message-received', self._classroom_msg_received) schedule = eventman.get_widget_by_name('schedule') self.event_connect_signal(schedule, 'session-changed', self._session_changed) self.event_connect_signal(schedule, 'session-ended', self._session_ended) def do_event_disconnect(self, eventman, event): self._image.clear() self.hide() if self._slidebutton_cb: self._slidebutton.disconnect(self._slidebutton_cb) self._slidebutton_cb = None Statusbar.pop_message('slidesession') if self._slide_retry: glib.source_remove(self._slide_retry) self._slide_retry = None if self._cancellable: self._cancellable.cancel() self._cancellable = None self.event_disconnect_signals() def _classroom_msg_received(self, classroom, chan, sender, text): matches = re.search(r'\[(?i)SLIDE\s+(\d+).*\]', text) if matches and self._session_slide_downloaded: if self._on_faculty(sender): self._change_slide_page(int(matches.groups()[0])) return matches = re.search(r'\[(?i)SLIDEFILE\s+(\S+)\s+(\d+).*\]', text) if matches: if self._on_faculty(sender): self._download_slides(matches.groups()[0], int(matches.groups()[1])) return matches = re.search(r'\[(?i)SLIDEFILE\s+(\S+).*\]', text) if matches: if self._on_faculty(sender): self._download_slides(matches.groups()[0], 1) return def _change_slide_page(self, pagenumber): logging.debug('changing slide to page %d' % pagenumber) try: # FIXME slide_url = "file://%s/slides.pdf" % os.path.realpath(save_cache_path('lernid')) pdf = poppler.document_new_from_file(slide_url, None) if pagenumber < 0 or pagenumber > pdf.get_n_pages(): return page = pdf.get_page(int(pagenumber) - 1) w, h = page.get_size() w, h = (int(w), int(h)) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h) context = cairo.Context(surface) page.render(context) # technique from diogodivision's "BlingSwitcher", # through http://www.mikedesjardins.net temp = StringIO.StringIO() surface.write_to_png(temp) temp.seek(0) loader = gtk.gdk.PixbufLoader() loader.write(temp.getvalue()) loader.close() pixbuf = loader.get_pixbuf() except: Statusbar.push_message(_('An error was encountered while trying to load slide number {0}'.format(pagenumber)), 'slidesession', duration=15) logging.debug("Something went wrong when loading slide %s" % pagenumber) return self._master_slide = pixbuf self.show() if self._vertical: length = self.allocation.height else: length = self.allocation.width if length < self.SLIDE_START_SIZE: if self._vertical: self.set_size_request(-1, self.SLIDE_START_SIZE) else: self.set_size_request(self.SLIDE_START_SIZE, -1) self.queue_resize() self._last_width = None self._last_height = None self._resize() self.emit('slide-changed') def _resize(self, widget=None, data=None): if self._master_slide is not None: mwidth, mheight = self._master_slide.get_width(), self._master_slide.get_height() width, height = self._scroll.allocation.width, self._scroll.allocation.height if self._vertical: height = max(self.SLIDE_MIN_SIZE, height) width = int(float(height)/float(mheight)*mwidth) else: width = max(self.SLIDE_MIN_SIZE, width) height = int(float(width)/float(mwidth)*mheight) if width == self._last_width and height == self._last_height: return True self._last_width = width self._last_height = height newpb = gtk.gdk.Pixbuf.scale_simple(self._master_slide, width, height, gtk.gdk.INTERP_BILINEAR) self._image.clear() self._image.set_from_pixbuf(newpb) self._image.show() @staticmethod def _retry(n): # retry generator for i in range(n): yield random.randint(30,120) # random delay until retry while 1: yield False def _download_slides(self, slideurl, page): if self._slide_retry: glib.source_remove(self._slide_retry) self._slide_retry = None if self._cancellable: self._cancellable.cancel() self._cancellable = None self._retries = self._retry(3).next # retry generator obj. next method self._download_slides_attempt(slideurl, page) def _download_slides_attempt(self, slideurl, page): self._slide_retry = None Statusbar.pop_message('slidesession') path = os.path.join(save_cache_path('lernid'), 'slides.pdf') cancellable = gio.Cancellable() try: logging.debug('downloading slides from %s' % slideurl) slidefile = gio.File(slideurl) destfile = gio.File(path) # It doesn't seem that the gio.FILE_COPY_OVERWRITE is effective for copy_async if destfile.query_exists(): try: destfile.delete(None) except: pass def reporthook(done_so_far, size): Statusbar.pop_message('slidesession') if size == 0: return msg = _('Downloading session slides (%i%% of %i KB)...') % (100*(float(done_so_far) / float(size)), float(size)/float(1024)) Statusbar.push_message(msg, 'slidesession', duration=3) def download_done(giofile, result, stuff): self, slideurl, page, cancellable = stuff try: giofile.copy_finish(result) self._cancellable = None except gio.Error, information: Statusbar.push_message(_('An error was encountered while downloading slides'), 'slidesession', duration=120) logging.debug('Error when downloading slides from %s; %s' % (slideurl, information)) secs = self._retries() if secs and not cancellable.is_cancelled(): logging.error( \ 'Retrying slide download in %i secs' % secs) self._slide_retry = glib.timeout_add_seconds(secs, self._download_slides_attempt, slideurl, page) else: logging.error('Slide downloading failed') return logging.debug('Slide download completed') Statusbar.push_message(_('Slides have been downloaded'), 'slidesession', duration=10) self._session_slide_downloaded = True self.emit('slides-downloaded') self._top.set_tooltip_text(slideurl) if self._slidebutton_cb: self._slidebutton.disconnect(self._slidebutton_cb) self._slidebutton_cb = self._slidebutton.connect("clicked", self._open_slides_in_browser, slideurl) self._change_slide_page(page) slidefile.copy_async(destfile, download_done, reporthook, cancellable=cancellable, user_data=(self, slideurl, page, cancellable), flags=gio.FILE_COPY_OVERWRITE) self._cancellable = cancellable except gio.Error, information: Statusbar.push_message(_('An error was encountered while downloading slides'), 'slidesession', duration=120) logging.debug('Error when downloading slides from %s; %s' % (slideurl, information)) def _session_changed(self, schedule, session): if self._slide_retry: glib.source_remove(self._slide_retry) self._slide_retry = None if self._cancellable: self._cancellable.cancel() self._cancellable = None Statusbar.pop_message('slidesession') if session.slides: self._download_slides(session.slides, 1) else: self._image.clear() self.hide() self._session_slides_downloaded = False if self._slidebutton_cb: self._slidebutton.disconnect(self._slidebutton_cb) self._slidebutton_cb = None Statusbar.push_message(_('This session does not use slides'), 'slidesession', duration=10) def _session_ended(self, schedule): if self._slide_retry: glib.source_remove(self._slide_retry) self._slide_retry = None if self._cancellable: self._cancellable.cancel() self._cancellable = None self._image.clear() self.hide() Statusbar.pop_message('slidesession') self._session_slide_downloaded = False if self._slidebutton_cb: self._slidebutton.disconnect(self._slidebutton_cb) self._slidebutton_cb = None def _open_slides_in_browser(self, widget, url): gtk.show_uri(None, url, gtk.gdk.CURRENT_TIME) lernid-1.0.1/lernid/widgets/Browser.py0000664000000000000000000002335112113774224014605 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk import gobject import webkit import logging import re import webbrowser from lernid.widgets.Widget import Widget from lernid.LernidOptions import Options from urlparse import urlparse from lernid.lernidconfig import get_data_path, VERSION from lernid.LernidPreferences import Preferences class Browser(Widget): __gtype_name__ = 'LernidBrowser' __gsignals__ = { 'page-loading': ( gobject.SIGNAL_RUN_LAST, None, (str,) ), 'page-loaded': ( gobject.SIGNAL_RUN_LAST, None, (str,) ), 'page-changed': ( gobject.SIGNAL_RUN_LAST, None, (str,) ), } def __init__(self): Widget.__init__(self, 'browser') builder = self.builder_with_file('BrowserWidget.ui') self.add(builder.get_object('browser_vbox')) self._browser = webkit.WebView() def sse2(): try: info_file = open("/proc/cpuinfo") except: return False flag_lines = [l for l in info_file if l.startswith("flags")] if len(flag_lines) == 0: return False return "sse2" in flag_lines[0] browser_settings=webkit.WebSettings() useragent=browser_settings.get_property('user-agent') parts=useragent.split(' ') parts[-1]='lernid/'+VERSION browser_settings.set_property('user-agent', ' '.join(parts)) if not sse2(): browser_settings.set_property('enable-plugins', False) else: browser_settings.set_property('enable-plugins', True) self._browser.set_settings(browser_settings) scroll = builder.get_object('browser_scroll') scroll.add(self._browser) self._toolbar = builder.get_object('toolbar_hbox') self._refresh_button = builder.get_object('browser_refresh') self._stop_button = builder.get_object('browser_stop') # set up browser combo box self._url_combo = builder.get_object('browser_combo') self._url_store = gtk.ListStore(str, str, bool) # Title string, URL, delete self._url_combo.set_model(self._url_store) title_cell = gtk.CellRendererText() self._url_combo.pack_start(title_cell, True) self._url_combo.add_attribute(title_cell, 'text', 0) self._back_button = builder.get_object('browser_back') # Connect the signals builder.connect_signals(self) self._browser.connect("show", self._set_toolbar_state, True) self._browser.connect("hide", self._set_toolbar_state, False) self._browser.connect("load-started", self._set_button_state, True) self._browser.connect("load-finished", self._set_button_state, False) self._browser.connect("load-finished", self._update_url_combo) self._browser.set_property('can_focus', True) self._paused = False self._pause_button = builder.get_object('browser_pause') def toggle_paused(button): self._paused = not self._paused self._pause_button.connect('toggled', toggle_paused) self._toolbar.set_sensitive(False) self._browser_settings = self._browser.get_settings() self._browser_settings.set_property('user-stylesheet-uri', 'file://'+get_data_path()+'/stylesheet') def do_event_connect(self, eventman, event): classroom = eventman.get_widget_by_name('classroom') self.event_connect_signal(classroom, 'message-received', self._classroom_msg_received) self._toolbar.set_sensitive(True) self._browser.show() # FIXME: why does the button not follow sensitive state of the toolbar? self._pause_button.set_sensitive(True) # Ideally the homepage should be opened inside Lernid itself self.set_location(event.homepage, False) schedule = eventman.get_widget_by_name('schedule') self._on_faculty = schedule.on_faculty # retrieve method def do_event_disconnect(self, eventman, event): self._url_combo.handler_block_by_func(self._change_page) self._browser.handler_block_by_func(self._update_url_combo) self._browser.open('about:blank') self._url_store.clear() self._browser.handler_unblock_by_func(self._update_url_combo) self._url_combo.handler_unblock_by_func(self._change_page) self._history = [] self._current = None self._back_button.set_sensitive(False) self._pause_button.set_sensitive(False) self._toolbar.set_sensitive(False) self.event_disconnect_signals() def get_location(self): return self._browser.get_property('uri') def set_location(self, url, in_default_browser = True): if urlparse(url).scheme == '': url = 'http://' + url logging.debug('opening url: '+url) # check if prefernce is set and the link was inside chat if Preferences.get('links_in_default_browser') and in_default_browser: webbrowser.open_new_tab(url) logging.debug('opening url in tab in default browser: '+url) else: self._browser.open(url) self.emit('page-changed', url) def _back(self, button): self._browser.go_back() def _refresh(self, button): self._browser.reload() def _stop(self, button): self._browser.stop_loading() def _set_toolbar_state(self, browser, state): """Make all buttons on the brower's toolbar insensitive""" # We make the toolbar insensitive, and thereby its children as well self._toolbar.set_sensitive(state) def _set_button_state(self, browser, frame, loading): """Change the stop and reload button states""" self._refresh_button.set_sensitive(not loading) self._stop_button.set_sensitive(loading) if loading: self.emit('page-loading', browser.get_property('uri')) if not self._browser.can_go_back(): self._back_button.set_sensitive(False) def _update_url_combo(self, browser, *args): """Update the browser url combo box with the new title.""" url = browser.get_property('uri') if url == None: url = '' logging.debug('update url combo: {0}'.format(url)) if url == 'about:blank': return if self._browser.can_go_back(): self._back_button.set_sensitive(True) match = False storeiter = self._url_store.get_iter_first() while storeiter: if self._url_store.get_value(storeiter, 1) == url: match = True self._url_store.move_before(storeiter, self._url_store.get_iter_first()) self._url_combo.set_active_iter(storeiter) break storeiter = self._url_store.iter_next(storeiter) if not match: title = browser.get_property('title') if title is None: title = '' urllen = 150 - len(title) shorturl = url if len(url) > urllen: shorturl = url[:urllen] + '...' item = "{0} ({1})".format(title, shorturl) self._url_store.prepend([item, url, False]) self._url_combo.set_active(0) self.emit('page-loaded', url) def _change_page(self, combo): logging.debug('change page: {0}'.format(combo.get_active())) if len(self._url_store) == 0: return url = self._url_store[self._url_combo.get_active()][1] delete = self._url_store[self._url_combo.get_active()][2] if delete: del self._url_store[self._url_combo.get_active()] if url != self._browser.get_property('uri'): logging.debug('{0} != {1}'.format(url, self._browser.get_property('uri'))) self.set_location(url) def _classroom_msg_received(self, classroom, chan, sender, text): if not Options.get('unsafe-override') and not self._on_faculty(sender): return load, ignore = self._parse_urls(text) if load and not self._paused: self.set_location(load) elif load: ignore.insert(0, load) for url in ignore: self._url_store.prepend([url, url, True]) def _parse_urls(self, message): """Parse a message for URLs and return a tuple with the first item begin a URL to load or None and the second item being a (possibly empty) list of URLs to add to the combo box. """ load = None ignore = [] def cleanurl(url): if url.startswith('['): url = url[1:] if any([url.endswith(c) for c in '.;:]']): url = url[:-1] return url if re.search("slidefile", message, re.IGNORECASE): return (load, ignore) urls = re.findall("(\[?https?://[^\s\)]*)[\s\)\.\]]?", message, re.IGNORECASE) for url in urls: if (url.startswith('[') and url.endswith(']')) or load: ignore.append(cleanurl(url)) else: load = cleanurl(url) return (load, ignore) lernid-1.0.1/lernid/widgets/__init__.py0000664000000000000000000000020412000122526014674 0ustar __all__ = [ 'Browser', 'Classroom', 'NativeChatroom', 'Schedule', 'Slide', 'Terminal', 'WebChatroom', ] lernid-1.0.1/lernid/widgets/IrcWidget.py0000664000000000000000000001363712113774224015051 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk import gobject import pango import time import re from lernid.widgets.Widget import Widget from lernid.LernidPreferences import Preferences from lernid import IrcBackend class IrcWidget(Widget): def get_hand_cursor(self): if not hasattr(self, "_hand_cursor"): self._hand_cursor = gtk.gdk.Cursor(gtk.gdk.HAND2) return self._hand_cursor def get_regular_cursor(self): if not hasattr(self, "_regular_cursor"): self._regular_cursor = gtk.gdk.Cursor(gtk.gdk.XTERM) return self._regular_cursor def do_event_connect(self, event_man, event): self._browser = event_man.get_widget_by_name('browser') self.get_toplevel().connect('focus-out-event', self._focus_out) schedule = event_man.get_widget_by_name('schedule') self._on_faculty = schedule.on_faculty # retrieve method self._classbotnames = event_man.classbotnames def _init_hyperlinks(self): hyperlink_tag = self._buffer.create_tag('hyperlink', foreground='#0000ff', underline=pango.UNDERLINE_SINGLE) self._buffer.connect('mark-set', self._mark_set, hyperlink_tag) self._textview.connect('motion-notify-event', self._motion_notify, hyperlink_tag) self._textview.connect('expose-event', self._draw_red_line) self._red_line_mark = self._buffer.create_mark(None, self._buffer.get_end_iter(), True) self._visited_since_last_update = False def _append_to_buffer(self, text, sender=None, msgtype=None): iend = self._buffer.get_end_iter() if self._visited_since_last_update and not self.get_toplevel().is_active(): self._buffer.move_mark(self._red_line_mark, iend) self._textview.queue_draw() self._visited_since_last_update = False if Preferences.get('show_irc_time'): self._buffer.insert(iend, '\n[{0}] '.format(time.strftime(_('%H:%M')))) else: self._buffer.insert(iend, '\n') if msgtype == IrcBackend.Channel.TYPE_ACTION: self._buffer.insert(iend, ' * ') if sender: self._buffer.insert_with_tags_by_name(iend, sender+' ', 'gray') start_pos = iend.get_offset() self._buffer.insert(iend, text) else: if sender: self._buffer.insert_with_tags_by_name(iend, '<%s> ' % sender, 'gray') start_pos = iend.get_offset() my_nick = self._chan._conn._acquired_nick if text.startswith(my_nick) and sender.lower() in self._classbotnames: self._buffer.insert_with_tags_by_name(iend, text, 'highlight','italicize') elif my_nick in text and sender != my_nick: self._buffer.insert_with_tags_by_name(iend, text, 'highlight') elif self._on_faculty(sender): self._buffer.insert_with_tags_by_name(iend, text, 'highlight') elif sender.lower() in self._classbotnames: self._buffer.insert_with_tags_by_name(iend, text, 'italicize') else: self._buffer.insert(iend, text) else: self._buffer.insert(iend, text) if type(text)!=unicode: text=unicode(text, 'utf-8') for url in re.finditer(r"https?://\S+", text): self._buffer.apply_tag_by_name('hyperlink', self._buffer.get_iter_at_offset(start_pos + url.start()), self._buffer.get_iter_at_offset(start_pos + url.end())) self._at_bottom = (self._adjust.value == self._adjust.upper - self._adjust.page_size) def _mark_set(self, buf, text_iter, mark, tag): if mark.get_name() == 'insert' and text_iter.has_tag(tag) and len(buf.get_selection_bounds()) == 0: text_iter.backward_to_tag_toggle(tag) istart = text_iter.copy() text_iter.forward_to_tag_toggle(tag) self._browser.set_location(buf.get_text(istart, text_iter)) def _motion_notify(self, text_view, event, tag): x, y = text_view.window_to_buffer_coords(gtk.TEXT_WINDOW_WIDGET, int(event.x), int(event.y)) iter = text_view.get_iter_at_location(x, y) if (iter.has_tag(tag)): text_view.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(self.get_hand_cursor()) else: text_view.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(self.get_regular_cursor()) return False def _focus_out(self, widget, event): self._visited_since_last_update = True return False def _draw_red_line(self, widget, event): if self._buffer.get_char_count() > 0: iter = self._buffer.get_iter_at_mark(self._red_line_mark) if (iter.get_offset() > 0): top, h = self._textview.get_line_yrange(iter) w_x, w_y = self._textview.buffer_to_window_coords(gtk.TEXT_WINDOW_TEXT, 0, top + h) win = self._textview.get_window(gtk.TEXT_WINDOW_TEXT) gc = gtk.gdk.GC(win) gc.set_rgb_fg_color(gtk.gdk.Color('darkred')) win.draw_line(gc, 0, w_y, (win.get_size())[0], w_y) lernid-1.0.1/lernid/widgets/Terminal.py0000664000000000000000000000332412014217737014734 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk try: import vte VTE_SUPPORT = True except ImportError: VTE_SUPPORT = False from lernid.widgets.Widget import Widget class Terminal(Widget): __gtype_name__ = 'LernidTerminal' def __init__(self): Widget.__init__(self, 'terminal') scroll = gtk.ScrolledWindow() scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self._terminal = vte.Terminal() self._terminal.fork_command() def refork(terminal): terminal.fork_command() self._terminal.connect('child-exited', refork) def paste(terminal, event): if not (event.state & gtk.gdk.CONTROL_MASK): return if event.keyval == ord('V'): self._terminal.paste_clipboard() return True self._terminal.add_events(gtk.gdk.KEY_RELEASE_MASK) self.connect('key-release-event', paste) scroll.add(self._terminal) self.add(scroll) lernid-1.0.1/lernid/widgets/NativeChatroom.py0000664000000000000000000001716312272057614016114 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk import gobject import urlparse import logging import pango import time from lernid.LernidPreferences import Preferences from lernid.widgets.IrcWidget import IrcWidget from lernid import IrcBackend from lernid.LernidOptions import Options class Chatroom(IrcWidget): __gtype_name__ = 'LernidNativeChatroom' __gsignals__ = { 'members-changed': ( gobject.SIGNAL_RUN_LAST, None, (object,) ), } def __init__(self): IrcWidget.__init__(self, 'chatroom') self.set_property('can-focus', True) builder = self.builder_with_file('ChatWidget.ui') scroll = builder.get_object('scroll') self._adjust = scroll.get_vadjustment() self.add(builder.get_object('vbox1')) self._textview = builder.get_object('textview') self._textview.modify_font(pango.FontDescription('Monospace')) self._textview.set_sensitive(False) self._textview.connect('size-allocate', self._scroll) self._at_bottom = None self._buffer = self._textview.get_buffer() text_color = self._textview.get_style().text[gtk.STATE_INSENSITIVE] self._buffer.create_tag('gray', foreground_gdk=text_color) self._buffer.create_tag('highlight', weight=700) self._buffer.create_tag('italicize', style=pango.STYLE_ITALIC) self._bold = pango.FontDescription() self._bold.set_weight(700) self._input = builder.get_object('input') self._input.connect('icon-press', self._send_text) self._input.connect('activate', self._send_text) self._input.connect('key-press-event', self._key_pressed) self._input.modify_font(pango.FontDescription('Monospace')) self._questioncheckbox = builder.get_object('questioncheckbox') self._init_hyperlinks() def do_event_connect(self, eventman, event): IrcWidget.do_event_connect(self, eventman, event) self._server = IrcBackend.Server.get_server('irc.freenode.net', event.nick, eventman) self._nick = event.nick channelname = Options.get('chatroom', event.chat) if len(channelname) == 0: return if channelname[0] not in '#&!+': channelname = '#' + channelname self._chatchan = self._server.get_channel(channelname) self._chan = self._chatchan # Save for IRC widget use schedule = eventman.get_widget_by_name('schedule') self._get_question_token = schedule.get_question_token #TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor qt = _('QUESTION:') qt = self._get_question_token() self._questioncheckbox.set_label(qt) #TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale tooltip = _('"%s" directs your question to the classroom for an answer from the instructor') % qt self._questioncheckbox.set_tooltip_text(tooltip) def joined(server): logging.debug('connected to chatroom') self._input.set_sensitive(True) self._questioncheckbox.set_sensitive(True) self._textview.set_sensitive(True) self.event_connect_signal(self._chatchan, 'joined', joined) self.event_connect_signal(self._chatchan, 'message-received', self._message_received) self.event_connect_signal(self._chatchan, 'message-sent', self._message_sent) def members_changed(chan, members): self.emit('members-changed', members) self.event_connect_signal(self._chatchan, 'members-changed', members_changed) def do_event_disconnect(self, eventman, event): self._input.set_sensitive(False) self._questioncheckbox.set_sensitive(False) self._textview.set_sensitive(False) istart, iend = self._buffer.get_bounds() self._buffer.delete(istart, iend) self._server.disconnect() self.event_disconnect_signals() def get_input_widget(self): return self._input def _key_pressed(self, widget, event): if (event.keyval == gtk.keysyms.Tab): self._try_autocomplete() return True else: return False def _try_autocomplete(self): text = self._input.get_text() pos = self._input.get_position() if pos == 0 or text[pos-1] == ' ': return if len(text) > pos and text[pos] == ' ': space = False else: space = True partial_nick = text[:pos].split(' ')[-1] members = self._chatchan.get_members() nicks = filter(lambda x: partial_nick in x[:len(partial_nick)], members) if len(nicks) == 1: completion = nicks[0][len(partial_nick):] completion += ':' if space: completion += ' ' elif len(nicks) > 1: iend = self._buffer.get_end_iter() nicks.sort() self._buffer.insert_with_tags_by_name(iend, "\n" + ' '.join(nicks), 'gray') self._at_bottom = (self._adjust.value == self._adjust.upper - self._adjust.page_size) # sort by length nicks.sort(lambda x,y: cmp(len(x), len(y))) completion = '' for i in range(len(partial_nick), len(nicks[0])): # filter nicknames with the same next character filtered_nicks = filter(lambda x: nicks[0][i] == x[i], nicks) if len(nicks) == len(filtered_nicks): completion += nicks[0][i] else: break else: # no match return self._input.insert_text(completion, pos) self._input.set_position(pos + len(completion)) def _send_text(self, *args): text = self._input.get_text() if text == '': return if text.startswith('/'): self._append_to_buffer(_('IRC commands are not yet supported.')) elif self._questioncheckbox.get_active(): self._questioncheckbox.set_active(False) self._chatchan.send_message(self._get_question_token() + u' ' + unicode(text)) else: self._chatchan.send_message(text) self._input.set_text('') def _message_received(self, chan, sender, text, msgtype): self._append_to_buffer(text, sender, msgtype) def _message_sent(self, chan, text): self._adjust.value = self._adjust.upper - self._adjust.page_size self._append_to_buffer(text, chan._conn._acquired_nick) def _scroll(self, textview, alloc): if self._at_bottom is None: self._at_bottom = True if self._at_bottom: self._adjust.value = self._adjust.upper - self._adjust.page_size lernid-1.0.1/lernid/widgets/Widget.py0000664000000000000000000000435512014217737014411 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import os.path import gtk from lernid.lernidconfig import get_data_path from lernid.EventManager import EventManager class Widget(gtk.Bin): __gtype_name__ = 'LernidWidget' def __init__(self, name): gtk.Bin.__init__(self) self._name = name self._connected_signals = [] event_man = EventManager.get_instance() event_man.register_widget(self) event_man.connect('event-connect', self.do_event_connect) event_man.connect('event-disconnect', self.do_event_disconnect) @property def name(self): return self._name def builder_with_file(self, filename): path = get_data_path('ui', filename) builder = gtk.Builder() builder.add_from_file(path) return builder def do_size_request(self, req): child = self.get_child() if child: child.size_request() def do_size_allocate(self, alloc): child = self.get_child() if child: child.size_allocate(alloc) def event_connect_signal(self, obj, signal, callback): hid = obj.connect(signal, callback) self._connected_signals.append((obj, hid)) def event_disconnect_signals(self): for obj, hid in self._connected_signals: if obj.handler_is_connected(hid): obj.disconnect(hid) self._connected_signals = [] def do_event_connect(self, eventman, event): pass def do_event_disconnect(self, eventman, event): pass lernid-1.0.1/lernid/PasswordDialog.py0000664000000000000000000000341312014217737014434 0ustar # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk from lernid.lernidconfig import get_data_path class PasswordDialog(gtk.Dialog, gtk.Buildable): __gtype_name__ = "PasswordDialog" @staticmethod def new(): builder = gtk.Builder() builder.add_from_file(get_data_path('ui', 'PasswordDialog.ui')) return builder.get_object("password_dialog") def do_parser_finished(self, builder): """do_parser_finished is automatically called after the UI definition has been parsed. """ entry = builder.get_object('password_entry') ok = builder.get_object('ok_button') def update(widget): ok.set_sensitive(bool(entry.get_text())) entry.connect('changed', update) self.entry = entry def run(self): password = None if gtk.Dialog.run(self) == gtk.RESPONSE_OK: password = self.entry.get_text() self.entry.set_text('') self.hide() return password if __name__ == "__main__": dialog = PasswordDialog.new() print dialog.run() lernid-1.0.1/lernid/IrcBackend.py0000664000000000000000000004332212014221053013464 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import glib import os import gobject import random import dbus.mainloop.glib dbus.mainloop.glib.DBusGMainLoop(set_as_default = True) import telepathy from telepathy.interfaces import * from telepathy.constants import * import logging from lernid.LernidOptions import Options from lernid.lernidconfig import VERSION from lernid.Statusbar import Statusbar DBUS_PROPERTIES = dbus.PROPERTIES_IFACE def ignore(*args): pass _server_instances = {} class Server(gobject.GObject): __gsignals__ = { 'connected': ( gobject.SIGNAL_RUN_LAST, None, () ), 'disconnected': ( gobject.SIGNAL_RUN_LAST, None, () ), 'identified': ( gobject.SIGNAL_RUN_LAST, None, () ), } DISCONNECTED, CONNECTING, CONNECTED = range(3) def __init__(self, server, nick, eventman): gobject.GObject.__init__(self) self._eventman = eventman self._nick = nick self._temp_nick = nick[0:9] + str(random.randint(0,999999)) self._server = server self._channels = {} self._private_channels = {} self._conn = None self._state = self.DISCONNECTED self._unconnected_channels = {} self._unconnected_private_channels = {} self._nickidentifier = None self._load_manager() self._request_connection(server, self._temp_nick) self._conn_timeout = None @property def nick(self): return self._nick @nick.setter def nick(self, val): self._nick = val @classmethod def get_server(cls, server, nick, eventman): logging.debug('getting server') global _server_instances if server in _server_instances: server_obj = _server_instances[server] server_obj.nick = nick server_obj._request_connection(server, server_obj._temp_nick) return server_obj else: obj = cls(server, nick, eventman) _server_instances[server] = obj return obj def get_channel(self, name): if name in self._channels: return self._channels[name] obj = Channel(name) self._channels[name] = obj self._connect_channel(obj) return obj def get_private_channel(self, target): if target in self._private_channels: return self._private_channels[target] obj = PrivateChannel(target) self._private_channels[target] = obj self._connect_private_channel(obj) return obj def identify_nick(self, password): self._nickidentifier = NickServIdentifier(self.nick, password) self._connect_private_channel(self._nickidentifier) return self._nickidentifier def connection_ready_timeout(self): logging.debug('Connection timed out') self.disconnect() self._eventman.emit('event-interrupted', self._eventman._event) return False def _load_manager(self): logging.debug('loading manager') reg = telepathy.client.ManagerRegistry() reg.LoadManagers() self._cm = reg.GetManager('idle') # IRC def _request_connection(self, server, nick): logging.debug('requesting connection: %s %s' % (server, nick)) if self._state == self.DISCONNECTED: self._state = self.CONNECTING self._cm[CONNECTION_MANAGER].RequestConnection('irc', {'account': nick, 'server': server, 'fullname': VERSION}, reply_handler=self._got_connection, error_handler=self.error) else: logging.debug('ignoring request') def _got_connection(self, bus_name, object_path): logging.debug('got connection') self._conn = telepathy.client.Connection( bus_name, object_path, ready_handler=self._ready) self._conn._acquired_nick = '' self._conn[CONNECTION].connect_to_signal('StatusChanged', self._status_changed) self._conn[CONNECTION].Connect(reply_handler=ignore, error_handler=self.error) if self._conn_timeout: glib.source_remove(self._conn_timeout) self._conn_timeout = glib.timeout_add_seconds(90,self.connection_ready_timeout) def _ready(self, connection): logging.debug('server ready') self._state = self.CONNECTED self._conn[CONNECTION_INTERFACE_RENAMING].RequestRename(self._nick) logging.debug('nick potentially changed in _ready handler to %s' % \ self._nick) glib.source_remove(self._conn_timeout) self._conn_timeout = None for channel in self._unconnected_channels.keys(): self._connect_channel(channel) self._unconnected_channels = {} for channel in self._unconnected_private_channels.keys(): self._connect_private_channel(channel) self._unconnected_private_channels = {} def _connect_channel(self, channel): if self._state != self.CONNECTED: self._unconnected_channels[channel] = True return def setup_channel(yours, object_path, properties): channel.do_connect(self._conn, object_path, properties) self._conn[CONNECTION_INTERFACE_REQUESTS].EnsureChannel({ CHANNEL + ".ChannelType": CHANNEL_TYPE_TEXT, CHANNEL + ".TargetHandleType": HANDLE_TYPE_ROOM, CHANNEL + ".TargetID": channel.name, }, reply_handler = setup_channel, error_handler = self.error) def _connect_private_channel(self, channel): if self._state != self.CONNECTED: self._unconnected_private_channels[channel] = True return def setup_channel(yours, object_path, properties): channel.do_connect(self._conn, object_path, properties) self._conn[CONNECTION_INTERFACE_REQUESTS].EnsureChannel({ CHANNEL + ".ChannelType": CHANNEL_TYPE_TEXT, CHANNEL + ".TargetHandleType": HANDLE_TYPE_CONTACT, CHANNEL + ".TargetID": channel.target, }, reply_handler = setup_channel, error_handler = self.error) def _status_changed(self, status, reason): if status == CONNECTION_STATUS_CONNECTED: logging.debug('connected to server') self.emit('connected') elif status == CONNECTION_STATUS_DISCONNECTED: logging.debug('disconnected from server') if self._conn_timeout: glib.source_remove(self._conn_timeout) self._conn_timeout = None for chan in self._channels.values(): chan._c_disconnect() self._unconnected_channels[chan] = True for chan in self._private_channels.values(): self._unconnected_private_channels[chan] = True if self._nickidentifier: self._unconnected_private_channels[self._nickidentifier] = True if self._state == self.CONNECTED: # Only emit signal if we had a connection before self.emit('disconnected') self._state = self.DISCONNECTED if reason == CONNECTION_STATUS_REASON_NAME_IN_USE: self._nick = '{0}{1}'.format(self._nick, random.randint(10, 99)) self._request_connection(self._server, self._nick) if reason == CONNECTION_STATUS_REASON_NETWORK_ERROR: self._eventman.emit('event-interrupted', self._eventman._event) def disconnect(self): if not self._conn: return def disconnect_cb(): logging.debug("Server Disconnect Done") def disconnect_error_cb(error): pass if self._conn_timeout: glib.source_remove(self._conn_timeout) self._conn_timeont = None self._conn[CONNECTION].Disconnect(reply_handler=disconnect_cb, error_handler=disconnect_error_cb) self._state = self.DISCONNECTED self._conn = None self._nickidentifier = None def error(self, e): logging.debug("ERROR:Server:%s:%s", e.get_dbus_name(), e.args[0]) self._state = self.DISCONNECTED if e.get_dbus_name() == 'org.freedesktop.DBus.Error.ServiceUnknown': self._load_manager() self._request_connection(self._server, self._temp_nick) else: self.disconnect() class Channel(gobject.GObject): TYPE_NORMAL = 0 TYPE_ACTION = 1 __gsignals__ = { 'joined': ( gobject.SIGNAL_RUN_LAST, None, () ), 'message-received': ( gobject.SIGNAL_RUN_LAST, None, (str, str, int) ), 'message-sent': ( gobject.SIGNAL_RUN_LAST, None, (str,) ), 'members-changed': ( gobject.SIGNAL_RUN_LAST, None, (object,) ), } def __init__(self, name): """Channel objects should not be instancted directly, use Server.get_channel function.""" logging.debug('channel created') gobject.GObject.__init__(self) self._name = name self._signal_matches = [] self._my_handle = None def do_connect(self, connection, object_path, properties): """Should only be called by Server""" logging.debug('connecting channel') self._members = {} self._conn = connection self._chan = telepathy.client.Channel( connection.service_name, object_path, ready_handler=self._ready) @property def name(self): return self._name def get_members(self): return self._members.values() def send_message(self, message): if not self._chan: return def ack(): logging.debug('message sent to %s' % self.name) self.emit('message-sent', message) self._chan[CHANNEL_TYPE_TEXT].Send(0, message, reply_handler=ack, error_handler=self._conn.error) def is_moderated(self): try: return bool(self._chan[PROPERTIES_INTERFACE].GetProperties([3])[0][1]) except Exception, e: logging.debug('could not acess "moderated" property: {0}'.format(e)) return False def _ready(self, channel): """We have joined the channel.""" logging.debug('connected channel %s' % self.name) match = self._chan[CHANNEL_INTERFACE_GROUP].connect_to_signal('MembersChanged', self._members_changed) self._signal_matches.append(match) self._chan[CHANNEL_INTERFACE_GROUP].GetMembers(reply_handler=self._update_members, error_handler=self._conn.error) match = self._chan[CHANNEL_TYPE_TEXT].connect_to_signal('Received', self._received_message) self._signal_matches.append(match) self.emit('joined') def _c_disconnect(self): for match in self._signal_matches: match.remove() self._signal_matches = [] def _update_members(self, handles): def update_cb(ids): self._members.update(zip(handles, ids)) if Options.get('more_verbose'): logging.debug('members updated') self.emit('members-changed', self.get_members()) if self._my_handle: try: my_alias = self._members[self._my_handle] except: return if not my_alias == self._conn._acquired_nick: self._conn._acquired_nick = my_alias Statusbar.push_message(_('Nick assigned by server: %s' % my_alias), duration=20) logging.debug('Nick assigned by server: %s' % my_alias) def update_my_handle(handle): self._my_handle = handle # If this first call doesn't return before the Aliases come back # we can set our alias name the next time membership in a room changes self._my_handle = self._conn[CONNECTION].GetSelfHandle(reply_handler=update_my_handle, error_handler=lambda x: None) self._conn[CONNECTION_INTERFACE_ALIASING].RequestAliases( handles, reply_handler=update_cb, error_handler=ignore) def _members_changed(self, message, added, removed, local_pending, remote_pending, actor, reason): if Options.get('more_verbose'): logging.debug('members changed in %s' % self.name) for h in removed: if h in self._members: del self._members[h] self._update_members(added) def _received_message(self, id, timestamp, sender_handle, msgtype, flags, text): if Options.get('more_verbose'): logging.debug('message received in %s' % self.name) if msgtype == CHANNEL_TEXT_MESSAGE_TYPE_ACTION: msgtype = self.TYPE_ACTION else: msgtype = self.TYPE_NORMAL if not sender_handle in self._members: sender = self._conn[CONNECTION_INTERFACE_ALIASING].RequestAliases( [sender_handle])[0] # Need to backstop other alias mechanisms self._members[sender_handle] = sender else: sender = self._members[sender_handle] self.emit('message-received', sender, text, msgtype) class PrivateChannel(gobject.GObject): __gsignals__ = { 'joined': ( gobject.SIGNAL_RUN_LAST, None, () ), 'message-received': ( gobject.SIGNAL_RUN_LAST, None, (str, str) ), 'message-sent': ( gobject.SIGNAL_RUN_LAST, None, (str,) ), } @property def target(self): return self._target def __init__(self, target): """PrivateChannel objects should not be instanced directly, use Server.get_private_channel function.""" logging.debug('private channel created') gobject.GObject.__init__(self) self._target = target self._conn = None self._chan = None def do_connect(self, connection, object_path, properties): """Should only be called by Server""" logging.debug('connecting private channel') self._conn = connection self._chan = telepathy.client.Channel( connection.service_name, object_path, ready_handler=self._ready) def send_message(self, message): if not self._chan: return False def ack(): logging.debug('message sent to %s' % self.target) self.emit('message-sent', message) self._chan[CHANNEL_TYPE_TEXT].Send(0, message, reply_handler=ack, error_handler=self._conn.error) return True def _ready(self, channel): """We have joined the channel.""" logging.debug('connected private channel %s' % self.target) self._chan[CHANNEL_TYPE_TEXT].connect_to_signal('Received', self._received_message) self.emit('joined') def _received_message(self, id, timestamp, sender_handle, msgtype, flags, text): logging.debug('private message by %s is %s' % (self.target,text)) self.emit('message-received', self.target, text) class NickServIdentifier(PrivateChannel): """A class for identifying with NickServ. Should only be instanciated by Server object """ __gsignals__ = { 'identified': ( gobject.SIGNAL_RUN_LAST, None, () ), 'invalid-password': ( gobject.SIGNAL_RUN_LAST, None, () ), } def __init__(self, nick, password): PrivateChannel.__init__(self, 'NickServ') self._nick = nick self.connect('joined', self._joined, password) self.connect('message-received', self._msg_received) def retry(self, password): """Try indentifying with NickServ again. To be used if initial identification fails because of invalid password. """ self._identify(password) def _joined(self, chan, password): self._identify(password) def _identify(self, password): self.send_message('identify {0} {1}'.format(self._nick, password)) def _msg_received(self, chan, sender, msg): if msg.startswith('You are now identified'): logging.debug('identified nick') handle = self._conn[CONNECTION].GetSelfHandle() logging.debug('our handle before the rename is %s' % self._conn[CONNECTION_INTERFACE_ALIASING].RequestAliases([handle])[0]) self._conn[CONNECTION_INTERFACE_RENAMING].RequestRename(self._nick) logging.debug('nick potentially changed in ident. handler to %s'% \ self._nick) self.emit('identified') elif msg.startswith('Invalid password'): logging.debug('invalid password') self.emit('invalid-password') lernid-1.0.1/lernid/LernidPreferences.py0000664000000000000000000001431012014221053015071 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE from ConfigParser import RawConfigParser from lernid.lernidconfig import save_cache_path from lernid.LernidOptions import Options import logging class Preferences(object): _instance = None def __init__(self): self._parser = RawConfigParser() self._parser.add_section('lernid') self._load_preferences() def _load_preferences(self): self._preferences = { 'vertical': False, 'show_appindicator': True, 'main_window_maximize': False, 'statusbar': True, 'nick': '', 'show_irc_time': False, 'links_in_default_browser': False } file_name = save_cache_path('lernid')+'/config' try: config_file = open(file_name, 'r') except: return self._parser.readfp(config_file) config_file.close() for item in self._parser.items('lernid'): if item[0] == 'width': if 'main_window_size' not in self._preferences: self._preferences['main_window_size'] = dict() self._preferences['main_window_size']['width'] = int(item[1]) continue if item[0] == 'height': if 'main_window_size' not in self._preferences: self._preferences['main_window_size'] = dict() self._preferences['main_window_size']['height'] = int(item[1]) continue if item[0] == 'hpanesmain': if 'hpanes' not in self._preferences: self._preferences['hpanes'] = dict() self._preferences['hpanes']['main'] = int(item[1]) continue if item[0] == 'hpanessub': if 'hpanes' not in self._preferences: self._preferences['hpanes'] = dict() self._preferences['hpanes']['sub'] = int(item[1]) continue if item[0] == 'vpanesmain': if 'vpanes' not in self._preferences: self._preferences['vpanes'] = dict() self._preferences['vpanes']['main'] = int(item[1]) continue if item[0] == 'vpanessub': if 'vpanes' not in self._preferences: self._preferences['vpanes'] = dict() self._preferences['vpanes']['sub'] = int(item[1]) continue if item[1].startswith('{'): # remove old style unused options r = self._parser.remove_option('lernid', item[0]) continue elif item[1] == "True": self._preferences[item[0]] = True elif item[1] == "False": self._preferences[item[0]] = False else: self._preferences[item[0]] = item[1] def _update(self, prefs): self._preferences.update(prefs) def _flush(self): for item in self._preferences: if item == 'hpanes': self._parser.set('lernid', 'hpanesmain', self._preferences[item]['main']) self._parser.set('lernid', 'hpanessub', self._preferences[item]['sub']) elif item == 'vpanes': self._parser.set('lernid', 'vpanesmain', self._preferences[item]['main']) self._parser.set('lernid', 'vpanessub', self._preferences[item]['sub']) elif item == 'main_window_size': self._parser.set('lernid', 'width', self._preferences[item]['width']) self._parser.set('lernid', 'height', self._preferences[item]['height']) else: self._parser.set('lernid', item, self._preferences[item]) config_file = open(save_cache_path('lernid')+'/config', 'w') self._parser.write(config_file) config_file.close() @classmethod def get_instance(cls): if not cls._instance: cls._instance = cls() return cls._instance @classmethod def get(cls, name=None, default=None): """Return dict with preferences if @name is not given, else return the value of preference @name. If @name is not set, return @default which defaults to None. """ klass = cls.get_instance() if name: return klass._preferences.get(name, default) return klass._preferences @classmethod def set(cls, *args, **kwargs): """set(dict) -> updates preferences with values from dict set(name, value) -> updates a single preference set(key=val, key=val, ...) -> updates preferences with key-value pairs """ klass = cls.get_instance() if len(args) == 1: d = args[0] elif len(args) == 2: name, value = args d = {name: value} elif len(args) == 0 and kwargs: d = kwargs else: raise ValueError('set should be called as either set(key, val), ' 'set(dict) or set(key=val, key=val, ...)') klass._update(d) @classmethod def flush(cls): klass = cls.get_instance() klass._flush() if __name__ == '__main__': print Preferences.get('width') Preferences.set('width', 100) print Preferences.get('width') Preferences.set(width=200, height=300) print Preferences.get() Preferences.set({'width': 500, 'height': 200}) print Preferences.get() lernid-1.0.1/lernid/EventManager.py0000664000000000000000000002227012272057614014072 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import os import tempfile import gtk import glib import gobject import ConfigParser import urllib2 import io import logging from lernid import ConnectDialog from lernid.PasswordDialog import PasswordDialog from lernid.lernidconfig import save_cache_path from lernid.lernidconfig import __lernid_data_directory__ from lernid.LernidPreferences import Preferences from lernid.Event import Event from lernid.LernidOptions import Options from lernid.Statusbar import Statusbar from lernid.IrcBackend import Server _instance_object = None class EventManager(gobject.GObject): __gtype_name__ = 'EventManager' __gsignals__ = { 'event-connect': ( gobject.SIGNAL_RUN_LAST, None, (gobject.TYPE_PYOBJECT,) ), 'event-disconnect': ( gobject.SIGNAL_RUN_LAST, None, (gobject.TYPE_PYOBJECT,) ), 'event-interrupted': ( gobject.SIGNAL_RUN_LAST, None, (gobject.TYPE_PYOBJECT,) ), } def __init__(self): gobject.GObject.__init__(self) self._cachefolder = save_cache_path('lernid') self._cachefolder_events = os.path.join(self._cachefolder, 'events') self._isconnected = False self._connectdialog = None self._passworddialog = None self._widgets = {} self._config = ConfigParser.ConfigParser() self._defaultconfig = u"""[#ubuntu-classroom -- In English] homepage: https://wiki.ubuntu.com/Classroom classroom: ubuntu-classroom chat: ubuntu-classroom-chat icalurl: http://www.google.com/calendar/ical/canonical.com_qg6t4s8i7mg8d4lgfu9f93qid4@group.calendar.google.com/public/basic.ics [#ubuntu-charlas -- En Español] homepage: https://wiki.ubuntu.com/Classroom classroom: ubuntu-charlas Chat:ubuntu-charlas-chat locale: es.ES icalurl: http://www.google.com/calendar/ical/q16aejpuv5kgmoa7b6ridenkpk%40group.calendar.google.com/public/basic.ics """ # Make sure that these names are lower case self.classbotnames = ['classbot', 'classroombot', 'clasebot'] if Options.get('config'): try: self._configtext = self._read_config() except IOError: Statusbar.push_message(_('Cannot retrieve configuration')) self._configtext = self._defaultconfig tf = tempfile.TemporaryFile() tf.write(self._configtext) tf.seek(0) self._config.readfp(tf) tf.close() else: if __lernid_data_directory__.startswith('/'): path = '/etc/lernid-classrooms.d' else: path = os.path.join(os.path.dirname(__file__),'../etc/lernid-classrooms.d') path = os.path.abspath(path) self._config.read([path+'/'+i for i in os.listdir(path)]) @classmethod def get_instance(cls): global _instance_object if not _instance_object: _instance_object = cls() return _instance_object def _read_config(self): uri = Options.get('config') if uri.startswith('http://') or uri.startswith('https://'): return urllib2.urlopen(uri,None,30).read() else: try: return open(uri).read() except IOError: logging.critical("Unable to read configuration file "+uri) raise def _connect_event(self, event, nick): if self.is_connected(): self.disconnect() if not self._config.has_option(event, 'eventstart'): eventstart = '2011-01-01 00:00:00' else: eventstart = self._config.get(event, 'eventstart') if not self._config.has_option(event, 'eventend'): eventend = '2029-01-01 23:59:59' else: eventend = self._config.get(event, 'eventend') try: homepage = self._config.get(event, 'homepage') except: homepage = "https://wiki.ubuntu.com/Classroom" try: icalurl = self._config.get(event, 'icalurl') except: icalurl = "http://www.google.com/calendar/ical/canonical.com_qg6t4s8i7mg8d4lgfu9f93qid4@group.calendar.google.com/public/basic.ics" if Options.get('calendar'): icalurl = Options.get('calendar') try: classroom = self._config.get(event, 'classroom') if classroom[0] not in '#&!+': classroom = '#' + classroom except: classroom = "" try: chat = self._config.get(event, 'chat') if chat[0] not in '#&!+': chat = '#' + chat except: chat = "#ubuntu-classroom-chat" try: logstring= self._config.get(event, 'logstring') except: logstring = None try: locale = self._config.get(event, 'locale') except: locale = None try: server = self._config.get(event, 'server') except: server = None try: question_token = self._config.get(event, 'question_token') except: question_token = None self._event = Event( name = event, nick = nick, homepage = homepage, icalurl = icalurl, classroom = classroom, chat = chat, eventstart=eventstart, eventend=eventend, locale = locale, question_token = question_token, logstring = logstring, server = server ) logging.debug('connecting to event {0}'.format(event)) Statusbar.push_message(_('Connecting to event'), duration=10) self._isconnected = True self.emit('event-connect', self._event) def _identify_nick(self, nick, password): server = Server.get_server('irc.freenode.net', nick, self) identifier = server.identify_nick(password) def update_statusbar(obj): Statusbar.push_message(_('Your nickname is now identified'), duration=15) identifier.connect('identified', update_statusbar) def retry(obj): if not self._passworddialog: self._passworddialog = PasswordDialog.new() password = self._passworddialog.run() if password != None: identifier.retry(password) identifier.connect('invalid-password', retry) def connect_dialog(self, widget=None, parent=None): """Show the connect dialog and connect to the resources.""" if not self._connectdialog: self._connectdialog = ConnectDialog.NewConnectDialog() self._connectdialog.set_transient_for(parent) self._connectdialog.connect('response', self._connect_dialog_first_response) config_event = Preferences.get('event') if config_event: self._connectdialog.set_event(config_event[1:-1]) self._connectdialog.set_nick(Preferences.get('nick')) self._connectdialog.set_transient_for(widget) self._connectdialog.show() def _connect_dialog_first_response(self, dialog, response): if response == gtk.RESPONSE_OK: self._connectdialog.hide() glib.idle_add(self._connect_dialog_response, dialog, response) def _connect_dialog_response(self, dialog, response): event = self._connectdialog.get_event() Preferences.set('event', '"%s"' % event) nick = self._connectdialog.get_nick() Preferences.set('nick', nick) self._connect_event(event, nick) password = self._connectdialog.get_password() if password: self._identify_nick(nick, password) def disconnect(self): if not self.is_connected(): return self._isconnected = False Statusbar.push_message(_('Disconnecting from event'), duration=10) self.emit('event-disconnect', self._event) logging.debug('disconnecting') def current_event(self): return self._event def is_connected(self): return self._isconnected def get_available_events(self): return self._config.sections() def register_widget(self, widget): if widget.name in self._widgets: raise ValueError('a widget with that name is already registered') self._widgets[widget.name] = widget def get_widget_by_name(self, name): if name in self._widgets: return self._widgets[name] return None lernid-1.0.1/lernid/Statusbar.py0000664000000000000000000000306312014217737013463 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import gtk import glib _statusbar_instance = None class Statusbar(gtk.Statusbar): __gtype_name__ = 'LernidStatusbar' def __init__(self): gtk.Statusbar.__init__(self) @classmethod def get_instance(cls): global _statusbar_instance if not _statusbar_instance: _statusbar_instance = cls() return _statusbar_instance @classmethod def push_message(cls, msg, ctx='lernid', duration=None): obj = cls.get_instance() ctxid = obj.get_context_id(ctx) msgid = obj.push(ctxid, msg) if duration: glib.timeout_add_seconds(duration, obj.remove_message, ctxid, msgid) @classmethod def pop_message(cls, ctx='lernid'): obj = cls.get_instance() id = obj.get_context_id(ctx) obj.pop(id) lernid-1.0.1/lernid/lernidconfig.py0000664000000000000000000000752012273564423014164 0ustar # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE # THIS IS Lernid CONFIGURATION FILE # YOU CAN PUT THERE SOME GLOBAL VALUE # Do not touch until you know what you're doing. # you're warned :) # where your project will head for your data (for instance, images and ui files) # by default, this is ../data, relative your trunk layout __lernid_data_directory__ = '../data/' import os import xdg.BaseDirectory def _(message): return message VERSION = '1.0.1' DESCRIPTION = _('Connect to a world of online tutorials quickly and easily.') WEBSITE = 'http://wiki.ubuntu.com/Lernid' CONTRIBUTORS = [ "Alex Kapranoff ", "Andrew Higginson ", "Daniel Holbach ", "David Planella ", "Jono Bacon ", "Lucian Adrian Grijincu ", "Methiue Comandon ", "Michael Budde ", "Peeyoosh Sangolekar ", "Sanne Wouda ", "Sense Hofstede ", "John S Gruber ", ] ARTISTS = [ 'K.Vishnoo Charan Reddy ' ] LICENSE = """ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . """ class ProjectPathNotFound(Exception): pass def get_data_path(*resource): """Retrieve lernid data path This path is by default /../data/ in trunk and /usr/share/lernid in an installed version but this path is specified at installation time. """ # get pathname absolute or relative if __lernid_data_directory__.startswith('/'): pathname = __lernid_data_directory__ else: pathname = os.path.join(os.path.dirname(__file__), __lernid_data_directory__) abs_data_path = os.path.abspath(pathname) if os.path.exists(abs_data_path): filepath = os.path.join(abs_data_path, *resource) if os.path.exists(filepath): return filepath else: return None else: raise ProjectPathNotFound # Taken from xdg.BaseDirectory.save_data_path() to provide the same function # $XDG_CACHE_HOME as well def save_cache_path(*resource): """Ensure $XDG_CACHE_HOME// exists, and return its path. 'resource' is the name of some shared resource. Use this when updating a shared (between programs) database. Use the xdg_data_dirs variable for loading.""" resource = os.path.join(*resource) assert not resource.startswith('/') path = os.path.join(xdg.BaseDirectory.xdg_cache_home, resource) if not os.path.isdir(path): os.makedirs(path) return path lernid-1.0.1/lernid/DateTime.py0000664000000000000000000000440412014217737013207 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import time from datetime import datetime, timedelta, tzinfo ZERO = timedelta(0) class UTCTimezone(tzinfo): """UTC""" def utcoffset(self, dt): return ZERO def tzname(self, dt): return "UTC" def dst(self, dt): return ZERO UTC = UTCTimezone() STDOFFSET = timedelta(seconds = -time.timezone) if time.daylight: DSTOFFSET = timedelta(seconds = -time.altzone) else: DSTOFFSET = STDOFFSET DSTDIFF = DSTOFFSET - STDOFFSET class LocalTimezone(tzinfo): """Local timezone from http://docs.python.org/library/datetime.html#datetime.datetime""" def utcoffset(self, dt): if self._isdst(dt): return DSTOFFSET else: return STDOFFSET def dst(self, dt): if self._isdst(dt): return DSTDIFF else: return ZERO def tzname(self, dt): return time.tzname[self._isdst(dt)] def _isdst(self, dt): tt = (dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.weekday(), 0, -1) stamp = time.mktime(tt) tt = time.localtime(stamp) return tt.tm_isdst > 0 Local = LocalTimezone() def now_local(): return datetime.now(Local) def now_utc(): return datetime.now(UTC) def parse_time(source, format, source_tz=UTC, target_tz=Local): return datetime(*(time.strptime(source, format)[0:6]), tzinfo=source_tz).astimezone(target_tz) def as_local(dt): return dt.astimezone(Local) def as_utc(dt): return dt.astimezone(UTC) lernid-1.0.1/lernid/Sessions.py0000664000000000000000000001634512014221053013312 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import re import vobject import urllib2 import logging import lernid.DateTime as dt import io import gio, glib from datetime import timedelta half_year = timedelta(days = 183) class Session(object): PAST, NOW, FUTURE = range(3) def __init__(self, **kwargs): for k, v in kwargs.iteritems(): if k in ('uid', 'title', 'description', 'instructors', 'helpers', 'local_start', 'local_end', 'slides', 'event', 'locale', 'question_token'): setattr(self, '_'+k, v) @property def uid(self): return self._uid @property def title(self): return self._title @property def description(self): return self._description @property def instructors(self): return getattr(self, '_instructors', []) @property def helpers(self): return getattr(self, '_helpers', []) @property def locale(self): return getattr(self, '_locale', None) @property def question_token(self): return getattr(self, '_question_token', None) @property def start_local_date(self): # Translators: Local date representation return self._local_start.strftime(_('%d %B %Y')) @property def start_local_time(self): # Translators: Local time representation return self._local_start.strftime(_('%H:%M')) @property def end_local_time(self): # Translators: Local time representation return self._local_end.strftime(_('%H:%M')) @property def start_datetime(self): return self._local_start @property def end_datetime(self): return self._local_end @property def slides(self): return getattr(self, '_slides', None) @property def event(self): return getattr(self, '_event', None) @property def state(self): now, start, end = dt.now_local(), self.start_datetime, self.end_datetime if now < start: return self.FUTURE if start < now < end: return self.NOW if now > end: return self.PAST def start_read_ical(url, when_done_cb, cancellable, data): gfile = gio.File(uri=url) r = gfile.load_contents_async(when_done_cb, cancellable=cancellable, user_data=data) def read_ical(gfile,result,userdata): event, old_ical = userdata default_cal_error = ( u"""BEGIN:VCALENDAR BEGIN:VEVENT DTSTART:20100101T000000Z DTEND:20100101T000000Z DESCRIPTION:CalendarError SUMMARY: """ + _('Unable to load calendar %s\n') + u"""END:VEVENT END:VCALENDAR""") % event.icalurl try: ical = unicode(gfile.load_contents_finish(result)[0]) icf = io.StringIO(ical) ical_output = io.StringIO() # DTSTAMP is changed for each calendar entry each time, but isn't # significant--remove them for i in icf.readlines(): if i[0:8] != u'DTSTAMP:': ical_output.write(i) ical = ical_output.getvalue() icf.close() ical_output.close() except gio.Error, information: if information.code == gio.ERROR_CANCELLED: logging.debug('Ignoring the completion of a cancelled cal. load') return '' logging.error('Unable to open calendar %s' % gfile.get_uri()) logging.error(information) if old_ical: ical = old_ical else: ical = default_cal_error except glib.GError, information: logging.error('Unable to open calendar %s' % gfile.get_uri()) logging.error(information) if old_ical: ical = old_ical else: ical = default_cal_error return ical def parse_ical(event, ical): default_cal_error = ( u"""BEGIN:VCALENDAR BEGIN:VEVENT DTSTART:20100101T000000Z DTEND:20100101T000000Z DESCRIPTION:CalendarError SUMMARY: """ + _('Unable to parse calendar %s\n') + u"""END:VEVENT END:VCALENDAR""") % event.icalurl try: cal = vobject.readOne(io.StringIO(ical)) except: logging.critical('Error parsing calendar at %s' % event.icalurl) cal = vobject.readOne(io.StringIO(default_cal_error)) sessions = [] eventstart_local = dt.parse_time(event.eventstart, '%Y-%m-%d %H:%M:%S') eventend_local = dt.parse_time(event.eventend, '%Y-%m-%d %H:%M:%S') for session in cal.vevent_list: session_data = {} if not hasattr(session, "dtstart") or not hasattr(session, "dtend"): logging.debug("Missing or invalid time for event") local_start = eventend_local local_end = eventend_local else: local_start = dt.as_local(session.dtstart.value) local_end = dt.as_local(session.dtend.value) if hasattr(session, "description"): if session.description.value == "CalendarError": local_start = eventend_local local_end = eventend_local session_data = parse_ical_description(session.description.value) if hasattr(session, "summary"): summary = session.summary.value else: summary = _('Missing Session Name') if hasattr(session, "uid"): uid = session.uid else: uid = 0 if eventstart_local <= local_start <= eventend_local: if local_start > dt.now_local() - half_year: sessions.append(Session( title = summary, local_start = local_start, local_end = local_end, uid = uid, **session_data)) # reverse the list to get the events in chronological order sessions.sort(lambda x,y: cmp(x.start_datetime, y.start_datetime)) return sessions def parse_ical_description(desc): session = {} for line in desc.splitlines(): items = [s.strip() for s in line.split(None, 1)] if len(items) != 2: continue key, value = items key = key[:-1].lower() if key in ('description', 'slides', 'event', 'locale', 'question_token'): session[str(key)] = value elif key == 'instructor' or key == 'instructors': instructors = [s.strip() for s in value.split(',')] session['instructors'] = instructors elif key == 'helper' or key == 'helpers': helpers = [s.strip() for s in value.split(',')] session['helpers'] = helpers return session lernid-1.0.1/lernid/Event.py0000664000000000000000000000400412014221053012552 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE class Event(object): def __init__(self, **kwargs): for k, v in kwargs.iteritems(): if k in ('name', 'nick', 'homepage', 'icalurl', 'classroom', 'chat', 'eventstart', 'eventend', 'locale', 'logstring', 'question_token', 'server'): setattr(self, '_'+k, v) @property def name(self): return self._name @property def nick(self): return self._nick @property def homepage(self): return self._homepage @property def icalurl(self): if self._icalurl.upper().startswith("HTTPS"): return self._icalurl[0:4] + self._icalurl[5:] else: return self._icalurl @property def classroom(self): return self._classroom @property def chat(self): return self._chat @property def locale(self): return self._locale @property def logstring(self): return self._logstring @property def server(self): return self._server @property def question_token(self): return self._question_token @property def eventstart(self): return self._eventstart @property def eventend(self): return self._eventend lernid-1.0.1/lernid/LernidOptions.py0000664000000000000000000000327312014217737014307 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import optparse from lernid.lernidconfig import VERSION _instance = None class Options(object): def __init__(self): self.option_list = [] @classmethod def get_instance(cls): global _instance if not _instance: _instance = cls() return _instance @classmethod def add_option(cls, *args, **kwargs): opt = optparse.make_option(*args, **kwargs) cls.get_instance().option_list.append(opt) @classmethod def parse_args(cls): inst = cls.get_instance() parser = optparse.OptionParser(version='%prog {0}'.format(VERSION), option_list=inst.option_list) options, args = parser.parse_args() inst.options = options inst.args = args @classmethod def get(cls, name, default=None): val = getattr(cls.get_instance().options, name.replace('-', '_')) if val == None: return default return val lernid-1.0.1/lernid/__init__.py0000664000000000000000000000000012000122525013217 0ustar lernid-1.0.1/lernid/PreferencesLernidDialog.py0000664000000000000000000001002112014221053016204 0ustar # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import os import gtk from lernid.lernidconfig import get_data_path from lernid.LernidPreferences import Preferences class PreferencesLernidDialog(gtk.Dialog): __gtype_name__ = "PreferencesLernidDialog" def __init__(self): """__init__ - This function is typically not called directly. Creation of a PreferencesLernidDialog requires redeading the associated ui file and parsing the ui definition extrenally, and then calling PreferencesLernidDialog.finish_initializing(). Use the convenience function NewPreferencesLernidDialog to create NewAboutLernidDialog objects. """ gtk.Dialog.__init__(self) def finish_initializing(self, builder): """finish_initalizing should be called after parsing the ui definition and creating a AboutLernidDialog object with it in order to finish initializing the start of the new AboutLernidDialog instance. """ self._prefs = Preferences.get() #get a reference to the builder and set up the signals self.builder = builder self.show_appindicator = builder.get_object('show_appindicator') self.use_vertical_layout = builder.get_object('vertical_layout') self.show_irc_time = builder.get_object('show_irc_time') self.open_links_in_default_browser = builder.get_object('links_in_default_browser') self._load_preferences() self.builder.connect_signals(self) def _load_preferences(self): self.show_appindicator.set_active(self._prefs.get('show_appindicator')) self.use_vertical_layout.set_active(self._prefs.get('vertical')) self.show_irc_time.set_active(self._prefs.get('show_irc_time')) self.open_links_in_default_browser.set_active(self._prefs.get('links_in_default_browser')) def ok(self, widget, data=None): """ok - The user has elected to save the changes. Called before the dialog returns gtk.RESONSE_OK from run(). """ self._prefs['show_appindicator'] = self.show_appindicator.get_active() self._prefs['vertical'] = self.use_vertical_layout.get_active() self._prefs['show_irc_time'] = self.show_irc_time.get_active() self._prefs['links_in_default_browser'] = self.open_links_in_default_browser.get_active() Preferences.set(self._prefs) def cancel(self, widget, data=None): """cancel - The user has elected cancel changes. Called before the dialog returns gtk.RESPONSE_CANCEL for run() """ #restore any changes to self.__preferences here pass def restart_required(self, widget): self.builder.get_object('restart_required_message').show() def NewPreferencesLernidDialog(): """NewPreferencesLernidDialog - returns a fully instantiated PreferencesLernidDialog object. Use this function rather than creating a PreferencesLernidDialog instance directly. """ #look for the ui file that describes the ui ui_filename = get_data_path('ui', 'PreferencesLernidDialog.ui') builder = gtk.Builder() builder.add_from_file(ui_filename) dialog = builder.get_object("preferences_lernid_dialog") dialog.finish_initializing(builder) return dialog if __name__ == "__main__": dialog = NewPreferencesLernidDialog() dialog.show() gtk.main() lernid-1.0.1/lernid/AboutLernidDialog.py0000664000000000000000000000513112014217737015041 0ustar # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import os import gtk from lernid.lernidconfig import * class AboutLernidDialog(gtk.AboutDialog): __gtype_name__ = "AboutLernidDialog" def __init__(self): """__init__ - This function is typically not called directly. Creation of a AboutLernidDialog requires redeading the associated ui file and parsing the ui definition extrenally, and then calling AboutLernidDialog.finish_initializing(). Use the convenience function NewAboutLernidDialog to create NewAboutLernidDialog objects. """ gtk.AboutDialog.__init__(self) def finish_initializing(self, builder): """finish_initalizing should be called after parsing the ui definition and creating a AboutLernidDialog object with it in order to finish initializing the start of the new AboutLernidDialog instance. """ #get a reference to the builder and set up the signals self.builder = builder self.builder.connect_signals(self) self.set_comments(_(DESCRIPTION)) self.set_version(VERSION) self.set_website(WEBSITE) self.set_authors(CONTRIBUTORS) self.set_artists(ARTISTS) self.set_license(LICENSE) #code for other initialization actions should be added here def NewAboutLernidDialog(): """NewAboutLernidDialog - returns a fully instantiated AboutLernidDialog object. Use this function rather than creating a AboutLernidDialog instance directly. """ #look for the ui file that describes the ui ui_filename = get_data_path('ui', 'AboutLernidDialog.ui') builder = gtk.Builder() builder.add_from_file(ui_filename) dialog = builder.get_object("about_lernid_dialog") dialog.finish_initializing(builder) return dialog if __name__ == "__main__": dialog = NewAboutLernidDialog() dialog.show() gtk.main() lernid-1.0.1/lernid/ConnectDialog.py0000664000000000000000000001266412014221053014215 0ustar # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import os import gtk import ConfigParser import gobject import urllib import xdg.BaseDirectory import logging from lernid.lernidconfig import get_data_path, save_cache_path class ConnectDialog(gtk.Dialog): __gtype_name__ = "ConnectDialog" def __init__(self): """__init__ - This function is typically not called directly. Creation of a ConnectDialog requires redeading the associated ui file and parsing the ui definition extrenally, and then calling ConnectDialog.finish_initializing(). Use the convenience function NewConnectDialog to create a ConnectDialog object. """ gtk.Dialog.__init__(self) def finish_initializing(self, builder): """finish_initalizing should be called after parsing the ui definition and creating a ConnectDialog object with it in order to finish initializing the start of the new ConnectDialog instance. """ # FIXME: avoid circular import from lernid.EventManager import EventManager #get a reference to the builder and set up the signals self.builder = builder self.builder.connect_signals(self) store = gtk.ListStore(gobject.TYPE_STRING) eventman = EventManager.get_instance() self._eventlist=[] for s in eventman.get_available_events(): store.append([s]) self._eventlist += [unicode(s),] self.event_combo = self.builder.get_object("event_combo") self.event_combo.set_model(store) cell = gtk.CellRendererText() self.event_combo.pack_start(cell, True) self.event_combo.add_attribute(cell, 'text',0) if len(store) > 0: self.event_combo.set_active(0) def ok(self, widget, data=None): """ok - The user has elected to save the changes. Called before the dialog returns gtk.RESONSE_OK from run(). """ self.hide() self.event_combo.grab_focus() def cancel(self, widget, data=None): """cancel - The user has elected cancel changes. Called before the dialog returns gtk.RESPONSE_CANCEL for run() """ self.hide() self.event_combo.grab_focus() def check_ready_to_connect(self, widget): event_combo = self.builder.get_object("event_combo") nick_textentry = self.builder.get_object("nick_textentry") if self.is_valid_nick(nick_textentry) and (event_combo.get_active() != -1) : self.builder.get_object("button_connect").set_sensitive(True) else: self.builder.get_object("button_connect").set_sensitive(False) def get_nick(self): return self.builder.get_object('nick_textentry').get_text() def set_nick(self, nick): return self.builder.get_object('nick_textentry').set_text(nick) def get_event(self): return self.builder.get_object('event_combo').get_active_text() def set_event(self, event): if not event in self._eventlist: return False index = self._eventlist.index(event) return self.builder.get_object('event_combo').set_active(index) def get_password(self): return self.builder.get_object('password').get_text() def is_valid_nick(self, nick_te): alpha = 'abcdefghijklmnopqrstuvwxyz' alpha = alpha + alpha.upper() numeric = '0123456789' symbol = '_-[]\\`^{}|' nick = nick_te.get_text() if nick == "": nick_te.set_tooltip_text(_("Nick can not be blank")) return False try: if nick[0] not in alpha + symbol: nick_te.set_tooltip_text(_("Nick can not begin with: %s" % (nick[0]))) return False for c in nick[1:]: if c not in alpha + numeric + symbol: nick_te.set_tooltip_text(_("Nick can not contain blank spaces.") if c == ' ' else _("Nick can not contain: %s" % (c))) return False except UnicodeDecodeError: nick_te.set_tooltip_text(_("Nick can only contain English alphabet characters")) return False nick_te.set_tooltip_text(None) return True def NewConnectDialog(): """NewConnectDialog - returns a fully instantiated dialog-camel_case_nameDialog object. Use this function rather than creating ConnectDialog instance directly. """ #look for the ui file that describes the ui ui_filename = get_data_path('ui', 'ConnectDialog.ui') builder = gtk.Builder() builder.add_from_file(ui_filename) dialog = builder.get_object("connect_dialog") dialog.finish_initializing(builder) return dialog if __name__ == "__main__": dialog = NewConnectDialog() dialog.show() gtk.main() lernid-1.0.1/debian/0000775000000000000000000000000012312525412011075 5ustar lernid-1.0.1/debian/changelog0000664000000000000000000005043012312525412012751 0ustar lernid (1.0.1) trusty; urgency=low * Fix Browser freezes when Slide is open. lp: #1275521 * Release Version 1.0.1 * Update the above fix so each slide will be imaged on creation -- John S Gruber Sun, 02 Feb 2014 13:45:28 -0500 lernid (1.0) precise; urgency=low * Release Version 1.0 -- John S Gruber Tue, 28 Jan 2014 21:21:24 -0500 lernid (0.9.9.1) precise; urgency=low * Disable ubuntu-on-air for now. Adjust version numbers. -- John S Gruber Mon, 20 Jan 2014 15:36:30 -0500 lernid (0.9.9) precise; urgency=low * data/ui/LernidWindow.ui and man page. Mention gwibber in the appropriate events menu item. Christos Bountalis. Fixes lp: #794120. * lernid/widgets/IrcWidget.py. Highlight and italicize the user's question when repeated in the classroom by classbot. Mohammad AbuShady. Fixes lp: #1043899. * lernid/widgets/IrcWidget.py. Ignore the word "asked: " as it will be different in different languages. Make sure the sender name comparison is in lower case, matching the classbot name list. John S. Gruber * Merge translations as of 2013-2-28. * Merge translations as of 2013-6-27. * Ready new release * Address lp: 1130454 by adding ubuntu-onair and reenabling webkit plugins for computers that have SSE2. Don't close yet. * Handle no classroom case for ubuntu-onair * Same for when configuration file cannot be found * Refine event connection for classroom and chatroom if configured to be "" * lernid/widgets/Slide.py Handle 0 length slidefile case to avoid zero devide Fixes lp: #1038548 * Correct man page mispelling. -- John S Gruber Fri, 01 Mar 2013 22:23:58 -0500 lernid (0.8.5) precise; urgency=low * Release 0.8.5 -- John S Gruber Sun, 19 Aug 2012 13:32:58 -0400 lernid (0.8.4.11) precise; urgency=low * Merge lernid-proposed -- John S Gruber Sun, 19 Aug 2012 13:28:43 -0400 lernid (0.8.4.10) precise; urgency=low * Merge translations -- John S Gruber Sun, 19 Aug 2012 13:26:52 -0400 lernid (0.8.4.9) precise; urgency=low * Disable all plugins through webkit settings so they won't crash lernid. Future webkit releases may run plugins in a separate process allowing us to reconsider this eventually. lernid/widgets/Browser.py . Closes LP: #995695. -- John S Gruber Sun, 06 May 2012 20:38:42 -0400 lernid (0.8.4.8) precise; urgency=low * Don't add irc logs for future events in lernid/widgets/Schedule.py -- John S Gruber Thu, 03 May 2012 21:14:55 -0400 lernid (0.8.4.7) precise; urgency=low * Change version number and create new version of .pot files * Fix scrolling case when there are no sessions in the schedule timeframe. * Underline Irclog entries to make it apparent that they are clickable. -- John S Gruber Sat, 28 Apr 2012 00:12:17 -0400 lernid (0.8.4.6) precise; urgency=low * Change version number and create new version of .pot files * Get rid of slide error message more quickly, and when a new attempt is made to download slides. -- John S Gruber Mon, 23 Apr 2012 15:10:53 -0400 lernid (0.8.4.5) precise; urgency=low * Don't release the nick--it causes the server to change previous signons elsewhere to Guestn. * Add calendar override option for use in testing. * Create irclog lines for current and future sessions, too. * If there are no future sessions, scroll to the bottom of the calendar. * Add the --no-update command line option to supress lernid's scheduled schedule updates. * Scramble the calendar domain name before every calendar download * At disconnect time, be sure schedule _update handle is removed. Don't let an initial calendar load ending after an event is disconnected produce schedule the update chain. * Ignore callbacks from cancelled messages * Select time to trigger calendar updates from a list. At :06 after the hour and half hour. Other times are :01, :11, :21, :31, :41, :51 * Add remarks about the schedule buttons in the lernid man page. * Clean up some corner cases when events are terminated. Schedule._event is now None when there is no event active. Rename irclog click callback. * Remove event interrupted message when the next connection is made. * When a new slide load attempt is made, stop outstanding I/O and retries. * Add a schedule refresh button * Clean up and simplify calendar reload scheduling. Only load it every ten minutes and once a night to produce a new irclog entry in the schedule. * Be sure we don't pre-announce the same session twice in a row. * Make server disconnections more robust -- John S Gruber Sun, 22 Apr 2012 20:03:52 -0400 lernid (0.8.4.4) precise; urgency=low * New version number; new .pot file. Clear lintian errors -- John S Gruber Sun, 15 Apr 2012 22:29:02 -0400 lernid (0.8.4.3) precise; urgency=low * Depend on python version 2.6 as lernid uses the io module * Don't reparse calendar unless it has changed. Simplify _calendar_refresh parameters. * Don't scroll schedule unless we have just connected to an event.` -- John S Gruber Sun, 15 Apr 2012 20:23:07 -0400 lernid (0.8.4.2) precise; urgency=low * Increment release version by .1. Adjust version number in package. Make python-support a straight build dependency for now to avoid bug 594916 in launchpad's builder. -- John S Gruber Wed, 11 Apr 2012 22:39:02 -0400 lernid (0.8.4.1) precise; urgency=low * Correct problem using non-existent event preferences setting; advance version by .1 -- John S Gruber Wed, 11 Apr 2012 20:56:03 -0400 lernid (0.8.4) precise; urgency=low * Set up new release -- John S Gruber Wed, 11 Apr 2012 13:20:03 -0400 lernid (0.8.2.7) precise; urgency=low * Create new translation .pot file -- John S Gruber Wed, 11 Apr 2012 13:17:05 -0400 lernid (0.8.2.6) precise; urgency=low * Merge translations -- John S Gruber Wed, 11 Apr 2012 13:10:28 -0400 lernid (0.8.2.5) precise; urgency=low * Use nick from connect dialog when reconnecting * Make nick used in irc rooms reflect the nick assigned by the server and display a status message when it is changed -- John S Gruber Wed, 11 Apr 2012 12:31:11 -0400 lernid (0.8.2.4) precise; urgency=low * Correct message insertion into irc text buffers. -- John S Gruber Tue, 10 Apr 2012 19:26:25 -0400 lernid (0.8.2.3) precise; urgency=low [ Mohammad AbuShady ] * Fix traceback when issuing error message for attempt at irc command (LP: #925702) * Add clasebot to list of classbot names. (LP: #916629) * Time out the join message after 10 seconds. (LP: #806801) [ John S Gruber] * Time out various additional status messages. Avoid initial "learning material" message. (LP: #806805) * Disconnect channel signal handlers, if any, when the server connection is closed. Prevents messages from being repeated after multiple disconnects and connects. * Correct default events (classrooms). Use a temporary file to allow the configparser to read the default config as a utf-8 encoded string -- matching how it reads all other configs from disk or web. * Simplify nickname handling somewhat. Use version as fullname in initial sign-on. (LP: #850419, LP: #838557) * Remove "Question:" unicode space marking. * Change copyright format-spec: line to current format: line and update standards to 3.9.3.1 * Convert to debhelper7 from cdbs * Use dh_python2 for build if available; use python-support if not (Removes need for python-central). Thanks to Monty Taylor for the conditional code. (LP: #801281) * Remove desktopcouch configuration saving as Ubuntu One doesn't support it. (LP: #893738, LP: #795492) * In connect dialog default to last event chosen. (LP: #838505) * Expose the event icalurl in two ways, to the clipboard, and opened using the default method for the url. Also replace the slide opening function with the same gtk.show_uri function, removing the need for webbrowser. Also eliminate the gtk.viewport, tree views are scrollable so this is redundant (and I think, should have been a child of the scrolling window, not its parent, if I read the documentation correctly). (LP: #530054). * Slide.py have poppler render to a cairo surface and use a trick to get that into the pixmap. (LP: #972069) (Technique from diogodivision's "BlingSwitcher" through http://www.mikedesjardins.net. Thank you.) * Dynamically load the schedule each minute at 5 seconds past the minute Addresses LP: #925756, LP: #835806 * Try to reload slides three times at random intervals * Add a lernid man page and another to describe classroom config files and calendar event (session) description fields. * Insert references to irc logs. New config setting logstring provides the skeleton uri for the logs. LP: #794124 -- John S Gruber Sat, 07 Apr 2012 19:34:43 -0400 lernid (0.8.2.2) natty; urgency=low * Ready for release -- John S Gruber Sat, 03 Sep 2011 15:32:51 -0400 lernid (0.8.2.1) natty; urgency=low * Make schedule a bit easier to read by making font used for instructors one size smaller -- John S Gruber Sun, 28 Aug 2011 10:02:15 -0400 lernid (0.8.2) natty; urgency=low * Add 'avoid-desktopcouch' debugging option. * Remove #ubuntu-classroom-es. Assign correct calendar to #ubuntu-charlas * Document the following merges in debian/changelog: * Add instructor names to schedule. * Add option -d (--debug) for message received and members changed events as well as for all other verbose messages. Makes --verbose less verbose. Fixes LP: #816080. * Couch desktopcouch in try: clause; ignore desktopcouch database if unavailable. Fixes LP: #795138 and LP: #516619 by this circumvention. * Use a config file as backup for desktopcouch. Window sizes and pane settings will not be restored. The config file is recreated each time lernid is run, whether or not desktopcouch is available. * Get the events from /etc/lernid-classrooms.d/* rather than from the Internet. Remove all but the last weeks events and scroll down to the current time. LP: #528870. * Add /etc/lernid-classrooms.d/ubuntu-classroom and /etc/lernid-classrooms.d/ubuntu-classroom-es * Add ubuntu-charlas chatroom choice. These implement the lernid-config-file-improvements blueprint basic requirements. Also fix LP: #533279 and LP: #793033. * Add button to open the slide file in the user's (external) browser. Add tooltip text to slide window giving the slide url. Resolves LP: #830856 and LP: #530817. * Add new [slidefile url] and [slidefile url 3] instructor commands to load a slide file during a session, and to load the slide file and then switch to the page. * Load slide file asynchronously using gio (rather than using threads). Again fixes LP: #530119. Fixes LP: #795347. Report downloading progress. Restablishes these two functions originally created by Peeyoosh Sangolekar. * Remove bold effect from the room names in the classroom and chatroom label. Include the '#' in the name, if someone had abbreviated it. Fixes LP: #806797. * Add a ZERO WIDTH SPACE and SIX-PER-EM SPACE following "QUESTION: " to help classbot pick out questions without regard to the word "QUESTION" as its language might not match the one lernid is using. Addresses LP: 808570. * Look for classbot messages in a case-insensitive manner. Mark its messages by making them italic. Fixes LP: #794126 * Retrieve the value of "QUESTION:" from the session or the event. Look first for a question_token value in the session, then for a locale for the session, then for a question_token value for the event, then for a locale value for the event. * If locale is used and begins with es, translate QUESTION to spanish, otherwise leave as english. * Added a server variable to events for later use. * Replace light style of QUESTION: label with normal style so it doesn't appear to be insensitive. Tooltip text applies to both label and the check box itself. Clicking on the tooltext label toggles the button. Fixes LP: #806800, LP: #806793, LP: #793029. * Make Question: upper-case in the notification reminder and in the mouse-over text. Thanks to Mohammad AbuShady. Fixes LP: #808569 . * Handle the response to the user dismissing the Open event window in two stages so that the window can be hidden before the remaining processing is started. Fixes LP: #806804. * Add preference to open URL's as a new tab in the user's default browser rather than in Lernid. The initial classroom web page and the Event->Open URL... dialog are excluded. Thanks to Peeyoosh Sangolekar for providing this feature. See https://blueprints.launchpad.net/lernid/+spec/open-in-default-browser . * Make the test for messages from instructors and helpers case-insensitive. Thanks to Mohammad AbuShady. Fixes LP: #812427 . * Change the last user-agent product-id from Safari to lernid. Thanks go to Mohammad AbuShady. Fixes LP: #793805 . * Prepend URL's input into the Open URL... dialog box with http:// if necessary. Thanks, Diogenese The Cynical. Fixes LP: #793793. * Set new version number -- John S Gruber Sat, 27 Aug 2011 16:02:28 -0400 lernid (0.8.1.5) natty; urgency=low * Note that LP: #808982 is fixed * Allow anyone (with voice) to change slides or switch browser if channel is moderated. * Wrap notification requests in try: clause so failure doesn't cause lernid to error. Fixes LP: #808982 * Set user-stylesheet-uri in webkit settings to circumvent webkit problem with webkit-box-shadow. Fixes LP: #793780. Thanks to the Midori project for covering this in their FAQ at http://wiki.xfce.org/midori/faq * Set new version number -- John S Gruber Thu, 21 Jul 2011 01:14:04 -0400 lernid (0.8.1.4.1) natty; urgency=low No change entry to note fixed bugs in bazaar. -- John S Gruber Wed, 06 Jul 2011 15:55:52 -0400 lernid (0.8.1.4) natty; urgency=low Set for release Add John S Gruber to AUTHOR file Correct classroom and chatroom labels if lernid was invoked with the the --chatroom or --classroom option. Fix traceback where appindicator is turned off by preference. Correct handling of unusual case where a calendar start or stop time is missing. Change maintainer to John S Gruber and add copyrights. Set new version. In the schedule add italicized event names to the titles of sessions. Use checkbox rather than a button to allow the user to prepend "Question:" to their contribution to the chatroom. Let the user know about Question: in the session notification. Fixes: LP: #793029 When classroom and chatroom are joined change their widgets from inactive to active so it is more obvious. Fixes LP: #604658 Switch to the session tab at the beginning of the event. Suggest in session notification that the user keep the tab selected to see all visual materials. Use an eyecatcher, with color, to point out that additional slides or web material are in the session tab. Add a status message suggesting the user switch to the session tab. LP: #793788 Warn in the connection dialog that connecting can take a minute. LP: #604773 See that only an instructor or helper can change what the browser displays. LP: #530185. Add option to override this for testing. (--unsafe-override). Emphasize messages from an instructor, helper, or classbot. LP: #794126 Add a --chatroom option so that the user can specify both the classroom and chatroom they want. Remove nicknames saying by rechecking with telepathy when a nickname is unknown. LP: #793048 Fix mispelling of "event" in in lernid/Sessions.py code. Change format of slide progress message to ease translation. LP: #792364 Delay setting pane positions until the system has resized the window. Sort of hackish. LP: #801547 Don't specify that "lernid" should be translated in LernidWindow.ui and other locations. Addresses LP: #682807 Add classroom and chatroom names to their widgets. Address LP: #493316 adding extensions to make Lernid more robust when a connection doesn't exist, the config site, calendar, or irc server cannot be reached, or the connection is dropped. Also addresses LP: #528935, LP: #603248, LP: #795339 Supplies default configs or calendar as needed. Session entries without complete information are noted in the schedule. Merge Chris Coulson's changes to remove the dependency on gtkmozembed. LP: #799211. -- John S Gruber Mon, 27 Jun 2011 10:54:55 -0400 lernid (0.8.1) natty; urgency=low * Prepare next release * Retrieve nicks (aliases) rather than ids so nicks displayed match user preference (and match what other irc clients display) (LP: #604770) * Correct room prefix check to look at channel.name[0] rather than [1] * Fix FTBFS on oneiric due to missing, and unnecessary, langpack.mk file. (LP: #782740) * Merge current translations -- John S Gruber Tue, 17 May 2011 16:05:22 -0400 lernid (0.8.0.2) natty; urgency=low * Sanity check pane settings. Retrieve update main window size from configure-event callbacks rather than trying to retrieve size from a possibly destroyed window (by window manager). Allow window manager complete discretion in window placement. (LP: #764082) * Revise size parameters passed to poppler page render call. (LP: #764069) * Revert the slide loading function to run synchronously rather than using python threads. (LP: #749848) * Handle case where web page has no title. (LP: #751019) * Correct color setting in tags in Classroom.py and NativeChatroom.py (LP: #716937) * Add desktopcouch dependencies. If desktopcouch related package dependencies are corrected this will no longer be necessary. (LP: #727232) -- John S Gruber Wed, 27 Apr 2011 17:37:00 -0400 lernid (0.7.1) maverick; urgency=low [ Michael Budde ] * New upstream version: - User count above chat window is not i18n-ed (LP: 533988) - Report slide download progress (Thanks to Peeyoosh Sangolekar) - Check for .lernid configfile on ubuntu-owl.org instead of jonobacon.org * debian/control: - Change maintainer from Jono Bacon to Michael Budde - Add dependency on python-webkit. - Move telepathy-idle from Recommends to Depends. [ Nathan Handler ] * debian/copyright: - Update to correctly use dep5 * debian/control: - Bump Standards-Version to 3.9.1 - Update short descriptoin -- Nathan Handler Thu, 16 Sep 2010 09:08:41 -0500 lernid (0.7) maverick; urgency=low * New upstream version, fixes bugs: (LP: #530119) - Don't block UI when downloading slides (LP: #500495) - Should support other IRC channel prefixes than '#' (LP: #510003) - Warnings in the terminal when closing Lernid (LP: #530115) - exit in terminal (LP: #514733) - Preload the default page in browser (LP: #503224) - Lernid opens too small (LP: #530810) - URLs in chat area should be clickable (LP: #530821) - Add an xchat-type separator line for new text in classroom (LP: #531492) - missing copy menu entries for browser widget * debian/control, change section: (LP: #546968) - Inappropriately appears in Ubuntu Software Center "Developer Tools" > "Python" -- Andrew Higginson Sat, 31 Jul 2010 08:42:13 +0100 lernid (0.6) lucid; urgency=low * Initial release in ubuntu (LP: #527312) -- Didier Roche Wed, 24 Feb 2010 22:58:17 +0100 lernid-1.0.1/debian/control0000664000000000000000000000135312014221053012473 0ustar Source: lernid Section: net Priority: extra Build-Depends: debhelper (>= 7.0.50~), python (>= 2.6), python-support Build-Depends-Indep: python-distutils-extra (>= 2.10) Maintainer: John S Gruber Standards-Version: 3.9.3.1 X-Python-Version: >=2.6 Package: lernid Architecture: all Depends: ${misc:Depends}, ${python:Depends}, telepathy-idle, python-xdg, python-telepathy, python-webkit, python-dbus, python-notify, python-gobject, python-vobject, python-gtk2, python-poppler, Recommends: python-vte, python-appindicator Description: client to easily connect to Ubuntu classroom events Lernid provides an interface for joining in Ubuntu learning events such as Ubuntu Open Week and Ubuntu Developer Week. lernid-1.0.1/debian/rules0000775000000000000000000000026012014221053012144 0ustar #!/usr/bin/make -f WITH_PYTHON2 = $(shell test -f /usr/bin/dh_python2 && echo "--with python2") %: dh $@ ${WITH_PYTHON2} override_dh_installdocs: dh_installdocs ./AUTHORS lernid-1.0.1/debian/compat0000664000000000000000000000000211574160457012310 0ustar 6 lernid-1.0.1/debian/pycompat0000664000000000000000000000000211574160457012661 0ustar 2 lernid-1.0.1/debian/copyright0000664000000000000000000000212012014221053013014 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: lernid Upstream-Source: https://launchpad.net/lernid Files: * Copyright: (C) 2009 Copyright: (C) 2010 Michael Budde Copyright: (C) 2011 John S Gruber License: GPL-3+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. . 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 package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 3 can be found in the file `/usr/share/common-licenses/GPL-3'. lernid-1.0.1/debian/source/0000775000000000000000000000000012273565417012414 5ustar lernid-1.0.1/debian/source/format0000664000000000000000000000001512014221053013575 0ustar 3.0 (native) lernid-1.0.1/setup.py0000664000000000000000000000666012273564423011410 0ustar #!/usr/bin/env python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE ###################### DO NOT TOUCH THIS (HEAD TO THE SECOND PART) ###################### from distutils.core import setup import os from DistUtilsExtra.auto import setup, install_auto def update_data_path(path, oldvalue=None): try: fin = file('lernid/lernidconfig.py', 'r') fout = file(fin.name + '.new', 'w') for line in fin: fields = line.split(' = ') # Separate variable from value if fields[0] == '__lernid_data_directory__': # update to prefix, store oldvalue if not oldvalue: oldvalue = fields[1] line = "%s = '%s'\n" % (fields[0], path) else: # restore oldvalue line = "%s = %s" % (fields[0], oldvalue) fout.write(line) fout.flush() fout.close() fin.close() os.rename(fout.name, fin.name) except (OSError, IOError), e: print ("ERROR: Can't find lernid/lernidconfig.py") sys.exit(1) return oldvalue class InstallAndUpdateDataDirectory(install_auto): def run(self): if self.root or self.home: print "WARNING: You don't use a standard --prefix installation, take care that you eventually " \ "need to update quickly/quicklyconfig.py file to adjust __quickly_data_directory__. You can " \ "ignore this warning if you are packaging and uses --prefix." previous_value = update_data_path(os.path.join(self.prefix, 'share/lernid')) install_auto.run(self) update_data_path(self.prefix, previous_value) ################################################################################## ###################### YOU SHOULD MODIFY ONLY WHAT IS BELOW ###################### ################################################################################## setup( name = 'lernid', version = '1.0.1', license = 'GPL-3', author = 'John S Gruber', author_email = 'johnsgruber@gmail.com', description = 'Connect to Ubuntu learning events.', long_description = 'Lernid provides an interface for joining in Ubuntu learning events such as Ubuntu Open Week and Ubuntu Developer Week.', url = 'https://launchpad.net/lernid', data_files = [ ('share/icons/hicolor/64x64/apps', ['data/icons/64/lernid.svg']), ('share/icons/hicolor/48x48/apps', ['data/icons/48/lernid.svg']), ('share/icons/hicolor/24x24/apps', ['data/icons/24/lernid.png']), ('share/icons/hicolor/22x22/apps', ['data/icons/22/lernid.png']), ('share/icons/hicolor/16x16/apps', ['data/icons/16/lernid.png']) ], cmdclass = { 'install': InstallAndUpdateDataDirectory } ) lernid-1.0.1/bin/0000775000000000000000000000000012273565417010442 5ustar lernid-1.0.1/bin/lernid0000775000000000000000000005375112272057614011652 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- ### BEGIN LICENSE # Copyright (C) 2009 Jono Bacon # Copyright (C) 2010 Michael Budde # Copyright (c) 2011 John S Gruber # #This program is free software: you can redistribute it and/or modify it #under the terms of the GNU General Public License version 3, as published #by the Free Software Foundation. # #This program is distributed in the hope that it will be useful, but #WITHOUT ANY WARRANTY; without even the implied warranties of #MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . ### END LICENSE import sys import os import gtk import xdg.BaseDirectory import gettext import glib import locale import pynotify try: import appindicator HAVE_APPINDICATOR = True except ImportError: HAVE_APPINDICATOR = False try: import gwibber.lib HAVE_GWIBBER = True except ImportError: HAVE_GWIBBER = False # Set up translations locale.setlocale(locale.LC_ALL, '') gettext.install('lernid', unicode=True, names=['ngettext']) # Check if we are working in the source tree or from the installed # package and mangle the python path accordingly if os.path.dirname(sys.argv[0]) != ".": if sys.argv[0][0] == "/": fullPath = os.path.dirname(sys.argv[0]) else: fullPath = os.getcwd() + "/" + os.path.dirname(sys.argv[0]) else: fullPath = os.getcwd() sys.path.insert(0, os.path.dirname(fullPath)) from lernid.LernidPreferences import Preferences from lernid.LernidOptions import Options from lernid import AboutLernidDialog, PreferencesLernidDialog from lernid.lernidconfig import get_data_path, save_cache_path from lernid.EventManager import EventManager from lernid.Statusbar import Statusbar from lernid.widgets import * class LernidWindow(gtk.Window): __gtype_name__ = "LernidWindow" def __init__(self): """__init__ - This function is typically not called directly. Creation a LernidWindow requires rereading the associated ui file and parsing the ui definition externally, and then calling LernidWindow.finish_initializing(). Use the convenience function NewLernidWindow to create LernidWindow object. """ gtk.Window.__init__(self) def finish_initializing(self, builder): """finish_initalizing should be called after parsing the ui definition and creating a LernidWindow object with it in order to finish initializing the start of the new LernidWindow instance. """ # Get a reference to the builder and set up the signals self.builder = builder self.builder.connect_signals(self) # Set up Application Indicator and notifications if HAVE_APPINDICATOR and Preferences.get('show_appindicator'): self.setup_appindicator() self.setup_notifications() # Set up views self._main_window = self.builder.get_object("lernid_window") # Restore size and maximize state self.main_window_size = Preferences.get('main_window_size') if self.main_window_size: self._main_window.resize(self.main_window_size['width'], self.main_window_size['height']) else: size=self._main_window.get_size() self.main_window_size = {'width': size[0], 'height' : size[1]} if Preferences.get('main_window_maximize'): self._main_window.maximize() def save_maximize_state(win, event): state = bool(event.new_window_state & gtk.gdk.WINDOW_STATE_MAXIMIZED) Preferences.set('main_window_maximize', state) self._main_window.connect('window-state-event', save_maximize_state) self._open_url_dialog = builder.get_object('open_url_dialog') self._open_url_dialog.set_transient_for(self) self._url_entry = builder.get_object('url_entry') # Set up widgets self._eventman = EventManager.get_instance() self._browser = Browser.Browser() self._slide = Slide.Slide(Preferences.get('vertical')) self._schedule = Schedule.Schedule() self._classroom = Classroom.Classroom() if Options.get('web-chat'): self._chatroom = WebChatroom.Chatroom() else: self._chatroom = NativeChatroom.Chatroom() if Terminal.VTE_SUPPORT: self._terminal = Terminal.Terminal() def update_title(schedule, session): self.set_title('{0} - {1}'.format('Lernid', session.title)) def reset_title(schedule): self.set_title('Lernid') self._schedule.connect('session-changed', update_title) self._schedule.connect('session-ended', reset_title) # Set tab page numbers self.TAB_SESSION = 0 self.TAB_SCHEDULE = 1 self.TAB_TERMINAL = 2 self.ignore_initial_tab_change = True def highlight_session_tab(w, url=None): if self.ignore_initial_tab_change: self.ignore_initial_tab_change = False return if self._tabs.get_current_page() != self.TAB_SESSION: eye_catcher = u"" self._session_label.set_label(eye_catcher + ' %s' % _('_Session')) Statusbar.push_message(_('Select the Session tab to see classroom learning material'), duration=20) def unhighlight_session_tab(w, p, page_num): if page_num == self.TAB_SESSION: self._session_label.set_label(_('_Session')) def configure_event_mainwindow(self, event): self.main_window_size['width'] = event.width self.main_window_size['height'] = event.height def event_interrupted(self, event): logging.error("event interrupted") n=pynotify.Notification(_('Event Connection Interrupted'), _('Please reestablish your Internet connection\nand reconnect to the event'), 'lernid') try: n.show() except: logging.error("Notification failed to show for Interrupted Event Message") Statusbar.push_message(_('Event Connection Interrupted -- ' 'Please reestablish your Internet connection and reconnect to the event'), 'interrupt_message') self.emit('event-disconnect', event) self._browser.connect('page-changed', highlight_session_tab) self._slide.connect('slide-changed', highlight_session_tab) self._main_window.connect('configure-event', configure_event_mainwindow) # Add widgets to the interface self.pack_widgets(Preferences.get('vertical')) self._tabs.connect('switch-page', unhighlight_session_tab) self._main_window.show_all() self.builder.get_object('menu_statusbar').set_active(Preferences.get('statusbar')) # Restore pane positions prefix = 'v' if Preferences.get('vertical') else 'h' self._mainpane = self.builder.get_object(prefix+'mainpaned') self._subpane = self.builder.get_object(prefix+'subpaned') pos = Preferences.get(prefix+'panes') if pos: if prefix == 'h': if pos['main'] > self.main_window_size['height']-160: pos['main'] = self.main_window_size['height']-160 if pos['sub'] > self.main_window_size['width']-160: pos['sub'] = self.main_window_size['width']-160 else: if pos['main'] > self.main_window_size['width']-160: pos['main'] = self.main_window_size['width']-160 if pos['sub'] > self.main_window_size['height']-160: pos['sub'] = self.main_window_size['height']-160 def setpos(pos): self._mainpane.set_position(pos['main']) self._subpane.set_position(pos['sub']) return False # Wait for window resize to complete before we # set the pane positions glib.timeout_add_seconds(2, setpos,pos) menu_tweet = builder.get_object('menu_tweet') if HAVE_GWIBBER: menu_tweet.show() self._schedule.connect('session-changed', lambda s, w: menu_tweet.set_sensitive(True)) self._schedule.connect('session-ended', lambda s: menu_tweet.set_sensitive(False)) self._eventman.connect('event-disconnect', lambda em, e: menu_tweet.set_sensitive(False)) self._eventman.connect('event-interrupted', event_interrupted) def event_connected(self, event): Statusbar.pop_message('interrupt_message') glib.timeout_add_seconds( 12, event_message, self) return False def event_message(event_man): schedule = event_man.get_widget_by_name('schedule') qt = schedule.get_question_token() message1 = _('You can interact with classes held in the classroom') #TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale message2 = _( 'Add "%s" to the beginning of your query ' 'to direct it to the classroom instructor.' % qt) notification = pynotify.Notification(message1, message2, 'lernid') try: notification.show() except: logging.error("Notification failed for Interaction Message") self._eventman.connect('event-connect', event_connected) conn_menu_item = builder.get_object('menu_connect') disconn_menu_item = builder.get_object('menu_disconnect') open_url_menu_item = builder.get_object('menu_open_url') def toggle_menu_items(eventman, event, connecting): conn_menu_item.set_sensitive(not connecting) disconn_menu_item.set_sensitive(connecting) open_url_menu_item.set_sensitive(connecting) if hasattr(self, 'ind'): self.indmenu['menu_connect'].set_sensitive(not connecting) self.indmenu['menu_disconnect'].set_sensitive(connecting) self._eventman.connect('event-connect', toggle_menu_items, True) self._eventman.connect('event-disconnect', toggle_menu_items, False) self._eventman.connect('event-connect', lambda x,y,z: self._tabs.set_current_page(z), self.TAB_SESSION) self.connect_dialog(None) def pack_widgets(self, vert=True): prefix = 'v' if vert else 'h' self._tabs = self.builder.get_object(prefix+'tabs') # Setup session tab paned = vert and gtk.VPaned() or gtk.HPaned() self._session_label = gtk.Label() self._session_label.set_use_underline(True) self._session_label.set_use_markup(True) self._session_label.set_label(_('_Session')) self._tabs.insert_page(paned, self._session_label, self.TAB_SESSION) paned.pack1(self._browser, resize=True) paned.pack2(self._slide, resize=False) # Setup schedule tab schedule_label = gtk.Label() schedule_label.set_use_underline(True) schedule_label.set_label(_('Sche_dule')) self._tabs.insert_page(self._schedule, schedule_label, self.TAB_SCHEDULE) # Setup terminal tab if Terminal.VTE_SUPPORT: label = gtk.Label() label.set_use_underline(True) label.set_label(_('_Terminal')) self._tabs.insert_page(self._terminal, label, self.TAB_TERMINAL) self.builder.get_object(prefix+'chatroom_vbox').pack_end(self._chatroom) self.builder.get_object(prefix+'chatroom_label').set_mnemonic_widget(self._chatroom.get_input_widget()) self.builder.get_object(prefix+'classroom_vbox').pack_end(self._classroom) # Setup chatroom user count mcount_label = self.builder.get_object(prefix+'chatroom_mcount') def update_user_count(chat, members): n = len(members) mcount_label.set_label(ngettext('({0} user)', '({0} users)', n).format(n)) self._chatroom.connect('members-changed', update_user_count) def clear_user_count(em, event): mcount_label.set_label('') self._eventman.connect('event-disconnect', clear_user_count) align = self.builder.get_object(prefix+'alignment') main_vbox = self.builder.get_object('main_vbox') main_vbox.pack_start(align) statusbar = Statusbar.get_instance() main_vbox.pack_start(statusbar, expand=False) classroom_label = self.builder.get_object(prefix+'classroom_label') chatroom_label = self.builder.get_object(prefix+'chatroom_label') def set_room_label(em, event): classroom_name = Options.get('classroom', event.classroom) if (not (len(classroom_name) == 0)) and classroom_name[0] not in '#&!+': classroom_name = '#' + classroom_name chatroom_name = Options.get('chatroom', event.chat) if (not (len(chatroom_name) == 0)) and chatroom_name[0] not in '#&!+': chatroom_name = '#' + chatroom_name classroom_label.set_use_markup(True) chatroom_label.set_use_markup(True) classroom_label.set_markup_with_mnemonic('' + _('Classroom')+' '+ classroom_name) #TRANSLATORS: The underscore marks this as a mnemonic accelerator chatroom_label.set_markup_with_mnemonic(''+_('_Chatroom')+' '+ chatroom_name) def clear_room_label(em, event): classroom_label.set_markup_with_mnemonic('' + _('Classroom')+'') chatroom_label.set_markup_with_mnemonic('' + _('_Chatroom')+'') self._eventman.connect('event-connect' , set_room_label) self._eventman.connect('event-disconnect', clear_room_label) def connect_dialog(self, widget): self._eventman.connect_dialog(parent=self._main_window) def setup_notifications(self): """Set up notification settings.""" capabilities = {'actions': False, 'body': False, 'body-hyperlinks': False, 'body-images': False, 'body-markup': False, 'icon-multi': False, 'icon-static': False, 'sound': False, 'image/svg+xml': False, 'private-synchronous': False, 'append': False, 'private-icon-only': False} if not pynotify.init("lernid"): sys.exit (1) caps = pynotify.get_server_caps () if caps is None: logging.debug("Failed to receive server caps.") sys.exit (1) for cap in caps: capabilities[cap] = True def setup_appindicator(self): # Create an Application Indicator self.ind = appindicator.Indicator ("lernid", "lernid", appindicator.CATEGORY_COMMUNICATIONS) self.ind.set_status (appindicator.STATUS_ACTIVE) self.ind.set_attention_icon ("lernid-attention") # Create a GtkMenu menu = gtk.Menu() # Empty dictionary for storing the GtkMenuItems for later reference self.indmenu = {} # Create GtkMenuItems self.indmenu['menu_connect'] = gtk.ImageMenuItem('gtk-connect') self.indmenu['menu_connect'].connect('activate', self.connect_dialog) self.indmenu['menu_disconnect'] = gtk.ImageMenuItem('gtk-disconnect') self.indmenu['menu_disconnect'].connect('activate', self.disconnect_from_event) self.indmenu['menu_separator'] = gtk.SeparatorMenuItem() self.indmenu['menu_show'] = gtk.CheckMenuItem(_("_Show Lernid")) self.indmenu['menu_show'].connect('activate', self.minimize_to_tray) self.indmenu['menu_show'].set_active(True) self.indmenu['menu_quit'] = gtk.ImageMenuItem('gtk-quit') self.indmenu['menu_quit'].connect('activate', self.quit) for item in self.indmenu.itervalues(): item.show() # Add the GtkMenuItems to the GtkMenu menu.append(self.indmenu['menu_connect']) menu.append(self.indmenu['menu_disconnect']) menu.append(self.indmenu['menu_separator']) menu.append(self.indmenu['menu_show']) menu.append(self.indmenu['menu_quit']) self.ind.set_menu(menu) self.indmenu['menu_disconnect'].set_sensitive(False) def disconnect_from_event(self, widget): """Disconnect from the currently selected event.""" self._eventman.disconnect() def about(self, widget, data=None): """about - display the about box for lernid """ about = AboutLernidDialog.NewAboutLernidDialog() about.set_transient_for(self) response = about.run() about.destroy() def open_url(self, widget): self._url_entry.set_text(self._browser.get_location()) self._url_entry.grab_focus() response = self._open_url_dialog.run() if response == gtk.RESPONSE_OK: self._browser.set_location(self._url_entry.get_text(), False) self._open_url_dialog.hide() def tweet_session(self, widget): session = self._schedule.get_current_session() message = _('The session "{0}" has started in #ubuntu-classroom on freenode.'.format(session.title)) gw = gwibber.lib.GwibberPublic() gw.SendMessage(message) def preferences(self, widget, data=None): """preferences - display the preferences window for lernid """ prefs = PreferencesLernidDialog.NewPreferencesLernidDialog() prefs.set_transient_for(self) response = prefs.run() if response == gtk.RESPONSE_OK: if HAVE_APPINDICATOR: # See LP#510169 #if Preferences.get('show-appindicator', True): # self.ind.set_status(appindicator.STATUS_ACTIVE) #else: # self.ind = None pass prefs.destroy() def run(self): try: self.show() gtk.main() except: self._eventman.disconnect() raise def quit(self, widget, data=None): """quit - signal handler for closing the LernidWindow""" prefs = {} if not Preferences.get('main_window_maximize'): width = self.main_window_size['width']; height = self.main_window_size['height'] prefs['main_window_size'] = {'width': width, 'height': height} prefix = 'v' if Preferences.get('vertical') else 'h' if (not Preferences.get(prefix+'panes') or (Preferences.get(prefix+'panes')['main'] != self._mainpane.get_position() ) or (Preferences.get(prefix+'panes')['sub'] != self._subpane.get_position() ) ): prefs[prefix+'panes'] = { 'main': self._mainpane.get_position(), 'sub': self._subpane.get_position() } Preferences.set(prefs) self._eventman.disconnect() while gtk.events_pending(): gtk.main_iteration() Preferences.flush() gtk.main_quit() def toggle_fullscreen(self, menuitem): if menuitem.get_active(): self.fullscreen() else: self.unfullscreen() def toggle_statusbar(self, menuitem): if menuitem.get_active(): Statusbar.get_instance().show() else: Statusbar.get_instance().hide() Preferences.set('statusbar', menuitem.get_active()) def minimize_to_tray(self, menuitem): """either hide or show the window""" if not menuitem.get_active(): # Window is visble, now hide it self.hide() else: # Window is hidden, now show it self.show() def NewLernidWindow(): """NewLernidWindow - returns a fully instantiated LernidWindow object. Use this function rather than creating a LernidWindow directly. """ # Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=574520 locale.textdomain("lernid") ui_filename = get_data_path('ui', 'LernidWindow.ui') builder = gtk.Builder() builder.add_from_file(ui_filename) window = builder.get_object("lernid_window") window.finish_initializing(builder) return window if __name__ == "__main__": # Support for command line options import logging, optparse Options.add_option('-v', '--verbose', action='store_true', dest='verbose', help=_('Show debug messages')) Options.add_option('-d', '--debug', action='store_true', dest='more_verbose', help=_('Show debug and classroom management messages')) Options.add_option('--classroom', action='store', dest='classroom', help=_('Override classroom channel')) Options.add_option('--chatroom', action='store', dest='chatroom', help=_('Override chatroom channel')) Options.add_option('--config', action='store', default=None, help=_('Filename or URL to Lernid config file')) Options.add_option('--no-update', action='store_true', default=False, help=_("Don't automatically reload the schedule")) Options.add_option('--web-chat', action='store_true', default=False, help=_('Use web chat widget instead of the native one')) Options.add_option('--unsafe-override', action='store_true', default=False, help=_('Unsafe testing option')) Options.add_option('--avoid-desktopcouch', action='store_true', default=False, help=_('Unused debugging option to avoid desktopcouch'), dest = 'avoid_desktopcouch') Options.add_option('--calendar', action='store', default=None, help=_('Override calendar location')) Options.parse_args() # Set the logging level to show debug messages if Options.get('verbose') or Options.get('more_verbose'): logging.basicConfig(level=logging.DEBUG) logging.debug('logging enabled') # Run the application window = NewLernidWindow() window.run() lernid-1.0.1/lernid.10000664000000000000000000000651112272057614011226 0ustar .TH lernid 1 "April 7, 2012" "" .\"Created with GNOME Manpages Editor Wizard .\"http://sourceforge.net/projects/gmanedit2 .SH NAME lernid \- program for participating in Ubuntu learning events .SH SYNOPSIS .B lernid .RI [ options ] .br .SH DESCRIPTION This manual page explains the .B lernid program. This program allows you to easily participate in Ubuntu Learning events. It connects to the IRC classroom and classroom-chat sessions simultaneously, displaying web pages and slides the instructor presents. You can discuss the class and ask questions in the classroom-chat window. Use the message box, at the bottom right of the screen, to send your input to the class. .PP You can ask questions to be answered by the instructor as part of the class by preceding it with the tag "QUESTION:". Checking the checkbox near the message box will do that for you automatically. If the class is being taught in a language other than English the token may change to match. .PP In Preferences, two layouts are available, horizontal and vertical, which switch whether the browser and slides (if any) are on top or on the left of the classroom and chatroom panes. Choose whichever best matches your screen, and your convenience. Other preferences may be set as well. .PP Classroom events depend upon the classroom calendar. Lernid will update its calendar several times an hour. If Lernid doesn't seem to be up-to-date it may be worthwhile to update it yourself using the refresh control on the schedule tab. .PP Many like to keep track of future classroom events. The calendar ical buttons may be helpful to you should you wish to subscribe using your calendar management software or web app. .PP You can easily send a message about the current session, through all your accounts that you have added to Gwibber, by using the "Publicize with Gwibber" option under the "Events" menu. .SH OPTIONS .B .IP " -v, --verbose" Show debug messages .B .IP "-d, --debug" Show debug and classroom management messages .B .IP "--classroom" Use alternate classroom .B .IP "--chatroom" Use alternate chatroom .B .IP "--config" Use alternate configuration at this url. If desired, can be specified as, for example, file:///x/y/z . Used for testing. .B .IP "--calendar" Use an alternate calendar at this url. If desired, can be specified as, for example, file:///x/y/z . Used for testing. .B .IP "--no-update" Only update the schedule when connecting to an event, or when the refresh button is pressed .B .IP "--web-chat" Use web browser to connect to IRC chatrooms. .B .IP "--unsafe-override" Allow anyone sending messages to the classroom to provide slides and web pages to your session. Normally only those authorized to present sessions are allowed to control these features of Lernid. .SH FILES /etc/lernid-classroom.d/ config files .P vcal files .SH DIRECTIVES As you follow a class, assuming the speaker is listed in the schedule, the browser will follow URL's he or she posts. If slides are being used you may also see the following commands used: .B .IP "[slide n]" This directive from the speaker will cause the slide to change to page .I n .B .IP "[slidefile URL]" This directive will cause lernid to load the PDF at that URL as a set of slides. .B .IP "[slidefile URL n]" This directive will cause lernid to load the PDF at that URL and switch to page .I n .SH "SEE ALSO" .B lernid-classroom(5) config files lernid-1.0.1/po/0000775000000000000000000000000012273565417010310 5ustar lernid-1.0.1/po/fi.po0000664000000000000000000002261212113774224011240 0ustar # Finnish translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-11 06:43+0000\n" "Last-Translator: Launchpad Translations Administrators \n" "Language-Team: Finnish \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Miia Ranta https://launchpad.net/~myrtti\n" " Timo Jyrinki https://launchpad.net/~timo-jyrinki" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Tutustu verkko-ohjeiden maailmaan nopeasti ja helposti." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "O_hje" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Luokkahuone" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Valitse tapahtuma" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/es.po0000664000000000000000000003221212113774224011246 0ustar # Spanish translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-11-06 18:03+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" "Language-Team: Spanish \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-Launchpad-Export-Date: 2012-11-07 04:52+0000\n" "X-Generator: Launchpad (build 16232)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Adolfo Jayme Barrientos https://launchpad.net/~fitoschido\n" " Alfonso de Cala https://launchpad.net/~alfem\n" " Angel Abad https://launchpad.net/~angelabad\n" " DiegoJ https://launchpad.net/~diegojromerolopez\n" " EdwinCartagenaH https://launchpad.net/~edwincartagenah\n" " Emilien Klein https://launchpad.net/~emilien-klein\n" " Hollman Enciso https://launchpad.net/~hollman\n" " Ilan https://launchpad.net/~ilan\n" " Jono Bacon https://launchpad.net/~jonobacon\n" " José Ernesto Dávila Pantoja https://launchpad.net/~josernestodavila\n" " Julian Alarcon https://launchpad.net/~alarconj\n" " Kamus https://launchpad.net/~kamus\n" " Leandro Gómez https://launchpad.net/~leogg\n" " Monkey https://launchpad.net/~monkey-libre\n" " hhlp https://launchpad.net/~hhlp" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Contraseña no válida" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "La contraseña de NickServ que ha introducido no es válida.\n" "Introduzca la contraseña correcta:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "PREGUNTA:" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" "«PREGUNTA:» redirige su pregunta al aula para que el instructor la responda" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Conéctese rápida y fácilmente a un mundo de tutoriales en línea." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Mostrar un icono en el área de notificación" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Usar diseño vertical" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Mostrar la hora en la sala de clases y la sala de chat" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "Abrir enlaces de la presentación en el navegador predeterminado" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Debe reiniciar Lernid para que algunos de los cambios surtan efecto." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "No se puede obtener la configuración" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Conectándose al evento" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Su apodo está ahora identificado" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Desconectándose del evento" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "Pulse en Abrir en navegador externo" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" "Pulse para abrir las diapositivas en su navegador. Desde allí puede " "navegarlas, añadirlas a marcadores o guardarlas." #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Hubo un error mientras se intentaba cargar la diapositiva número {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "Descargando las diapositivas de la sesión (%i%% de %i KB)…" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Se encontró un error al descargar las diapositivas" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Las diapositivas se han descargado" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Esta sesión no usa diapositivas" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "Aula" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "Sala de _chat" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nto" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "Abrir _URL en Lernid…" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Anunciar en twitter la sesión actual" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Editar" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Ver" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Pantalla completa" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Barra de e_stado" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "Ay_uda" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Introduzca la dirección que desea abrir en el navegador:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "Apodo asignado por el servidor: %s" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesión" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" "Seleccione la pestaña Sesión para ver el material de aprendizaje del aula" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "Conexión al evento interrumpida" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" "Reestablezca su conexión a Internet\n" "y vuelva a conectarse al evento" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" "Conexión al evento interrumpida – Reestablezca su conexión a Internet y " "vuelva a conectarse al evento" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "Puede interactual con las clases celebradas en el aula" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" "Añada «%s» al principio de su consulta para dirigirla al instructor de la " "clase." #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Pro_grama" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} usuario)" msgstr[1] "({0} usuarios)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Aula de clases" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Sala de chat" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Mo_strar Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "La sesión «{0}» ha empezado en #ubuntu-classroom en freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Mostrar mensajes de depuración" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "Mostrar mensajes de depuración y gestión del aula" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Reemplazar el canal IRC de la sala de clases" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nombre o dirección del archivo de configuración de Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Usar el widget de chat de la web en vez del nativo" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "Opción de pruebas no segura" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Fecha" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Empieza" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Termina" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Título" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" "Registros IRC para UTC %s (Iniciando a las %s hora local)" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" "Mantenga seleccionada la pestaña Sesión para ver materiales de aprendizaje " "de la sesión." #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sesión iniciada" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "La sesión «{0}» ha comenzado. " #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Próxima sesión" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "La sesión «{0}» empezará en 10 minutos." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "Copiar URL de calendario ICAL al portapapeles" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "Abrir URL de calendario ICAL con su navegador" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Evitar que el navegador cambie la página" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Ha entrado a la sala de clases" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Elija un evento" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Evento:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Apodo:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Contraseña de NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Opciones avanzadas" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "Conectarse al aula de clases puede tomar hasta un minuto" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participe en eventos de aprendizaje en línea" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "No se pudo cargar el calendario %s\n" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "No se pudo analizar el calendario %s\n" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "Falta el nombre de la sesión" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "El apodo no puede ser vacío" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "El apodo no puede comenzar con: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "El apodo no puede contener espacios." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "El apodo no puede contener: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "El apodo sólo puede contener caracteres del alfabeto inglés" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" "«%s» dirige su pregunta al aula de clases para que el instructor la responda" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Las órdenes del IRC todavía no están soportadas." lernid-1.0.1/po/it.po0000664000000000000000000003174312272057614011266 0ustar # Italian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2013-06-26 08:58+0000\n" "Last-Translator: Claudio Arseni \n" "Language-Team: Italian \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-Launchpad-Export-Date: 2013-06-27 05:45+0000\n" "X-Generator: Launchpad (build 16681)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Alessio Tomelleri https://launchpad.net/~alessio-tomelleri\n" " Claudio Arseni https://launchpad.net/~claudio.arseni\n" " Giampaolo Bozzali https://launchpad.net/~g.bozzali\n" " Milo Casagrande https://launchpad.net/~milo\n" " Paolo Sammicheli https://launchpad.net/~xdatap1\n" " William Bottini https://launchpad.net/~karminio\n" " fullo https://launchpad.net/~ffullone\n" " giorgio130 https://launchpad.net/~gm89" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Password errata" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "La password inserita del NickServ è errata.\n" "Inserire la password corretta:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "DOMANDA:" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" "\"DOMANDA:\" indirizza le domande alla finestra della lezione per poter " "avere una risposta dall'istruttore" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Connette velocemente e facilmente a un mondo di lezioni in linea." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Mostrare l'icona nell'area di notifica" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Usare la disposizione verticale" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Mostrare l'orario nelle finestre di lezione e di chat" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "Aprire i collegamenti alle presentazioni nel browser predefinito" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Occorre riavviare Lernid per applicare le modifiche effettuate." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "Impossibile recuperare la configurazione" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Connessione all'evento" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Il tuo soprannome è stato identificato" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Disconnessione dall'evento" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "Fare clic per aprire in un browser esterno" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" "Fare clic per aprire le presentazioni nel browser predefinito. Da lì sarà " "possibile esplorarle, aggiungerle ai segnalibri o salvarle." #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Si è verificato un errore tentando di caricare la slide {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "Scaricamento della presentazione (%i%% di %i KB)..." #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Si è verificato un errore scaricando la presentazione" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "La presentazione è stata scaricata" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Questa sessione non utilizza diapositive" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "Lezione" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "_Chat" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Even_to" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "Apri gli _URL in Lernid..." #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Pubblica un tweet sulla sessione corrente" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Modifica" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Visualizza" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "Schermo _intero" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Barra di stato" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "A_iuto" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Inserire l'indirizzo da aprire nel browser:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "Soprannome assegnato dal server: %s" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sessione" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" "Selezionare la scheda \"Sessione\" per visualizzare il materiale didattico " "disponibile" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "Connessione all'evento interrotta" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" "Stabilire nuovamente il collegamento a internet\n" "e riconnettersi all'evento" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" "Connessione all'evento interrotta -- Stabilire nuovamente il collegamento a " "internet e riconnettersi all'evento" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "È possibile interagire con le lezioni in corso" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" "Aggiungere \"%s\" all'inizio della domanda per indirizzarla all'istruttore." #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "_Programma" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminale" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} utente)" msgstr[1] "({0} utenti)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Lezione" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chat" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Mostra _Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" "La sessione «{0}» è iniziata nel canale #ubuntu-classroom su freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Mostra i messaggi di debug" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "Mostrare i messaggi di debug e di gestione della lezione" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Override del canale della lezione" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "Sovrascrivere il canale di chat" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nome file o indirizzo del file di configurazione di Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "Non ricaricare automaticamente il programma" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Usa il componente web chat invece di quella nativa" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "Opzione di prova non sicura" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "Opzione di debug non utilizzata per evitare desktopcouch" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "Sovrascrivere la posizione del calendario" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Inizio" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Fine" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titolo" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "Log IRC per UTC %s (Inizio alle %s ora locale)" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" "Mantenere selezionata la scheda \"Sessione\" per visualizzare il materiale " "didattico disponibile." #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sessione iniziata" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "La sessione \"{0}\" è iniziata. " #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Prossima sessione" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "La sessione «{0}» inizierà tra 10 minuti." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "Copia l'URL del calendario iCal negli appunti" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "Apri l'URL del calendario iCal usando il browser" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Impedisce al browser di cambiare pagina" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Lezione scelta" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Seleziona un evento" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Evento:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Soprannome:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Password del NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Opzioni avanzate" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "La connessione alla lezione potrebbe impiegare più di un minuto" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Partecipa a eventi educativi in rete" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "Impossibile caricare il calendario %s\n" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "Impossibile analizzare il calendario %s\n" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "Nome della sessione mancante" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Il soprannome è obbligatorio" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Il soprannome non può iniziare con: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Il soprannome non può contenere spazi." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Il soprannome non può contenere: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Il soprannome puo soltanto contenere caratteri dell'alfabeto inglese" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" "\"%s\" indirizza le domande alla finestra della lezione per poter avere una " "risposta dall'istruttore" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Comandi IRC non sono ancora supportati." lernid-1.0.1/po/en_GB.po0000664000000000000000000002542712113774224011623 0ustar # English (United Kingdom) translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-06 10:00+0000\n" "Last-Translator: jgraeme \n" "Language-Team: English (United Kingdom) \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Daniel Bell https://launchpad.net/~danielbell\n" " Jono Bacon https://launchpad.net/~jonobacon\n" " Michael Budde https://launchpad.net/~mbudde\n" " jgraeme https://launchpad.net/~jgraeme" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Invalid password" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Connect to a world of online tutorials quickly and easily." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Show an icon in the notification area" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Use vertical layout" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Show time in classroom and chatroom" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "You need to restart Lernid for some of the changes to take effect." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Connecting to event" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Your nickname is now identified" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Disconnecting from event" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "An error was encountered while trying to load slide number {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "An error was encountered while downloading slides" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Slides have been downloaded" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "This session does not use slides" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nt" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweet current session" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Edit" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_View" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Fullscreen" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusbar" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Help" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Enter the address you would like to open in the browser:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Session" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Sche_dule" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} user)" msgstr[1] "({0} users)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Classroom" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chatroom" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Show Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "The session \"{0}\" has started in #ubuntu-classroom on freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Show debug messages" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Override classroom channel" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Filename or URL to Lernid config file" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Use web chat widget instead of the native one" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Date" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Starts" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Ends" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Title" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Session started" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Session upcoming" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "The session \"{0}\" will begin in 10 minutes." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Stop browser from changing page" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Joined classroom" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Choose an event" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Event:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Nickname:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ password:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Advanced options" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participate in online learning events" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Nick can not be blank" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Nick can not begin with: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Nick can not contain blank spaces." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Nick can not contain: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Nick can only contain English alphabet characters" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC commands are not yet supported." lernid-1.0.1/po/ca.po0000664000000000000000000002542412113774224011231 0ustar # Catalan translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 15:41+0000\n" "Last-Translator: Michael Budde \n" "Language-Team: Catalan \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " David Planella https://launchpad.net/~dpm\n" " Jono Bacon https://launchpad.net/~jonobacon" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "La contrasenya no és vàlida" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" "Connecteu-vos a un món de programes d'aprenentatge de manera ràpida i fàcil." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Mostra una icona a l'àrea de notificació" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Utilitza una disposició vertical" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Mostra l'hora a la classe i a la sala de xat" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Heu de reiniciar el Lernid perquè alguns dels canvis tinguin efecte." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "S'està connectant a l'esdeveniment" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "S'ha identificat el vostre sobrenom" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "S'està desconnectant de l'esdeveniment" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "S'ha produït un error en carregar la diapositiva número {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "S'ha produït un error en baixar les diapositives" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "S'han baixat les diapositives" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Aquesta sessió no utilitza diapositives" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Esde_veniment" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Edita" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Visualitza" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "Pantalla _completa" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Barra d'estat" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "A_juda" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Introduïu l'adreça que vulgueu obrir en el navegador:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sessió" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Ho_rari" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Classe" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Sala de xat" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Mostra el Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Mostra els missatges de depuració" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Substitueix el canal de la classe" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nom de fitxer o URL del fitxer de configuració del LErnid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Utilitza el giny del xat web en lloc del nadiu." #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Comença" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Acaba" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Títol" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Ha començat la sessió" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sessió a punt de començar" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "La sessió «{0}» començarà en 10 minuts." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "No permetis que el navegador canviï de pàgina" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "S'ha entrat a la classe" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Escolliu un esdeveniment" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Esdeveniment:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Sobrenom:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Contrasenya del NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Opcions avançades" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participeu en esdeveniments d'aprenentatge en línia" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d de %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "El sobrenom no pot ser buit" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "El sobrenom no pot començar en: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "El sobrenom no pot contenir espais en blanc" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "El sobrenom no pot contenir: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "El sobrenom només pot contenir caràcters de l'alfabet anglès" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Encara no s'admeten ordres IRC." lernid-1.0.1/po/da.po0000664000000000000000000002432212113774224011226 0ustar # Danish translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Michael Budde \n" "Language-Team: Danish \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " AJenbo https://launchpad.net/~ajenbo\n" " Esben Damgaard https://launchpad.net/~ebbe\n" " Lasse Havelund https://launchpad.net/~lhavelund\n" " Martin Pihl https://launchpad.net/~pihl\n" " Michael Budde https://launchpad.net/~mbudde" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Ugyldig adgangskode" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Forbind til en verden af online-kurser hurtigt og let." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Brug vertikalt layout" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "Lernid skal genstartes før ændringerne træder i kraft." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Tilslutter begivenhed" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Dias er hentet ned" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "Klasseværelse" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Begive_nhed" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "R_edigér" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Vis" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Fuldskærm" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statuslinje" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Hjælp" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Indtast den adresse du vil åbne i browseren:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Session" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Ti_dsplan" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klasseværelse" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chatrum" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Vi_s Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Vis fejlretningsbeskeder" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Dato" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Starter" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Ender" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titel" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Session startet" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Session starter snart" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Sessionen \"{0}\" starter om 10 minutter." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Stop browser fra at skifte side" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Tilsluttet klasseværelset" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Vælg begivenhed" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Begivenhed:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Kaldenavn:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Avancerede indstillinger" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Deltag i undervisningsaktiviteter på nettet" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d. %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Kaldenavnet må ikke være tomt" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Kaldenavnet må ikke starte med: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Kaldenavnet må ikke indholde mellemrum" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Kaldenavnet må ikke indholde: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/fr.po0000664000000000000000000002673012113774224011256 0ustar # French translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 16:39+0000\n" "Last-Translator: Emilien Klein \n" "Language-Team: French \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Emilien Klein https://launchpad.net/~emilien-klein\n" " Emmanuel Sunyer https://launchpad.net/~esunyer\n" " Etienne Savard https://launchpad.net/~esavard\n" " Géry Debongnie https://launchpad.net/~gery-debongnie-deactivatedaccount\n" " Nicolas Delvaux https://launchpad.net/~malizor\n" " Pierre Slamich https://launchpad.net/~pierre-slamich\n" " dupoxy https://launchpad.net/~duperray-olivier" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Mot de passe incorrect" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Le mot de passe NickServ que vous avez saisi est invalide.\n" "Veuillez saisir le bon mot de passe :" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" "Connectez-vous rapidement et simplement à un monde de tutoriaux en ligne." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Afficher une icône dans la zone de notification" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Utiliser la mise en page verticale" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Afficher l'heure dans la salle de classe et de discussion" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Vous devez redémarrer Lernid pour que certains changements prennent " "effet." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Connexion à l'évènement" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Votre pseudo est maintenant identifié" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Déconnexion de l'évènement" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" "Une erreur s'est produite lors de la tentative de chargement de la " "diapositive numéro {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Une erreur s'est produite lors du téléchargement des diapositives" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Les diapositives ont été téléchargées" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Cette session n'utilise pas de diapositives" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Évé_nement" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweeter la session courante" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Éditer" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "Affichage" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "Plein écran" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Barre d'état" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Aide" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Entrez l'adresse que vous souhaitez ouvrir dans le navigateur :" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Session" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Emploi _du temps" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} utilisateur)" msgstr[1] "({0} utilisateurs)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Salle de classe" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "Salon de T_chat" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Afficher Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "La session « {0} » a commencé dans #ubuntu-classroom sur freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Afficher les messages de débogage" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Outrepasser le canal IRC de la salle de classe" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nom ou URL du fichier de configuration de Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Utiliser le widget de tchat web au lieu du client natif" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Date" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Débute" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Termine" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titre" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Session commencée" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Prochaine session" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "La session \"{0}\" commencera dans 10 minutes." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Empêcher le navigateur de changer de page" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Vous avez rejoint la salle de classe" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Choisir un événement" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Évènement :" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Pseudonyme :" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Mot de passe NickServ :" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Options avancées" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Prendre part à des événements de formation en ligne" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Le pseudonyme ne peut pas être vide" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Le pseudonyme ne peut pas commencer par : %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Le pseudonyme ne peut pas contenir d'espaces." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Le pseudonyme ne peut pas contenir : %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" "Le pseudonyme ne peut contenir que des caractères de l'alphabet anglais" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Les commandes IRC ne sont pas encore prises en charge." lernid-1.0.1/po/fil.po0000664000000000000000000002241712113774224011417 0ustar # Filipino translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-11 06:27+0000\n" "Last-Translator: Launchpad Translations Administrators \n" "Language-Team: Filipino \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Jerome S. Gotangco https://launchpad.net/~jsgotangco" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Gabay" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/ms.po0000664000000000000000000002543112113774224011263 0ustar # Malay translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: John S. Gruber \n" "Language-Team: Malay \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " John S. Gruber https://launchpad.net/~jsjgruber\n" " Khairul Aizat Kamarudzzaman https://launchpad.net/~fenris\n" " abuyop https://launchpad.net/~abuyop" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Kata laluan tidak sah" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Kata laluan NickServ yang anda masukkan tidak sah.\n" "Sila masukkan kata laluan yang betul:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Sambung ke dunia tutorial atas-talian yang pantas dan mudah." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Papar ikon didalam ruang pemberitahuan" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Guna bentangan menegak" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Papar masa didalam kelas dan bilik sembang" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Anda perlu mulakan semula Lernid supaya beberapa perubahan berkesan." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Menyambung ke acara" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Gelaran anda kini dikenalpasti" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Putuskan dari acara" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Ralat berlaku semasa cuba memuatkan slaid bernombor {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Ralat berlaku semasa memuat turun slaid" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Slaid telah dimuat turun" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Sesi ini tidak menggunakan slaid" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "A_cara" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweet sesi semasa" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Sunting" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Lihat" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Skrin Penuh" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Palang _Status" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Bantuan" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Masukkan alamat yang anda ingin buka didalam pelayar:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesi" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Ja_dual" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} pengguna)" msgstr[1] "({0} pengguna)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Kelas" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Bilik Sembang" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Papar Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Sesi \"{0}\" telah dimulakan dalam #ubuntu-classroom di freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Papar mesej nyahpepijat" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Batalkan saluran kelas" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nama fail atau URL ke fail konfig Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Guna widget sembang sesawang selain dari yang ada" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Tarikh" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Mula" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Tamat" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Tajuk" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sesi bermula" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sesi akan datang" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Sesi \"{0}\" akan dimulakan dalam tempoh 10 minit." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Henti pelayar dari mengubah halaman" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Sertai kelas" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Pilih Acara" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Acara:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Gelaran:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Kata laluan NickServ" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Pilihan lanjutan" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Sertai acara pembelajaran atas-talian" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Gelaran tidak boleh kosong" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Gelaran tidak boleh dimulakan dengan: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Gelaran tidak boleh mengandungi ruang kosong." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Gelaran tidak boleh mengandungi: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Gelaran hanya boleh mengandungi aksara abjad Inggeris" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Perintah IRC belum lagi disokong." lernid-1.0.1/po/en_CA.po0000664000000000000000000002571612113774224011617 0ustar # English (Canada) translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: John S. Gruber \n" "Language-Team: English (Canada) \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Colin Dean https://launchpad.net/~colindean\n" " Daniel Bell https://launchpad.net/~danielbell\n" " John S. Gruber https://launchpad.net/~jsjgruber\n" " Jono Bacon https://launchpad.net/~jonobacon\n" " Luke Hollins https://launchpad.net/~lwh\n" " Michael Budde https://launchpad.net/~mbudde\n" " Steve Garton https://launchpad.net/~sheepeatingtaz" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Invalid password" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Connect to a world of online tutorials quickly and easily." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Show an icon in the notification area" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Use vertical layout" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Show time in classroom and chatroom" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "You need to restart Lernid for some of the changes to take effect." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Connecting to event" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Your nickname is now identified" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Disconnecting from event" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "An error was encountered while trying to load slide number {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "An error was encountered while downloading slides" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Slides have been downloaded" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "This session does not use slides" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "Classroom" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nt" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweet current session" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Edit" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_View" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Fullscreen" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusbar" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Help" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Enter the address you would like to open in the browser:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Session" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Sche_dule" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} user)" msgstr[1] "({0} users)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Classroom" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chatroom" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Show Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "The session \"{0}\" has started in #ubuntu-classroom on freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Show debug messages" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Override classroom channel" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Filename or URL to Lernid config file" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Use web chat widget instead of the native one" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Date" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Starts" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Ends" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Title" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Session started" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Session upcoming" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "The session \"{0}\" will begin in 10 minutes." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Stop browser from changing page" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Joined classroom" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Choose an event" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Event:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Nickname:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ password:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Advanced options" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participate in online learning events" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Nick can not be blank" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Nick can not begin with: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Nick can not contain blank spaces." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Nick can not contain: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Nick can only contain English alphabet characters" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC commands are not yet supported." lernid-1.0.1/po/en_AU.po0000664000000000000000000002557112113774224011640 0ustar # English (Australia) translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Jared Norris \n" "Language-Team: English (Australia) \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Colin Dean https://launchpad.net/~colindean\n" " Daniel Bell https://launchpad.net/~danielbell\n" " Jared Norris https://launchpad.net/~jarednorris\n" " Martin Alderson https://launchpad.net/~martinalderson\n" " Steve Garton https://launchpad.net/~sheepeatingtaz" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Invalid password" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Connect to a world of online tutorials quickly and easily." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Show an icon in the notification area" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Use vertical layout" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Show time in classroom and chatroom" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "You need to restart Lernid for some of the changes to take effect." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Connecting to event" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Your nickname is now identified" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Disconnecting from event" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "An error was encountered while trying to load slide number {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "An error was encountered while downloading slides" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Slides have been downloaded" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "This session does not use slides" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "Classroom" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nt" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweet current session" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Edit" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_View" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Fullscreen" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusbar" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Help" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Enter the address you would like to open in the browser:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Session" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Sche_dule" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} user)" msgstr[1] "({0} users)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Classroom" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chatroom" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Show Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "The session \"{0}\" has started in #ubuntu-classroom on freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Show debug messages" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Override classroom channel" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Filename or URL to Lernid config file" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Use web chat widget instead of the native one" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Date" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Starts" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Ends" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Title" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Session started" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Session upcoming" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "The session \"{0}\" will begin in 10 minutes." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Stop browser from changing page" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Joined classroom" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Choose an event" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Event:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Nickname:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ password:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Advanced options" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participate in online learning events" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Nick can not be blank" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Nick can not begin with: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Nick can not contain blank spaces." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Nick can not contain: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Nick can only contain English alphabet characters" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC commands are not yet supported." lernid-1.0.1/po/zh_CN.po0000664000000000000000000002504712113774224011650 0ustar # Chinese (Simplified) translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2011-03-25 11:25+0000\n" "Last-Translator: Wylmer Wang \n" "Language-Team: Chinese (Simplified) \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Wylmer Wang https://launchpad.net/~wantinghard\n" " xianghui liu https://launchpad.net/~largepuma" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "密码无效" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "您输入的 NickServ 无效。\n" "请输入正确的密码:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "快速方便地连接到全球的在线教程。" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "在通知区域显示图标" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "使用垂直布局" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "在教室和聊天室中显示时间" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "您需要重新启动 Lernid 以使某些更改生效。" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "正在连接到活动" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "您的昵称现在已经被认证" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "正在从活动断开" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "在尝试载入第 {0} 号幻灯片时发生错误" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "下载幻灯片时发生错误" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "幻灯片已经下载" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "这段课程不使用幻灯片" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "活动(_N)" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "将当前课程发表到 Twitter" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "编辑(_E)" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "查看(_V)" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "全屏(_F)" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "状态栏 (_S)" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "帮助 (_H)" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "输入您想在浏览器中打开的网址:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "课程(_S)" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "课程表(_D)" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "终端(_T)" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} 位用户)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "教室" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "聊天室(_C)" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "显示 Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "课程 \"{0}\" 已经在 freenode 上的 #ubuntu-classroom 开始。" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "显示调试信息" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "替代教室频道" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Lernid 配置的文件名或 URL 地址" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "使用网络聊天工具而非内建" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "日期" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "开始" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "结束" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "标题" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "课程已开始" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "即将开始的课程" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "课程 \"{0}\" 将在 10 分钟后开始。" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "阻止浏览器切换页面" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "已加入的教室" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "选择一个活动" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "活动:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "昵称:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ 密码:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "高级选项" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "参与在线学习活动" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "昵称不能为空" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "昵称开头不能是: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "昵称中不能包含空格。" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "昵称中不能包含:%s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "昵称只能包含英语字母" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "尚不支持 IRC 命令。" lernid-1.0.1/po/tr.po0000664000000000000000000002224612113774224011272 0ustar # Turkish translation for lernid # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2011-09-01 07:54+0000\n" "Last-Translator: Launchpad Translations Administrators \n" "Language-Team: Turkish \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/nb.po0000664000000000000000000002443012113774224011241 0ustar # Norwegian Bokmal translation for lernid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: John S. Gruber \n" "Language-Team: Norwegian Bokmal \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Fredrik Fallang https://launchpad.net/~fredrik-fallang\n" " Hans Joachim Desserud https://launchpad.net/~hjd\n" " John S. Gruber https://launchpad.net/~jsjgruber\n" " Lars Åge Kamfjord https://launchpad.net/~laaknor\n" " Michael Budde https://launchpad.net/~mbudde" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Ugyldig passord" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Koble kjapt og enkelt til en verden av online hjelp." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Vis ikon i varslingsområdet" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Kobler til hendelse" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Kobler fra hendelse" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "En feil oppstod ved lasting av lysbilde nummer {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "En feil oppstod ved nedlasting av lysbilder" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Lysbildene har blitt lastet ned" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Denne sesjonen har ikke lysbilder" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "He_ndelse" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "R_ediger" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Vis" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Fullskjerm" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Hjelp" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesjon" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Ti_dsplan" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} bruker)" msgstr[1] "({0} brukere)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klasserom" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Vi_s Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Sesjonen \"{0}\" har started i #ubuntu-classroom på freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Vis feilsøkingsmeldinger" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Filnavn eller URL til Lernid konfigurasjonsfil" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Dato" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Starter" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Slutter" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Tittel" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sesjon startet" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Kommende sesjoner" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Sesjonen \"{0}\" vil starte om 10 minutter." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Velg en hendelse" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Hendelse:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Kallenavn:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ passord:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Avanserte innstillinger" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Kallenavn kan ikke starte med: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Kallenavn kan ikke inneholde: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC-kommandoer er ikke støttet ennå." lernid-1.0.1/po/pl.po0000664000000000000000000002575712113774224011272 0ustar # Polish translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # # Łukasz Jernaś , 2010. msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 15:46+0000\n" "Last-Translator: mmiicc \n" "Language-Team: Polish \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " mmiicc https://launchpad.net/~mpredotka\n" " Łukasz Jernaś https://launchpad.net/~deejay1" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Nieprawidłowe hasło" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Podane hasło dla usługi NickServ jest nieprawidłowe.\n" "Proszę podać prawidłowe hasło:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Proste i przyjemne łączenie się ze światem nauczania online." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Wyświetlanie ikony w obszarze powiadamiania" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Używanie układu pionowego" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Wyświetlanie czasu w klasie i w pokoju rozmów" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Należy uruchomić ponownie program Lernid, aby zmiany weszły w życie." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Łączenie z wydarzeniem" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Pseudonim został zidentyfikowany" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Odłączanie od wydarzenia" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Napotkano błąd podczas próby wczytania slajdu nr {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Napotkano błąd podczas pobierania slajdów" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Pobrano slajdy" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Ta sesja nie korzysta ze slajdów" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Wydarze_nie" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Ogłoś bieżącą sesję" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Edycja" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Widok" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Pełny ekran" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Pasek _stanu" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "Pomo_c" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Wprowadź adres, który należy otworzyć w przeglądarce:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesja" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Rozkła_d" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "{0} użytkownik" msgstr[1] "{0} użytkowników" msgstr[2] "{0} użytkowników" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klasa" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "Po_kój rozmów" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Wyświetlanie programu Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" "Sesja \"{0}\" rozpoczęła się w kanale #ubuntu-classroom na serwerze Freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Wyświetla komunikaty dla programistów" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Zmienia domyślny kanał klasy" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Plik lub adres URL pliku konfiguracyjnego programu Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" "Korzysta z internetowego widżetu dla pokoju rozmów zamiast wbudowanego" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Początek" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Koniec" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Tytuł" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sesja rozpoczęta" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sesja się zbliża" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Sesja \"{0}\" rozpocznie się za 10 minut." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Nie pozwala przeglądarce na zmianę strony" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Dołączono do klasy" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Wybór wydarzenia" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Wydarzenie:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Pseudonim:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Hasło NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Opcje zaawansowane" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Bierz udział w kursach online" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Pseudonim nie może być pusty" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Pseudonim nie może zaczynać się od: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Pseudonim nie może zawierać spacji." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Pseudonim nie może zawierać: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Pseudonim może zawierać jedynie znaki z angielskiego alfabetu." #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Polecenia protokołu IRC nie są obecnie wspierane." lernid-1.0.1/po/af.po0000664000000000000000000002352112113774224011230 0ustar # Afrikaans translation for lernid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: John S. Gruber \n" "Language-Team: Afrikaans \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Andre Hugo https://launchpad.net/~cortexhugo\n" " John S. Gruber https://launchpad.net/~jsjgruber" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Ongeldige wagwoord" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Die NickServ wagwoord wat u ingesluitel het is ongeldig.\n" "Sleutel asseblief die regtig wagwoord in:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H.%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Gebruik vertikale uitleg" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "U moet Lernid weer begin sodat die veranderinge kan plaasvind." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Koppeling met gebeurtenis" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Jou bynaam is nou geidentifiseer" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Ontkoppeling van gebeurtenis" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "'n Fout het plaas gevind met die laai van skyfie {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "'n Fout het plaas gevind met die aflaai van die skyfies" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Skyfies is afgelaai" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Hierdie sessie gebruik nie skyfies nie" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Gebe_urtenis" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Sleutel in die adres wat u wil open in die webblad:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klaskamer" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/sl.po0000664000000000000000000002542512113774224011265 0ustar # Slovenian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-11-29 18:38+0000\n" "Last-Translator: grofaty \n" "Language-Team: Slovenian \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " grofaty https://launchpad.net/~grofaty" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Napačno geslo" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Vnešeno NickServ geslo je napačno.\n" "Prosim vnesite pravilno geslo:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Poveži se z navodili hitro in enostavno." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Prikaži ikono v obvestilnem področju" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Uporabi navpični izgled" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Prikaži čas v učilnici in klepetalnici" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "Ponovno morate zagnati Lernid, da bodo spremembe imele učinek." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Povezujem se z dogodkom" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Tvoj vzdevek je sedaj potrjen" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Odjavljanje z dogodka" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Med nalaganjem prosojnice {0} se je pojavila napaka." #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Pojavila se je napaka pri prenašanju prosojnic" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Predstavitev je bila prenešena" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "To predavanje ne vsebuje prosojnic" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "_Dogodek" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Pošlji trenutno sejo v Tweeter" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "Ur_edi" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Pogled" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Celozaslonski način" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Vrstica _stanja" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Pomoč" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Vnesite naslov, ki ga želite odpreti v brskalniku" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Seja" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Razpore_di" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} uporabnik)" msgstr[1] "({0} uporabnika)" msgstr[2] "({0} uporabniki)" msgstr[3] "({0} uporabnikov)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Učilnica" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "Klepetalni_ca" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Prikaži Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Predavanje \"{0}\" se je pričelo v #ubuntu-classroom na freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Prikaži razhroščevalna sporočila" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Prepiši kanal klepetalnice" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Datoteka ali URL do Lernid nastavitvene datoteke" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Uporabi spletni gradnik za klepetanje namesto lastnega" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Datum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Prične" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Konča" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Naslov" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Seja se je pričela" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sledi seja" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Seja \"{0}\" se bo pričela čez 10 minut." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Brskalnik naj ne menja strani" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Združeni razredi" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Izberi dogodek" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Dogodek:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Vzdevek:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ geslo:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Napredne možnosti" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Sodelujte v dogodkih spletnega učenja" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d. %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Vzdevek ne more biti presledek" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Vzdevek se ne sme začeti z: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Vzdevek ne sme vsebovati presledkov" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Vzdevek ne sme vsebovati: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Vzdevek lahko vsebuje samo angleške črke abecede" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC ukazi še niso podprti." lernid-1.0.1/po/cs.po0000664000000000000000000002517112113774224011252 0ustar # Czech translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 15:43+0000\n" "Last-Translator: Vojtěch Trefný \n" "Language-Team: Czech \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Vojtěch Trefný https://launchpad.net/~vojtech.trefny" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Neplatné heslo" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Připojení do světa online tutoriálů snadno a rychle." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Zobrazovat ikonu v oznamovací oblasti" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Používat vertikální rozložení" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Zobrazovat čas ve třídě a diskusní místnosti" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "Pro uplatnění některých změn musíte Lernid restartovat." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Připojuji se k události" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Odpojuji se od události" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Chyba při pokusu o načtení slidu číslo {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Chyba ři stahování slidů" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Slidy byly staženy" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "V tomto sezení se nepoužívají slidy" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "U_dálost" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "U_pravit" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Zobrazení" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Celá obrazovka" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Sta_vový řádek" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Nápověda" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Zadejte adresu, kterou chcete otevřít v prohlížeči:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sezení" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "_Rozvrh" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminál" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} uživatel)" msgstr[1] "({0} uživatelé)" msgstr[2] "({0} uživatelů)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Třída" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Místnost" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Zobrazit Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Sezení \"{0}\" v místnosti #ubuntu-classroom na freenode začalo." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Zobrazit ladící informace" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Název souboru nebo URL s konfiguračním souborem Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Používat pro chat webový widget místo nativního" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Datum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Začíná" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Končí" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Název" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sezení začalo" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Blíží se sezení" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Sezení \"{}\" začne za 10 minut." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Zabránit prohlížeči měnit stráku" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Vstoupil do místnosti" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Vyberte událost" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Událost:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Přezdívka:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ heslo:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Rozšířená nastavení" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d. %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Přezdívka nesmí být prázdná" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Přezdívka nesmí začínat na: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Přezdívka nesmí obsahovat mezery." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Přezdívka nesmí obsahovat :%s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Přezdívka smí obsahovat pouze znaky anglické abecedy" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC příkazy nejsou ještě dostupné" lernid-1.0.1/po/te.po0000664000000000000000000002304612113774224011254 0ustar # Telugu translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-12 06:14+0000\n" "Last-Translator: Jono Bacon \n" "Language-Team: Telugu \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Jono Bacon https://launchpad.net/~jonobacon\n" " వీవెన్ (Veeven) https://launchpad.net/~veeven" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "పాఠాల ప్రపంచానికి త్వరగా మరియు సులభంగా సంధానమవ్వండి." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_సహాయం" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "తరగతి గది" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "ఓక ఘటనని ఎంచుకోండి" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "లెర్నిడ్" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/eu.po0000664000000000000000000002552512113774224011261 0ustar # Basque translation for lernid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: Oier Mees \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: John S. Gruber \n" "Language-Team: LANGUAGE \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Michael Budde https://launchpad.net/~mbudde\n" " Oier Mees https://launchpad.net/~oier" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Baliogabeko pasahitza" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Sartu duzun NickServ pasahitza baliogabea da.\n" "Mesedez sartu pasahitz zuzena:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Online tutorialen mundura modu azkar eta errazean konektatu zaitez." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Erakutsi ikonoa berri-emate panelan" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Erabili diseinu bertikala" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Denbora erakutsi ikasgela eta berriketa gelan" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr " Lernid berrabiarazi behar dezu aldaketak aplikatzeko." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Ekitaldira konektatzen" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Zure ezizena identifikaturik dago orain" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Ekitalditik deskonektatzen" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Errore bat gertatu da {0} gardenkia kargatzen saiatzean" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Errore bat aurkitu da gardenkiak jaisten ziren bitartean" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Transparentziak deskargatu dira" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Saio honek ez ditu gardenkiak erabiltzen" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "_Ekitaldia" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Uneko saioa twiteatu" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Editatu" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Ikusi" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_PantailaOsoan" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Egoera-barra" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Laguntza" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Sartu nabigatzailean irekitzea gustatuko litzaizuken helbidea:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Saioa" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "_Plangintza" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Kontsola" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} erabiltzaile)" msgstr[1] "({0} erabiltzaile)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Ikasgela" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Berriketa gela" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Erakutsi Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "\"{0}\" saioa hasi da freenode-eko #ubuntu-classroom kanalean." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Erakutsi arazketako mezuak" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Ikasgela kanala deuseztatu" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Fitxategi izena edo URL Lernid-ren konfigurazio fitxategira" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Web-eko berriketa trepeta erabili bertakoaren ordez" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Hasiko da" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Bukatuko da" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Izenburua" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Saioaren hasiera" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Hurrengo saioa" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "\"{0}\" saioa 10 minututan hasiko da." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Nabigatzaileari orriz aldatzea eragotzi" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Ikasgelan sartu zera" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Aukeratu ekitaldi bat" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Ekitaldia:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Ezizena:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ pasahitza:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Aukera aurreratuak" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Online ikastaroetan parte hartu" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%Y(e)ko %Bk %d" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Ezizena ezin da zuriunea izan" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Ezizenak ezin du hasi %s-rekin" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Ezizenak ezin ditu zuriuneak eduki." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Ezizenak ezin du %s eduki" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Ezizenak alfabeto ingelesko karaktereak bakarrik eduki ditzake" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC komandoak oraindik ez dira onartzen." lernid-1.0.1/po/jbo.po0000664000000000000000000002240012113774224011407 0ustar # Lojban translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-11 06:43+0000\n" "Last-Translator: Launchpad Translations Administrators \n" "Language-Team: Lojban \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " David Futcher https://launchpad.net/~bobbo" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "sidju" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "la lernyd." #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/lernid.pot0000664000000000000000000002207112113774224012302 0ustar # 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. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-02-28 17:10-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Publicize with Gwibber" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/nl.po0000664000000000000000000002570412113774224011260 0ustar # Dutch translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Sense Egbert Hofstede \n" "Language-Team: Dutch \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Elco https://launchpad.net/~eajnab\n" " MarniX https://launchpad.net/~gsmx\n" " Sense Egbert Hofstede https://launchpad.net/~sense\n" " cumulus007 https://launchpad.net/~cumulus-007" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Ongeldig wachtwoord" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Het door u ingevoerde NickServ-wachtwoord is ongeldig.\n" "Gelieve het juiste wachtwoord in te voeren:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Verbind gemakkelijk en snel met een wereld van online lessen." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Een pictogram in het meldingsgebied weergeven" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Verticale indeling gebruiken" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Tijd in klaslokaal en chatruimte weergeven" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "U moet Lernid herstarten om sommige wijzigingen door te voeren." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Verbinden met evenement" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Uw schermnaam is nu geïdentificeerd" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Verbinding met evenement verbreken" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Er is een fout opgetreden bij het laden van dia {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Fout opgetreden bij het downloaden van de dia's" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Dia's zijn gedownload" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Deze sessie gebruikt geen dia's" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nement" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Huidige sessie tweeten" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "B_ewerken" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "Beel_d" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Schermvullend" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusbalk" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Hulp" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Voer het adres in dat u wilt openen in de browser:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sessie" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "_Rooster" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} gebruiker)" msgstr[1] "({0} gebruikers)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klaslokaal" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chatruimte" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Lernid _weergeven" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "De sessie \"{0}\" is begonnen in #ubuntu-classroom op Freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Debug-berichten weergeven" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Kanaal voor klaslokaal overschrijven" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Bestandsnaam of URL naar Lernid-configuratiebestand" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Webchat-widget in plaats van systeemeigen widget gebruiken" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Datum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Begint" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Eindigt" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titel" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sessie begonnen" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sessie begint straks" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "De sessie \"{0}\" begint over 10 minuten." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "browser weerhouden van het wijzigen van pagina" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Binnengekomen bij klaslokaal" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Kies een evenement" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Evenement:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Schermnaam:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ-wachtwoord:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Geavanceerde opties" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Deelnemen aan online educatieve evenementen" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Schermnaam kan niet leeg zijn" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Schermnaam kan niet beginnen met: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Schermnaam kan geen spaties bevatten." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Schermnaam kan niet dit bevatten: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Schermnaam kan alleen Engelse tekens bevatten" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC-commando's worden nog niet ondersteund." lernid-1.0.1/po/he.po0000664000000000000000000002673012113774224011243 0ustar # Hebrew translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Yaron \n" "Language-Team: Hebrew \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Ddorda https://launchpad.net/~ddorda\n" " Ilan https://launchpad.net/~ilan\n" " SB https://launchpad.net/~sonny-benshimon\n" " Uri Shabtay https://launchpad.net/~uri.shabtay\n" " Yaron https://launchpad.net/~sh-yaron\n" " serfus https://launchpad.net/~serfus" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "הססמה שגויה" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "ססמת ה־NickServ שהוזנה אינה תקנית.\n" "נא להזין את הססמה הנכונה:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "התחברות לעולם של מדריכים מקוונים בקלות ובמהירות." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "הצגת סמל באזור הדיווחים" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "שימוש בסידור אנכי" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "הצגת השעה בכיתה ובחדר הצ׳אט" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "עליך להפעיל את Lernid מחדש כדי שחלק מהשינויים יכנסו לתוקף." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "בהתחברות לאירוע" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "הכינוי שלך מזוהה כעת" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "בניתוק מאירוע" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "אירעה שגיאה במהלך הניסיון לטעינת שקופית מספר {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "אירעה שגיאה במהלך הורדת השקופיות" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "הורדת השקופיות הושלמה" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "מפגש זה אינו דורש שימוש בשקופיות" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "כיתה" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "_אירוע" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "ציוץ המפגש הנוכחי" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "ע_ריכה" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_תצוגה" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_מסך מלא" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_שורת מצב" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "ע_זרה" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "נא להזין את הכתובת אותה ברצונך לפתוח בדפדפן:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_מפגש" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "לוח _זמנים" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "מ_סוף" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "(משתמש {0})" msgstr[1] "({0} משתמשים)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "כיתה" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_חדר צ׳אט" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "ה_צגת Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "השיעור \"{0}\" החל בערוץ ‎#ubuntu-classroom בשרת freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "הצגת הודעות ניפוי שגיאות" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "עקיפת ערוץ הכיתה" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "שם הקובץ או הכתובת לקובץ ההגדרות של Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "שימוש בחלונית צ׳אט במקום במובנה" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "תאריך" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "מתחיל" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "מסתיים" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "כותרת" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "המפגש החל" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "מפגשים בהמשך" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "המפגש \"{0}\" יתחיל בעוד 10 דקות." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "מניעת אפשרות העברת העמוד מהדפדפן" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "הצטרפת למפגש" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "נא לבחור באירוע" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "אירוע:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "כינוי:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "ססמת ה־NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "אפשרויות מתקדמות" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "השתתפות באירועי למידה מקוונים" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d ב%B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "כינוי לא יכול להישאר ריק" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "כינוי לא יכול להתחיל ב־: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "כינוי לא יכול להכיל רווחים." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "כינוי לא יכול להכיל: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "כינוי יכול להכיל אותיות לטיניות (באנגלית) בלבד" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "פקודות IRC עדיין לא נתמכות." lernid-1.0.1/po/pt.po0000664000000000000000000002226112113774224011265 0ustar # Portuguese translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-10 06:06+0000\n" "Last-Translator: Launchpad Translations Administrators \n" "Language-Team: Portuguese \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/hu.po0000664000000000000000000002606112113774224011260 0ustar # Hungarian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-09-17 06:28+0000\n" "Last-Translator: Richard Somlói \n" "Language-Team: Hungarian \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Gabor Kelemen https://launchpad.net/~kelemeng\n" " Muszela Balázs https://launchpad.net/~bazsi86-deactivatedaccount\n" " Richard Somlói https://launchpad.net/~ricsipontaz" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Érvénytelen jelszó" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "A becenév kiszolgálóhoz megadott jelszó érvénytelen.\n" "Próbálja meg újra:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Egyszerű és gyors kapcsolat az online oktatások világához." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Ikon mutatása az értesítési területen" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Függőleges elrendezés használata" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Idő mutatása a tanteremben és a csevegőszobában" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Néhány módosítás életbelépéséhez újra kell indítani a Lernidet." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Kapcsolódás az eseményhez" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "A becenév azonosítva" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Kapcsolatbontása az eseménnyel" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Hiba lépett fel a(z) {0}. dia betöltése közben" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Hiba lépett fel a diák letöltése közben" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "A diák letöltése befejeződött" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Ez az előadás nem tartalmaz diákat" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Esemé_ny" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Mikrobloggolás az előadásról" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "Sz_erkesztés" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Nézet" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Teljes képernyő" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Állapot_sor" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Súgó" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Írja be a megnyitni kívánt hivatkozást:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "Előadá_s" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Menetren_d" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminál" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "{0} felhasználó" msgstr[1] "{0} felhasználó" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Tanterem" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Csevegőszoba" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Lernid megjeleníté_se" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" "A(z) \"{0}' című előadás elkezdődött a freenode hálózat #ubuntu-classroom " "csatornáján." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Debug üzenetek mutatása" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Tanterem felülbírálása" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Fájlnév vagy URL a Lernid konfigurációs fájljához" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Web chat widget használata a natív helyett" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Dátum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Kezdődik" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Befejeződik" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Cím" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Az előadás elkezdődött" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Következő előadás" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "A(z) \"{0}\" című előadás 10 perc múlva kezdődik." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "A böngésző lapváltásának tiltása" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Csatlakozott a tanteremhez" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Eseményválasztás" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Esemény:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Becenév:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "A becenév kiszolgáló jelszava:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Haladó beállítások" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Részvétel online oktatási eseményeken" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%Y. %B %e." #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "A becenév nem lehet üres" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "A becenév nem kezdődhet így: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "A becenév nem tartalmazhat szóközt" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "A becenév nem tartalmazhatja ezt: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "A becenév csak az angol nyelv karaktereit tartalmazhatja" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Az IRC parancsok egyelőre nem támogatottak." lernid-1.0.1/po/de.po0000664000000000000000000002655712113774224011246 0ustar # German translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: cmdrhenner \n" "Language-Team: German \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " AnSc https://launchpad.net/~spam2-anschitech\n" " Bernd Schlapsi https://launchpad.net/~bernd-sch\n" " Jakob Kramer https://launchpad.net/~jakobk\n" " Johannes Möller https://launchpad.net/~jojo-moeller\n" " Michael Keppler https://launchpad.net/~bananeweizen\n" " Nico Gulden https://launchpad.net/~ngulden\n" " Sebastian Schlatow https://launchpad.net/~buzz-dee\n" " SpaceCafé https://launchpad.net/~spacecafe\n" " Tobias Baldauf https://launchpad.net/~technopagan\n" " cmdrhenner https://launchpad.net/~cmdrhenner\n" " mogli https://launchpad.net/~patrick-kohan" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Ungültiges Passwort" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Das eingegebene NickServ-Passwort ist ungültig.\n" "Bitte das richtige Passwort angeben:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" "Einfach und schnell mit einer Vielzahl von Online-Anleitungen verbinden." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Ein Symbol im Benachrichtigungsfeld anzeigen" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Senkrechtes Layout benutzen" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Zeit im Klassenraum und im Chatraum anzeigen" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Lernid muss neu gestartet werden, damit die Änderungen wirksam werden." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Verbinde zur Veranstaltung" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Ihr Spitzname wurde angemeldet" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Trenne von Veranstaltung" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Beim Laden von Folie Nummer {0} trat ein Fehler auf" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Beim Herunterladen der Folien trat ein Fehler auf" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Die Folien wurden heruntergeladen" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Diese Sitzung verwendet keine Folien" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "_Veranstaltung" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Aktuelle Sitzung twittern" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Bearbeiten" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Ansicht" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Vollbild" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusleiste" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Hilfe" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Adresse eingeben, die im Browser geöffnet werden soll:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sitzung" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "_Zeitplan" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} Nutzer)" msgstr[1] "({0} Nutzer)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klassenraum" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chatraum" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Lernid _anzeigen" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Die Sitzung \"{0}\" hat in #ubuntu-classroom auf freenode begonnen." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Debug-Meldungen anzeigen" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Klassenraumkanal aufheben" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Dateiname oder URL zur Lernid-Konfigurationsdatei" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Benutze Webchat-Widget anstelle des eigenen Widgets" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Datum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Beginnt" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Endet" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titel" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sitzung läuft" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Anstehende Sitzung" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Die Sitzung \"{0}\" beginnt in 10 Minuten." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Webbrowser vom Verändern der Seite abhalten" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Klassenraum beigetreten" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Wählen Sie eine Veranstaltung" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Veranstaltung:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Spitzname:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ-Passwort:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Erweiterte Einstellungen" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "An Online-Lernveranstaltungen teilnehmen" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d. %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Spitzname kann nicht leer sein" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Spitzname kann nicht mit %s beginnen" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Spitzname kann keine Leerzeichen enthalten" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Spitzname kann folgendes nicht enthalten: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Spitzname kann nur Zeichen des englischen Alphabets enthalten" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC-Befehle werden noch nicht unterstützt." lernid-1.0.1/po/sv.po0000664000000000000000000002600612113774224011273 0ustar # Swedish translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Albert Johansson https://launchpad.net/~johansson-albert\n" " Carl-Uno Olsson https://launchpad.net/~carl-uno\n" " Christian Widell https://launchpad.net/~christian.w\n" " Daniel Nylander https://launchpad.net/~yeager\n" " Jonathan Lindén https://launchpad.net/~jlinden" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Ogiltigt lösenord" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Lösenordet för NickServ som du angav är ogiltigt.\n" "Ange det korrekta lösenordet:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" "Anslut snabbt och enkelt till en hel värld av hjälp och handledningar." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H.%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Visa en ikon i notifieringsytan" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Använd vertikal layout" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Visa tid i klassrum och chattrum" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "Du måste starta om Lernid för att ändringarna ska aktiveras." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Ansluter till aktivitet" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Ditt smeknamn är nu identifierat" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Kopplar från aktivitet" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Ett fel inträffade vid försök att läsa in bild nummer {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Ett fel inträffade vid hämtning av bilder" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Bilderna har hämtats" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Denna session använder inte bilder" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "klassrum" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nemang" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Twittra aktuell lektion" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "R_edigera" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Visa" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Helskärm" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusrad" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Hjälp" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Skriv adressen som du vill öppna i webbläsaren:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Lektion" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Sche_ma" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} användare)" msgstr[1] "({0} användare)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klassrum" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Chattrum" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "V_isa Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Lektionen \"{0}\" har börjat i #ubuntu-classroom på freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Visa felsökningsmeddelanden" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Åsidosätt klassrummets kanal" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Filnamn eller URL till konfigurationsfilen för Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Använd widget för webbchatt istället för den inbyggda" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Datum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Börjar" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Slutar" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titel" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Lektionen har börjat" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Kommande lektion" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Lektionen \"{0}\" börjar om 10 minuter." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Stoppa webbläsaren från att byta sida" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Gick in i klassrummet" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Välj en aktivitet" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Aktivitet:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Användarnamn:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Lösenord för NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Avancerade alternativ" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Delta i utbildande aktiviteter online" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Användarnamnet får inte vara blankt" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Användarnamnet kan inte börja med: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Användarnamnet får inte innehålla blanksteg." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Användarnamnet får inte innehålla: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Användarnamnet får bara innehålla engelska bokstäver" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC-kommandon stöds ännu inte." lernid-1.0.1/po/ro.po0000664000000000000000000002321612113774224011263 0ustar # Romanian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-24 06:50+0000\n" "Last-Translator: Lucian Adrian Grijincu \n" "Language-Team: Romanian \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 % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" "X-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Johannes Möller https://launchpad.net/~jojo-moeller\n" " Lucian Adrian Grijincu https://launchpad.net/~lucian.grijincu\n" " Manuel R. Ciosici https://launchpad.net/~manuelciosici" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Conectați-vă ușor și rapid la o lume online de tutoriale." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Ajutor" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Sală de clasă" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Afișează mesajele de depanare" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Alegeți un eveniment" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participă la evenimente educative pe internet" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/hr.po0000664000000000000000000002432712113774224011260 0ustar # Croatian translation for lernid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: gogo \n" "Language-Team: Croatian \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%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " freedomrun https://launchpad.net/~freedomrun\n" " gogo https://launchpad.net/~trebelnik-stefina" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Neispravna lozinka" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Povežite se u svijet on-line udžbenika brzo i jednostavno." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Prikaži ikonu u području obavijesti" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Koristite vertikalni raspored" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Morate ponovno pokrenuti Lernid da bi neke promjene stupile na snagu." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Priključivanje događaju" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Vaš nadimak je upravo identificiran" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Prekidanje veze s događajem" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Dog_ađaj" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Uredi" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Prikaz" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Cijeli zaslon" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Statusna traka" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Pomoć" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesija" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} korisnik)" msgstr[1] "({0} korisnci)" msgstr[2] "({0} korisnika)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Učionica" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Prikaži Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Prikaži poruke otklanjanja greške" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Datum" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Započinje" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Završava" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Započeta sesija" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Izaberite događaj" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Događaj:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Nadimak:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ lozinka:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Napredne opcije" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Sudjelujte u događajima online učenja" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Nick ne može biti prazan" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Nick ne može započeti s: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Nick ne smije sadržavati prazna mjesta." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Nick ne može sadržavati: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Nick može sadržavati samo slova Engleske abecede" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "IRC naredbe još uvijek nisu podržane." lernid-1.0.1/po/ar.po0000664000000000000000000002772112113774224011252 0ustar # Arabic translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Michael Budde \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" "X-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " MaXo https://launchpad.net/~mahmood-188\n" " Magd Addin M. Almuntaser https://launchpad.net/~ttmtt-team\n" " Michael Budde https://launchpad.net/~mbudde\n" " Mohammad AbuShady https://launchpad.net/~coalwater\n" " Yazin Alhamdi https://launchpad.net/~yazin-alhamdi\n" " eyadof https://launchpad.net/~eyadof-n\n" " m.ayad https://launchpad.net/~m-ayad" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "كلمة المرور غير صحيحة" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "كلمة السر الذي أدخلته غير صالح.\n" "الرجاء إدخال كلمة المرور الصحيحة :" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "إتصل عبر عالم الإنترنت للحصول على الدروس بسرعه وسهولة." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "إظهار الرمز في منطقة الإعلام" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "إستخدام الشكل العمودي" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "عرض الوقت في غرف الدردشة" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "تحتاج إلى إعادة تشغيل Lernid حتى تصبح بعض التغييرات نافذة المفعول." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "ربط الإحداثية" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "يتم تحديد إسمك المستعار الآن" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "فصل من الإحداثية" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "تمت مصادفة خطأ أثناء محاولة تحميل عدد الشرائح (0)" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "تم ظهور خطأ عند تحميل الشرائح" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "تم تحميل الشرائح" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "هذه الجلسه لا تستخدم الشرائح" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nt" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "تصفير الدوره الحاليه" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_تحرير" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_عرض" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "م_لئ الشاشة" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_شريط الحالة" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "م_ساعدة" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "أدخل العنوان الذي تريد فتحه بالمتصفح:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "الجل_سة" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "ال_جدول" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_طرفية" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} مستخدم)" msgstr[1] "({0} مستخدمان)" msgstr[2] "({0} مستخدمين)" msgstr[3] "({0} مستخدم)" msgstr[4] "({0} مستخدم)" msgstr[5] "({0} مستخدم)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "صف" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "غ_رفة الدردشة" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "عر_ض Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "الجلسة \"{0}\" بدأت في #ubuntu-classroom على freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "عرض رسائل التصحيح" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "تجاوز قناة الصف" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "إسم الملف أو الرابط لملف إعداد Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "إستخدام شبكة المحادثة بدلاً من واحده" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "التاريخ" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "يبدأ" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "ينتهي" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "العنوان" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "بدأت الجلسة" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "الجلسة المقبلة" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "الجلسة \"{0}\" ستبدأ بعد 10 دقائق." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "إيقاف المتصفح من تعديلات الصفحة" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "تم الإنظمام للصف" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "اختار حدث" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "الحدث:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "الاسم المستعار:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "كلمة المرور:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "الخيارات المتقدمة" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "إخداثيات التعليم عن بعد" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "الإسم المستعار لا يمكن ان يكون فارغاً" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "الإسم المستعار لا يمكن ان يبدأ بـ: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "الإسم المستعار لا يمكن ان يحتوي على المسافة." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "الإسم المستعار لا يمكن ان يحتوي على: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "الإسم المستعار يجب أن يحتوي على رموز وحروف انجليزية فقط" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "أوامر الـ IRC ليست مدعومة." lernid-1.0.1/po/uk.po0000664000000000000000000003071112113774224011260 0ustar # Ukrainian translation for lernid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the lernid package. # # Yuri Chornoivan , 2010. msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 19:20+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \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%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Yuri Chornoivan https://launchpad.net/~yurchor-gmail" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Некоректний пароль" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Вами було введено некоректний пароль доступу до NickServ.\n" "Будь ласка, введіть правильний пароль:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" "Програма для спрощення та пришвидшення з’єднання зі світом уроків у мережі." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Показувати піктограму у області сповіщення" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Використовувати вертикальне компонування" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Показувати час у лекційній кімнаті та кімнаті обговорення" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Щоб набула чинності частина з внесених вами змін, вам слід перезапустити " "Lernid." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Встановлення з’єднання з місцем події" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Виконано ідентифікацію вашого псевдоніма" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Розірвання з’єднання з місцем події" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Під час спроби завантаження слайда з номером {0} сталася помилка" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Під час спроби звантаження слайдів сталася помилка" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Слайди звантажено" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "У цьому сеансі не використовуються слайди" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "По_дія" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Створити твіт з поточного сеансу" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Правка" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "П_ерегляд" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "На весь _екран" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Рядок стану" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Довідка" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Введіть адресу, яку слід відкрити у переглядачі інтернету:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "С_еанс" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Роз_клад" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Термінал" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} користувач)" msgstr[1] "({0} користувача)" msgstr[2] "({0} користувачів)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Лекційна кімната" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "Кімната _обговорення" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Показати Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "На каналі #ubuntu-classroom мережі freenode розпочався сеанс «{0}»." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Показувати повідомлення зневадження" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Перевизначити канал лекційної кімнати" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Назва файла або адреса URL файла налаштування Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Використовувати віджет веб-балачки замість типового" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Дата" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Починається" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Завершується" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Назва" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Сеанс почато" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Наступний сеанс" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Сеанс «{0}» розпочнеться за 10 хвилин." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Запобігати зміні сторінки переглядачем" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Приєднався до лекційної кімнати" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Вибір події" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Подія:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Псевдонім:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Пароль доступу до NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Додаткові параметри" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Участь у лекційних подіях у мережі" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Псевдонім не може бути порожнім" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Псевдонім не може починатися на %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Псевдонім не повинен містити пробілів." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Псевдонім не повинен містити: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Псевдонім може складатися лише з літер англійської абетки" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Підтримки команд IRC ще не передбачено." lernid-1.0.1/po/ru.po0000664000000000000000000003033312113774224011267 0ustar # Russian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 16:47+0000\n" "Last-Translator: Алексей Капранов (Alex Kapranoff) \n" "Language-Team: Russian \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%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Ilya Barygin https://launchpad.net/~randomaction\n" " Sergey Sedov https://launchpad.net/~serg-sedov\n" " Vadim Peretokin https://launchpad.net/~vperetokin\n" " Алексей Капранов (Alex Kapranoff) https://launchpad.net/~kkapp" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Неверный пароль" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Неверный пароль к NickServ.\n" "Введите правильный пароль." #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Быстрый и простой вход в мир учебных пособий в Интернете" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Показывать значок в области уведомлений" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Расположить окна вертикально" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Показывать время в классной комнате и чате" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Нужно перезапустить Lernid, чтобы все изменения вступили в силу." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Соединяемся с событием" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Ваш псевдоним подтверждён" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Отсоединяемся от события" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "Произошла ошибка при загрузке слайда {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Ошибка при загрузке слайдов" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Слайды загружены" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "В этом сеансе не используются слайды" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "_Событие" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Написать о сеансе в _Твиттер" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Правка" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Вид" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "Полноэкранный _режим" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Строка состояния" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "Сп_равка" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Введите адрес, который хотите открыть в браузере:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "С_еанс" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Р_асписание" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Терминал" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} пользователь)" msgstr[1] "({0} пользователя)" msgstr[2] "({0} пользователей)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Классная комната" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "Комната _чата" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Открыть Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "Сеанс \"{0}\" начался на канале #ubuntu-classroom сети freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Окно сообщений отладки" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Вручную задать канал классной комнаты" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Путь или URL файла конфигурации Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Использовать веб-чат вместо встроенного" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Дата" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Начало" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Окончание" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Название" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Сеанс начался" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Следующий сеанс" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Сеанс \"{0}\" начинается через 10 минут." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Запретить браузеру переход по другим адресам" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Присоединились к каналу классной комнаты" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Выберите событие" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Событие:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Псевдоним:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Пароль к NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Дополнительные настройки" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Участвуйте в онлайновых учебных событиях" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %b %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Псевдоним не может быть пустым" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Псевдоним не может начинаться с символов: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Псевдоним не может содержать пробелы" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Псевдоним не может содержать: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Псевдоним должен состоять только из букв английского алфавита" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Команды IRC пока не поддерживаются." lernid-1.0.1/po/es_AR.po0000664000000000000000000002241612113774224011635 0ustar # Spanish (Argentina) translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2009-12-10 06:06+0000\n" "Last-Translator: Launchpad Translations Administrators \n" "Language-Team: Spanish (Argentina) \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Ilan https://launchpad.net/~ilan" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Ayuda" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/pt_BR.po0000664000000000000000000002630412113774224011652 0ustar # Brazilian Portuguese translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: John S. Gruber \n" "Language-Team: Brazilian Portuguese \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Allan Lopes Peretti https://launchpad.net/~mendigodase\n" " André Gondim https://launchpad.net/~andregondim\n" " Daniel Tiecher https://launchpad.net/~daniel-anderson-tiecher\n" " Holverat Bortolossi https://launchpad.net/~holverat\n" " John S. Gruber https://launchpad.net/~jsjgruber\n" " Teylo Laundos Aguiar https://launchpad.net/~teylo.aguiar" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Senha inválida" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "A senha para NickServ que você digitou está inválida.\n" "Por favor digite a senha corrta:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Conectar a um mundo de tutoriais online rápido e fácil." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Mostrar ícone na área de notificação" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Usar leiaute vertical" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Mostrar hora na sala de aula e na sala de conversa" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Você precisa reiniciar o Lernid para que as alterações tenham efeito." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Conectando ao evento" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Seu apelido está verificado" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Desconectando do evento" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" "Um erro foi encontrado enquanto tentava carregar apresentação número {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Um erro foi encontrado enquanto baixava as apresentações" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Apresentações foram baixadas" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Esta sessão não usa apresentações" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "Sala de aula" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_nto" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweet a sessão atual" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Editar" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Visualizar" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Tela cheia" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Barra de _status" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Ajuda" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Digite o endereço que você quer abrir no navegador:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sessão" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Agen_da" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} usuário)" msgstr[1] "({0} usuários)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Sala de aula" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Sala de aula" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Mo_strar Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "A sessão \"{0}\" iniciou no canal #ubuntu-classroom na freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Mostrar as mensagens de depuração" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Substituir canal de sala de aula" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nome de arquivo ou URL para o arquivo de configuração do Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Usasr o widget da internet de conversa no lugar do nativo" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Começou" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Términou" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Título" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sessão iniciada" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sessão a seguir" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "A sessão \"{0}\" irá começar em 10 minutos." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Parar de navegar em páginas em cache" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Entrou na sala de aula" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Escolha um evento" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Evento:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Apelido:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "NickServ senha:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Opções avançadas" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participe de eventos de aprendizagem on-line" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d de %B de %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "Apelido não pode estar em branco" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "Apelido não pode começar com: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "Apelido não pode conter espaços em branco." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "Apelido não pode conter: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "Apelido pode conter apenas caráctere alfabético do inglês" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "Comandos do IRC ainda não são suportados." lernid-1.0.1/po/eo.po0000664000000000000000000002317212113774224011247 0ustar # Esperanto translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-02-06 17:37+0000\n" "Last-Translator: Colin Dean \n" "Language-Team: Esperanto \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Colin Dean https://launchpad.net/~colindean\n" " Espera https://launchpad.net/~espera4\n" " Jono Bacon https://launchpad.net/~jonobacon\n" " Kristjan SCHMIDT https://launchpad.net/~kristjan-eo\n" " Martin Alderson https://launchpad.net/~martinalderson" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Konekti al mondo de enretaj seminarioj rapide kaj facile." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Helpo" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Klasĉambro" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Montri sencimigantajn mesaĝojn" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Dato" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Titolo" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Elektu eventon" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Evento:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Kromnomo:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernido" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Partopreni en enreta lernadeventoj" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/el.po0000664000000000000000000002446112113774224011246 0ustar # Greek translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-02-24 21:24+0000\n" "Last-Translator: John Xygonakis \n" "Language-Team: Greek \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Jennie Petoumenou https://launchpad.net/~jennie\n" " John Xygonakis https://launchpad.net/~c7p\n" " Jono Bacon https://launchpad.net/~jonobacon" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Συνδεθείτε εύκολα και γρήγορα στον κόσμο των ηλεκτρονικών μαθημάτων" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Εμφάνισε ένα εικονίδιο στην πεδίο ειδοποιήσεων" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Εμφάνισε την ώρα στην αίθουσα διδασκαλίας και στο χώρο συνομιλίας" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Επεξεργασία" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Προβολή" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Πλήρης Οθόνη" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "_Γραμμή κατάστασης" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Βοήθεια" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Συνεδρίαση" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Πρόγραμ_μα" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Τερματικό" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Τάξη" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Χώρος συνομιλίας" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "_Εμφάνισε το Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Εμφάνιση μηνυμάτων αποσφαλμάτωσης" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Ημερομηνία" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Ξεκινάει" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Τελειώνει" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Τίτλος" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Η Συνεδρία άρχισε" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Προσεχής συνεδρίαση" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Η συνεδρίαση \"{0}\" θα ξεκινήσει σε 10 λεπτά" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Επιλογή μαθήματος" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Συμβάν:" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Ψευδώνυμο:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Συμμετάσχετε σε ένα ζωντανό μάθημα" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/ast.po0000664000000000000000000002443512113774224011436 0ustar # Asturian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-08-02 16:41+0000\n" "Last-Translator: Xuacu Saturio \n" "Language-Team: Asturian \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Xuacu Saturio https://launchpad.net/~xuacusk8" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Contraseña non válida" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "La contraseña de NickServ qu'escribió nun ye válida.\n" "Escriba la contraseña correuta:" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Coneutase a un mundu de tutoriales en llinia darréu y fácilmente" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Amosar un iconu nel área de notificación" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Usar organización vertical" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Amosar la hora na sala de clase y na sala de charra" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "Tien de reaniciar Lernid pa que dellos cambeos faigan efeutu." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Coneutando col actu" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "El so alcuñu agora ta identificáu" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Desconeutando del actu" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" "Alcontrose un error cuando taba cargándose la diapositiva númberu {0}" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "Alcontrose un error al descargar les diapositives" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Descargáronse les diapositives" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "Esta sesión nun usa diapositives" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Editar" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Ver" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Pantalla completa" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Barra d'e_stáu" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Aida" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesión" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Calen_dariu" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} usuariu)" msgstr[1] "({0} usuarios)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Sala de clase" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Amosar mensaxes de depuración" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Entama" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Fina" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Títulu" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "" #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Escoyer una actividá" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Nomatu:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Contraseña de NickServ:" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Participar en actividáes de deprendimientu en llinia" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "L'alcuñu nun puede tar baleru" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "L'alcuñu nun puede entamar por: %s" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "L'alcuñu nun puede tener espacios en blanco." #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "L'alcuñu nun puede contener: %s" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/id.po0000664000000000000000000002341412113774224011237 0ustar # Indonesian translation for lernid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2010-01-27 06:00+0000\n" "Last-Translator: Jono Bacon \n" "Language-Team: Indonesian \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Abu Azzam https://launchpad.net/~ordinarydot\n" " Jono Bacon https://launchpad.net/~jonobacon\n" " Waluyo Adi Siswanto https://launchpad.net/~was-wlk" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "Tersambung ke dunia tutorial dalam talian dengan cepat dan mudah." #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Tampilkan ikon di area notifikasi" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Gunakan tata letak vertikal" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Sunting" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Tampilan" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "_Layar penuh" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Bantuan" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "Tuliskan alamat yang ingin anda buka di perambah:" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesi" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "_Jadwal" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "" msgstr[1] "" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Kelas" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "_Ruang diskusi" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "" #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nama berkas atau URL ke berkas konfigurasi Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Tanggal" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Mulai" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "Selesai" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Judul" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sesi dimulai" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sesi akan datang" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "Sesi \"{0}\" akan dimulai dalam 10 menit." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Mengikuti kelas" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Nama panggilan:" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/po/oc.po0000664000000000000000000002475512113774224011255 0ustar # Occitan (post 1500) translation for lernid # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the lernid package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: lernid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-08-19 13:33-0400\n" "PO-Revision-Date: 2012-08-19 20:01+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \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-Launchpad-Export-Date: 2012-08-28 07:10+0000\n" "X-Generator: Launchpad (build 15864)\n" #: ../data/ui/AboutLernidDialog.ui.h:1 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Cédric VALMARY (Tot en òc) https://launchpad.net/~cvalmary" #: ../data/ui/PasswordDialog.ui.h:1 msgid "Invalid password" msgstr "Senhal invalid" #: ../data/ui/PasswordDialog.ui.h:2 msgid "" "The NickServ password you entered was invalid.\n" "Please enter the correct password:" msgstr "" "Lo senhal NickServ qu'avètz picat es invalid.\n" "Picatz lo bon senhal :" #. TRANSLATORS: Future versions will need translations of this word as plugins to match the locale of the target classroom session. The word will prefix questions asked in the chatroom of the instructor #: ../data/ui/ChatWidget.ui.h:1 ../lernid/widgets/NativeChatroom.py:90 msgid "QUESTION:" msgstr "" #: ../data/ui/ChatWidget.ui.h:2 msgid "" "\"QUESTION:\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/lernidconfig.py:35 msgid "Connect to a world of online tutorials quickly and easily." msgstr "" #. Translators: Local time representation #: ../lernid/widgets/IrcWidget.py:68 ../lernid/Sessions.py:81 #: ../lernid/Sessions.py:86 msgid "%H:%M" msgstr "%H:%M" #: ../data/ui/PreferencesLernidDialog.ui.h:1 msgid "Show an icon in the notification area" msgstr "Afichar una icòna dins la zòna de notificacion" #: ../data/ui/PreferencesLernidDialog.ui.h:2 msgid "Use vertical layout" msgstr "Utilizar la mesa en pagina verticala" #: ../data/ui/PreferencesLernidDialog.ui.h:3 msgid "Show time in classroom and chatroom" msgstr "Afichar l'ora dins la sala de classa e de discussion" #: ../data/ui/PreferencesLernidDialog.ui.h:4 msgid "Open presentation links in default browser" msgstr "" #: ../data/ui/PreferencesLernidDialog.ui.h:5 msgid "" "You need to restart Lernid for some of the changes to take effect." msgstr "" "Vos cal reaviar Lernid per que d'unes cambiaments prengan efièch." #: ../lernid/EventManager.py:90 msgid "Cannot retrieve configuration" msgstr "" #: ../lernid/EventManager.py:188 msgid "Connecting to event" msgstr "Connexion a l'eveniment" #: ../lernid/EventManager.py:196 msgid "Your nickname is now identified" msgstr "Vòstre escais es ara identificat" #: ../lernid/EventManager.py:239 msgid "Disconnecting from event" msgstr "Desconnexion de l'eveniment" #: ../lernid/widgets/Slide.py:83 msgid "Click to Open in External Browser" msgstr "" #: ../lernid/widgets/Slide.py:86 msgid "" "Click to open the slides in your browser. From there you can browse, " "bookmark, or save them." msgstr "" #: ../lernid/widgets/Slide.py:165 msgid "An error was encountered while trying to load slide number {0}" msgstr "" #: ../lernid/widgets/Slide.py:230 #, python-format msgid "Downloading session slides (%i%% of %i KB)..." msgstr "" #: ../lernid/widgets/Slide.py:238 ../lernid/widgets/Slide.py:264 msgid "An error was encountered while downloading slides" msgstr "" #: ../lernid/widgets/Slide.py:251 msgid "Slides have been downloaded" msgstr "Las diapositivas son estadas telecargadas" #: ../lernid/widgets/Slide.py:284 msgid "This session does not use slides" msgstr "" #: ../data/ui/LernidWindow.ui.h:1 msgid "Classroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:2 msgid "_Chatroom" msgstr "" #: ../data/ui/LernidWindow.ui.h:3 msgid "Eve_nt" msgstr "Eve_niment" #: ../data/ui/LernidWindow.ui.h:4 msgid "Open _URL in Lernid..." msgstr "" #: ../data/ui/LernidWindow.ui.h:5 msgid "Tweet current session" msgstr "Tweetar la sesilha correnta" #: ../data/ui/LernidWindow.ui.h:6 msgid "_Edit" msgstr "_Editar" #: ../data/ui/LernidWindow.ui.h:7 msgid "_View" msgstr "_Afichatge" #: ../data/ui/LernidWindow.ui.h:8 msgid "_Fullscreen" msgstr "Ecran _complet" #: ../data/ui/LernidWindow.ui.h:9 msgid "_Statusbar" msgstr "Barra d'e_stat" #: ../data/ui/LernidWindow.ui.h:10 msgid "_Help" msgstr "_Ajuda" #: ../data/ui/LernidWindow.ui.h:11 msgid "Enter the address you would like to open in the browser:" msgstr "" #: ../lernid/IrcBackend.py:345 #, python-format msgid "Nick assigned by server: %s" msgstr "" #: ../bin/lernid.py:148 ../bin/lernid.py:152 ../bin/lernid.py:263 msgid "_Session" msgstr "_Sesilha" #: ../bin/lernid.py:149 msgid "Select the Session tab to see classroom learning material" msgstr "" #: ../bin/lernid.py:160 msgid "Event Connection Interrupted" msgstr "" #: ../bin/lernid.py:160 msgid "" "Please reestablish your Internet connection\n" "and reconnect to the event" msgstr "" #: ../bin/lernid.py:165 msgid "" "Event Connection Interrupted -- Please reestablish your Internet connection " "and reconnect to the event" msgstr "" #: ../bin/lernid.py:223 msgid "You can interact with classes held in the classroom" msgstr "" #: ../bin/lernid.py:226 #, python-format msgid "" "Add \"%s\" to the beginning of your query to direct it to the classroom " "instructor." msgstr "" #: ../bin/lernid.py:272 msgid "Sche_dule" msgstr "Emplec _del temps" #: ../bin/lernid.py:279 msgid "_Terminal" msgstr "_Terminal" #: ../bin/lernid.py:290 msgid "({0} user)" msgid_plural "({0} users)" msgstr[0] "({0} utilizaire)" msgstr[1] "({0} utilizaires)" #: ../bin/lernid.py:313 ../bin/lernid.py:317 msgid "Classroom" msgstr "Sala de classa" #. TRANSLATORS: The underscore marks this as a mnemonic accelerator #: ../bin/lernid.py:315 ../bin/lernid.py:318 msgid "_Chatroom" msgstr "Salon de _chat" #: ../bin/lernid.py:374 msgid "_Show Lernid" msgstr "Afichar Lernid" #: ../bin/lernid.py:417 msgid "The session \"{0}\" has started in #ubuntu-classroom on freenode." msgstr "La sesilha « {0} » a començat dins #ubuntu-classroom sus freenode." #: ../bin/lernid.py:508 msgid "Show debug messages" msgstr "Afichar los messatges de desbugatge" #: ../bin/lernid.py:509 msgid "Show debug and classroom management messages" msgstr "" #: ../bin/lernid.py:511 msgid "Override classroom channel" msgstr "Otrapassar lo canal IRC de la sala de classa" #: ../bin/lernid.py:513 msgid "Override chatroom channel" msgstr "" #: ../bin/lernid.py:515 msgid "Filename or URL to Lernid config file" msgstr "Nom o URL del fichièr de configuracion de Lernid" #: ../bin/lernid.py:517 msgid "Don't automatically reload the schedule" msgstr "" #: ../bin/lernid.py:519 msgid "Use web chat widget instead of the native one" msgstr "Utilizar lo widget de chat web al luòc del client natiu" #: ../bin/lernid.py:521 msgid "Unsafe testing option" msgstr "" #: ../bin/lernid.py:523 msgid "Unused debugging option to avoid desktopcouch" msgstr "" #: ../bin/lernid.py:526 msgid "Override calendar location" msgstr "" #: ../lernid/widgets/Schedule.py:115 msgid "Date" msgstr "Data" #: ../lernid/widgets/Schedule.py:123 msgid "Starts" msgstr "Comença" #: ../lernid/widgets/Schedule.py:131 msgid "Ends" msgstr "S'acaba lo" #: ../lernid/widgets/Schedule.py:139 ../lernid/widgets/Schedule.py:144 msgid "Title" msgstr "Títol" #: ../lernid/widgets/Schedule.py:282 #, python-format msgid "Irc Logs for UTC %s (Starting at %s local time)" msgstr "" #: ../lernid/widgets/Schedule.py:364 msgid "" "Please keep the Session tab selected to see session learning materials." msgstr "" #: ../lernid/widgets/Schedule.py:368 msgid "Session started" msgstr "Sesilha aviada" #: ../lernid/widgets/Schedule.py:369 msgid "The session \"{0}\" has started. " msgstr "" #: ../lernid/widgets/Schedule.py:381 msgid "Session upcoming" msgstr "Sesilha venenta" #: ../lernid/widgets/Schedule.py:382 msgid "The session \"{0}\" will begin in 10 minutes." msgstr "La sesilha \"{0}\" començarà dins 10 minutas." #: ../lernid/widgets/Schedule.py:424 msgid "Copy Calendar ICAL URL to Clipboard" msgstr "" #: ../lernid/widgets/Schedule.py:425 msgid "Open Calendar ICAL URL Using Your Browser" msgstr "" #: ../data/ui/BrowserWidget.ui.h:1 msgid "Stop browser from changing page" msgstr "Empachar lo navigador de cambiar de pagina" #: ../lernid/widgets/Classroom.py:83 msgid "Joined classroom" msgstr "Avètz rejunt la sala de classa" #: ../data/ui/ConnectDialog.ui.h:1 msgid "Choose an event" msgstr "Causir un eveniment" #: ../data/ui/ConnectDialog.ui.h:2 msgid "Event:" msgstr "Eveniment :" #: ../data/ui/ConnectDialog.ui.h:3 msgid "Nickname:" msgstr "Escais :" #: ../data/ui/ConnectDialog.ui.h:4 msgid "NickServ password:" msgstr "Senhal NickServ :" #: ../data/ui/ConnectDialog.ui.h:5 msgid "Advanced options" msgstr "Opcions avançadas" #: ../data/ui/ConnectDialog.ui.h:6 msgid "Connecting to the classroom may take up to one minute" msgstr "" #: ../lernid.desktop.in.h:1 msgid "Lernid" msgstr "Lernid" #: ../lernid.desktop.in.h:2 msgid "Participate in online learning events" msgstr "Prene part a d'eveniments de formacion en linha" #. Translators: Local date representation #: ../lernid/Sessions.py:76 msgid "%d %B %Y" msgstr "%d %B %Y" #: ../lernid/Sessions.py:127 #, python-format msgid "Unable to load calendar %s\n" msgstr "" #: ../lernid/Sessions.py:171 #, python-format msgid "Unable to parse calendar %s\n" msgstr "" #: ../lernid/Sessions.py:203 msgid "Missing Session Name" msgstr "" #: ../lernid/ConnectDialog.py:119 msgid "Nick can not be blank" msgstr "L'escais pòt pas èsser void" #: ../lernid/ConnectDialog.py:123 #, python-format msgid "Nick can not begin with: %s" msgstr "" #: ../lernid/ConnectDialog.py:127 msgid "Nick can not contain blank spaces." msgstr "" #: ../lernid/ConnectDialog.py:127 #, python-format msgid "Nick can not contain: %s" msgstr "" #: ../lernid/ConnectDialog.py:130 msgid "Nick can only contain English alphabet characters" msgstr "" #. TRANSLATORS: %s will be a token from the locale of the target classroom session rather than the student's locale #: ../lernid/widgets/NativeChatroom.py:94 #, python-format msgid "" "\"%s\" directs your question to the classroom for an answer from the " "instructor" msgstr "" #: ../lernid/widgets/NativeChatroom.py:182 msgid "IRC commands are not yet supported." msgstr "" lernid-1.0.1/pyversions0000664000000000000000000000000512014221053012003 0ustar 2.6- lernid-1.0.1/.quickly0000664000000000000000000000011112014217737011335 0ustar project = lernid template = ubuntu-project format = 0.2.5 lp_id = lernid lernid-1.0.1/data/0000775000000000000000000000000012273565417010603 5ustar lernid-1.0.1/data/stylesheet0000664000000000000000000000005111612404366012702 0ustar * {-webkit-box-shadow: none !important;} lernid-1.0.1/data/ui/0000775000000000000000000000000012273565417011220 5ustar lernid-1.0.1/data/ui/password_dialog.xml0000664000000000000000000000057011574160457015123 0ustar lernid-1.0.1/data/ui/PasswordDialog.ui0000664000000000000000000001234711574160457014506 0ustar 6 Invalid password False True lernid dialog False True vertical True 6 12 True gtk-dialog-authentication 6 False 0 True vertical 6 True 0 The NickServ password you entered was invalid. Please enter the correct password: False 0 True True False True False 1 1 1 True end gtk-cancel True True True True False False 0 gtk-ok True False True True True True True False False 1 False end 0 button2 ok_button lernid-1.0.1/data/ui/ChatWidget.ui0000664000000000000000000001006511630476646013605 0ustar True False 4 True False queue True True automatic automatic True True False word 6 6 False True True 0 True False 4 True False QUESTION: True True False "QUESTION:" directs your question to the classroom for an answer from the instructor False False 0 True False True 0 True False True gtk-go-forward False True True True True True 1 False True 1 lernid-1.0.1/data/ui/preferences_lernid_dialog.xml0000664000000000000000000000062711574160457017122 0ustar lernid-1.0.1/data/ui/PreferencesLernidDialog.ui0000664000000000000000000001445511630476646016310 0ustar 5 lernid dialog False True vertical 2 True vertical 6 Show an icon in the notification area True True False True False 0 Use vertical layout True True False True False 1 Show time in classroom and chatroom True True False True False 2 Open presentation links in default browser True True False True False 3 0 1 <i>You need to restart Lernid for some of the changes to take effect.</i> True 4 1 True end gtk-cancel True True True True False False 0 gtk-ok True True True True False False 1 False end 0 button2 button1 lernid-1.0.1/data/ui/about_lernid_dialog.xml0000664000000000000000000000061311574160457015726 0ustar lernid-1.0.1/data/ui/connect_dialog.xml0000664000000000000000000000056511574160457014716 0ustar lernid-1.0.1/data/ui/ConnectDialog.ui0000664000000000000000000003022611604756556014276 0ustar False 6 Choose an event False True center-on-parent True lernid dialog True True False True False end gtk-cancel True True True False True False False 0 gtk-connect True False True True True True False True False False 1 False True end 0 True False 6 12 True False 3 True False 2 2 12 6 True False 0 Event: GTK_FILL True False 0 Nickname: 1 2 GTK_FILL True False 1 2 True True True False False True True 1 2 1 2 False True 0 True True True False 3 True False 12 True False NickServ password: False True 0 True True False True False False True True True True 1 True False Advanced options False True 1 True False Connecting to the classroom may take up to one minute True True end 2 True True 1 button_cancel button_connect lernid-1.0.1/data/ui/BrowserWidget.ui0000664000000000000000000001406611574160457014353 0ustar True vertical True 2 2 2 2 True False True False True True none True gtk-go-back False 0 True False True True none True gtk-refresh False False 1 True False True True none True gtk-stop False False 2 True True Stop browser from changing page True False True True none True gtk-media-pause False 3 True 4 False False 0 True False 1 True True automatic automatic 2 lernid-1.0.1/data/ui/lernid_window.xml0000664000000000000000000000055111574160457014605 0ustar lernid-1.0.1/data/ui/LernidWindow.ui0000664000000000000000000006562012113774224014164 0ustar 100 1 10 10 True False 6 6 6 6 True True True True True False True True True False True False 0 6 3 <b>Classroom</b> True fill False True 0 False True True False True False 6 True False 0 6 3 <b>_Chatroom</b> True True fill False True 0 True False 0 True True 1 False True 0 False True True True 800 550 False Lernid lernid True False True False True False False Eve_nt True True False gtk-connect True False False True True gtk-disconnect True False False False True True True False False False Open _URL in Lernid... True False False True False Publicize with Gwibber True True False gtk-quit True False False True True True False False _Edit True True False gtk-preferences True False False True True True False False _View True True False True False False _Fullscreen True True False False _Statusbar True True True False False _Help True True False gtk-about True False False True True False True 0 False 5 center lernid dialog True False 2 True False end gtk-cancel True True True False True False False 0 gtk-open True True True True True False half True False False 1 False True end 0 True False 6 6 True False 0 4 Enter the address you would like to open in the browser: False True 0 True True True False False True True False True 1 True True 1 button2 button1 True False 6 6 6 6 True True True True True False True True True False True False 0 6 3 <b>Classroom</b> True fill False True 0 False True True False True False 6 True False 0 6 3 <b>_Chatroom</b> True True fill False True 0 True False 0 True True 1 False True 0 True True True True lernid-1.0.1/data/ui/AboutLernidDialog.ui0000664000000000000000000000303611574160457015107 0ustar 5 lernid dialog False Lernid translator-credits lernid True True vertical 2 True end False end 0 lernid-1.0.1/data/icons/0000775000000000000000000000000012273565417011716 5ustar lernid-1.0.1/data/icons/64/0000775000000000000000000000000012273565417012147 5ustar lernid-1.0.1/data/icons/64/lernid.svg0000664000000000000000000007736011574160457014160 0ustar image/svg+xml a b c lernid-1.0.1/data/icons/48/0000775000000000000000000000000012273565417012151 5ustar lernid-1.0.1/data/icons/48/lernid.svg0000664000000000000000000007525411574160457014162 0ustar image/svg+xml a b c lernid-1.0.1/data/icons/16/0000775000000000000000000000000012273565417012144 5ustar lernid-1.0.1/data/icons/16/lernid.svg0000664000000000000000000003110411574160457014137 0ustar image/svg+xml lernid-1.0.1/data/icons/16/lernid.png0000664000000000000000000000150211574160457014123 0ustar PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8eOlTU;2-C[:mڦ)1ƕ'F]q6.܀]0.tX6&n,(mL:{{7%Z97ɗ9&zJUQQAUQEU!뤏:i+)_lV7n!P%ݢXJ#}8CDXE;^zFmPk0P,P{Ʊ`  jN { >C(2ssTuFADXxB! !x>gWU89|WL3LNN*ܞ\*]!{=Mq7111&哯Nx vB.G̻37ڽm_,O{픝6P*t:\|؅4mcZus8W , Ȳ \ Jz!h4= sDQ1{dB3VV&I39fE?M|IENDB`lernid-1.0.1/data/icons/24/0000775000000000000000000000000012273565417012143 5ustar lernid-1.0.1/data/icons/24/lernid.svg0000664000000000000000000004736211574160457014153 0ustar image/svg+xml abc lernid-1.0.1/data/icons/24/lernid.png0000664000000000000000000000256111574160457014130 0ustar PNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATH]lTE9nkb[QAL`0(ZPcH$bkDM`#V~ B(!&vA3gw[MI&gf~7skvoU4 N'rKJDݧVU‘=D D`!F@@{m(sԡкhEȢ|ʚu5uMa ˭B|(hH@_q@"ZcQ(ɟLk +G"(f?|fNp^"BDY'z z[ly*lۦ<0{NohCURf"'k5Y_Dž:ne-u0n%ZVG \٨޲&-S4g[Z50pA04Mqjk'v+9u=dwwR*aSp:*v2P˲0Mp<&\TWW :ɤ;|6D)0 *{qZp폌ē "tً?ww[2{,CD0 T@Q zzz$H""__?x|IIIP{ 28VU/%9ړIENDB`lernid-1.0.1/data/icons/22/0000775000000000000000000000000012273565417012141 5ustar lernid-1.0.1/data/icons/22/lernid.png0000664000000000000000000000242511574160457014125 0ustar PNG  IHDRĴl;sRGBbKGD pHYs B(xtIME6=QIDAT8}[lUE{zZhRQALk\n1< 'MM@I4Q+ry4PK-R'\ӳ9{aVJ+Yٳ'ֿ֨fѐa5;O>ŘX-}lM7n)Ãؼ!`: lTIN_8b1c,zv˖ */aIh:ȉ ZkkWUʆXhڞ8yFGE8>?X6fbn+PZZ0gą DgvUaMW!P2: ˨a5$tv^gذJRd}ܦ,E[DQq\yM r 920,P(s8K__]dl{Q_ONQQ|@:1/7+$f|?"7zU|@> \FN^=Ƈ9܊XxD&b\imq\ǥ=f=xGɅjgAu :cy؎au,\ 8pp?;0T СhcK_B.ڻbFp)S%qfD l8huN~IƋprW[b/ )XUS3#+UG5;}K.ĝ/ CFb?y[n&rSJ%Wڝ\|D"y;"vΝ~i2`g٨ RqTq1nu""sӧ&N㠔[gJ&S)??󹱾)))I0X3} h<ݑFIENDB`