diff options
51 files changed, 10614 insertions, 0 deletions
diff --git a/qt-recordmydesktop/AUTHORS b/qt-recordmydesktop/AUTHORS new file mode 100644 index 0000000..e893dc7 --- /dev/null +++ b/qt-recordmydesktop/AUTHORS @@ -0,0 +1,11 @@ +qt-recordMyDesktop is written by: + +John Varouhakis(johnvarouhakis@gmail.com) + + +Design of the Graphical User Interface has been made by: + +Daniel Campos + + + diff --git a/qt-recordmydesktop/COPYING b/qt-recordmydesktop/COPYING new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/qt-recordmydesktop/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/qt-recordmydesktop/ChangeLog b/qt-recordmydesktop/ChangeLog new file mode 100644 index 0000000..7e4bfd9 --- /dev/null +++ b/qt-recordmydesktop/ChangeLog @@ -0,0 +1,3 @@ +/*VERSION 0.1*/ +First Version + diff --git a/qt-recordmydesktop/INSTALL b/qt-recordmydesktop/INSTALL new file mode 100644 index 0000000..577b877 --- /dev/null +++ b/qt-recordmydesktop/INSTALL @@ -0,0 +1,35 @@ +NOTICE: +qt-recordMyDesktop is ONLY A FRONTEND to recordMyDesktop. You have to obtain and +install that first. +If you don't have it look here: +http://recordmydesktop.sourceforge.net + +DEPENDENCIES: + +GNU automake >=1.5 +Python >= 2.4 +Qt>=4.2 +PyQt4>=4.1 +recordMyDesktop 0.3.4 + +To compile the program you have to go through the regular drill: + +~$ gzip -d qt-recordmydesktop-x.y.z.tar.gz +~$ tar -xvf qt-recordmydesktop-x.y.z.tar +~$ cd qt-recordmydesktop-x.y.z +~$ ./configure --prefix=/usr/ +~$ make +~$ sudo make install + +The --prefix=/usr/ option might not be necessary, but it +will prevent some problems when running the program +(if you get messages about module recordMyDesktop not found, +you have to use it). + + +After this you should get a menu entry under multimedia. +If you don't get one even after a logout/login from your WM +you can launch the program from a terminal like this: + +~$ qt-recordMyDesktop + diff --git a/qt-recordmydesktop/Makefile.am b/qt-recordmydesktop/Makefile.am new file mode 100644 index 0000000..ae4e04c --- /dev/null +++ b/qt-recordmydesktop/Makefile.am @@ -0,0 +1,11 @@ +AUTOMAKE_OPTIONS = 1.5 + +ACLOCAL_AMFLAGS = -I m4 + +include $(srcdir)/m4/common.mk +include $(srcdir)/m4/pychecker.mk + + +SUBDIRS = src po m4 +EXTRA_DIST= config.rpath + diff --git a/qt-recordmydesktop/NEWS b/qt-recordmydesktop/NEWS new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/qt-recordmydesktop/NEWS diff --git a/qt-recordmydesktop/README b/qt-recordmydesktop/README new file mode 100644 index 0000000..bb878a6 --- /dev/null +++ b/qt-recordmydesktop/README @@ -0,0 +1,35 @@ +********************************************************************************** +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the Free Software * +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +********************************************************************************** + +qt-recordMyDesktop and all the material accompanying the source +distribution is licenced under the GNU-GPL version 2 or +(at your option) any later version. + +Complete licence text can be found in the COPYING file. + +Author information can be found in the AUTHORS file. + + +NOTICE: +qt-recordMyDesktop is ONLY A FRONTEND to recordMyDesktop. You have to obtain and +install that first. + +For installation instructions and dependencies see the INSTALL file. + + + + + diff --git a/qt-recordmydesktop/autogen.sh b/qt-recordmydesktop/autogen.sh new file mode 100644 index 0000000..55f5e93 --- /dev/null +++ b/qt-recordmydesktop/autogen.sh @@ -0,0 +1,7 @@ +#/bin/bash + +aclocal-1.7 -I m4/ +automake-1.7 --add-missing +autoconf + + diff --git a/qt-recordmydesktop/config.rpath b/qt-recordmydesktop/config.rpath new file mode 100755 index 0000000..3f1bef3 --- /dev/null +++ b/qt-recordmydesktop/config.rpath @@ -0,0 +1,571 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2005 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +cc_basename=`echo "$CC" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + darwin*) + case "$cc_basename" in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | pw32* | os2*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux*) + case $cc_basename in + icc* | ecc*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + sco3.2v5*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sunos4*) + hardcode_direct=yes + ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = yes; then + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if test "$GCC" = yes ; then + : + else + case "$cc_basename" in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10* | hpux11*) + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + sco3.2v5*) + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4.2uw2*) + hardcode_direct=yes + hardcode_minus_L=no + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. +libname_spec='lib$name' +case "$host_os" in + aix3*) + ;; + aix4* | aix5*) + ;; + amigaos*) + ;; + beos*) + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + shrext=.dll + ;; + darwin* | rhapsody*) + shrext=.dylib + ;; + dgux*) + ;; + freebsd1*) + ;; + kfreebsd*-gnu) + ;; + freebsd*) + ;; + gnu*) + ;; + hpux9* | hpux10* | hpux11*) + case "$host_cpu" in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux*) + ;; + knetbsd*-gnu) + ;; + netbsd*) + ;; + newsos6) + ;; + nto-qnx*) + ;; + openbsd*) + ;; + os2*) + libname_spec='$name' + shrext=.dll + ;; + osf3* | osf4* | osf5*) + ;; + sco3.2v5*) + ;; + solaris*) + ;; + sunos4*) + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + ;; + sysv4*MP*) + ;; + uts4*) + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF + +# How to pass a linker flag through the compiler. +wl="$escaped_wl" + +# Static library suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally "so"). +shlibext="$shlibext" + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="$hardcode_libdir_separator" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct="$hardcode_direct" + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L="$hardcode_minus_L" + +EOF diff --git a/qt-recordmydesktop/configure.ac b/qt-recordmydesktop/configure.ac new file mode 100644 index 0000000..ca0bcb7 --- /dev/null +++ b/qt-recordmydesktop/configure.ac @@ -0,0 +1,72 @@ +AC_PREREQ(2.59) +AC_INIT(src/qt-recordMyDesktop) + +AM_INIT_AUTOMAKE(qt-recordmydesktop, 0.1) + +AS_AC_EXPAND(LIBDIR, $libdir) +AC_MSG_NOTICE(Storing library files in $LIBDIR) +AC_SUBST(PYQT4_REQ, 4.1) +AC_SUBST(QT4_REQ, 4.2) + +#The following test is needed for the expansion bellow +if test "x$prefix" == "xNONE"; then + export prefix="/usr/local/" +else + echo "prefix set to $prefix" +fi + +AS_AC_EXPAND(PREFIX,$prefix) + +AS_AC_EXPAND(DATADIR, "$datadir") +AC_MSG_NOTICE(Storing data files in $DATADIR) + +AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +AC_MSG_NOTICE(Storing configuration files in $SYSCONFDIR) + +AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir) +AC_MSG_NOTICE(Using localstatedir $LOCALSTATEDIR) + +dnl check for python +AM_PATH_PYTHON(2.3) + +AS_AC_EXPAND(PYTHONDIR, $pythondir) +AC_MSG_NOTICE(Using pythondir $PYTHONDIR) + +GETTEXT_PACKAGE=qt-recordMyDesktop +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The gettext package name]) +AM_GLIB_GNU_GETTEXT + +dnl check for pyqt +PKG_CHECK_MODULES(PYQT4, QtCore>= $QT4_REQ,,AC_MSG_ERROR(You need libQt4 >=4.2 and the appropriate development headers to proceed)) + + +export PYTHONPATH=$PYTHONPATH + +export PYQT4_VERSION=`python -c 'import PyQt4; from PyQt4 import QtCore; print QtCore.PYQT_VERSION_STR' 2>>/dev/null ` + +if test x$PYQT4_VERSION == x; then + AC_MSG_ERROR(You need PyQt4>=4.1 installed to procceed); +fi + +b=$(echo "$PYQT4_VERSION" | awk 'BEGIN{ FS="." } { print $1 "\n" $2 "\n" $3 }') +c=($b) +PYQT4_MAJOR=${c[0]} +PYQT4_MINOR=${c[1]} + +if test $PYQT4_MAJOR != 4; then + AC_MSG_ERROR(PyQt4 Major version number not 4!!!); +fi + +if test $PYQT4_MINOR -lt 1; then + AC_MSG_ERROR(You need PyQt4>=4.1 installed to procceed + (earlier version found installed)); +fi + + +AC_CONFIG_FILES([Makefile + src/Makefile + src/rmdConfig.py + po/Makefile.in + m4/Makefile]) +AC_OUTPUT diff --git a/qt-recordmydesktop/m4/Makefile.am b/qt-recordmydesktop/m4/Makefile.am new file mode 100644 index 0000000..213bdde --- /dev/null +++ b/qt-recordmydesktop/m4/Makefile.am @@ -0,0 +1,7 @@ +EXTRA_DIST = as-python.m4 \ + as-version.m4 \ + as-ac-expand.m4 \ + py-compile-destdir \ + common.mk \ + python.mk \ + pychecker.mk diff --git a/qt-recordmydesktop/m4/as-ac-expand.m4 b/qt-recordmydesktop/m4/as-ac-expand.m4 new file mode 100644 index 0000000..7bd0a61 --- /dev/null +++ b/qt-recordmydesktop/m4/as-ac-expand.m4 @@ -0,0 +1,43 @@ +dnl as-ac-expand.m4 0.1.0 +dnl autostars m4 macro for expanding directories using configure's prefix +dnl thomas@apestaart.org + +dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) +dnl example +dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local + +AC_DEFUN([AS_AC_EXPAND], +[ + EXP_VAR=[$1] + FROM_VAR=[$2] + + dnl first expand prefix and exec_prefix if necessary + prefix_save=$prefix + exec_prefix_save=$exec_prefix + + dnl if no prefix given, then use /usr/local, the default prefix + if test "x$prefix" = "xNONE"; then + prefix=/usr/local + fi + dnl if no exec_prefix given, then use prefix + if test "x$exec_prefix" = "xNONE"; then + exec_prefix=$prefix + fi + + full_var="$FROM_VAR" + dnl loop until it doesn't change anymore + while true; do + new_full_var="`eval echo $full_var`" + if test "x$new_full_var"="x$full_var"; then break; fi + full_var=$new_full_var + done + + dnl clean up + full_var=$new_full_var + AC_SUBST([$1], "$full_var") + + dnl restore prefix and exec_prefix + prefix=$prefix_save + exec_prefix=$exec_prefix_save +]) diff --git a/qt-recordmydesktop/m4/as-python.m4 b/qt-recordmydesktop/m4/as-python.m4 new file mode 100644 index 0000000..e810fa5 --- /dev/null +++ b/qt-recordmydesktop/m4/as-python.m4 @@ -0,0 +1,218 @@ +dnl as-python.m4 0.1.0 +dnl autostars m4 macro for python checks + +dnl From Andrew Dalke +dnl Updated by James Henstridge +dnl Updated by Andy Wingo to loop through possible pythons +dnl Updated by Thomas Vander Stichele to check for presence of packages/modules + +dnl $Id: as-python.m4,v 1.1.1.1 2007-04-27 02:45:16 iovar Exp $ + +# AS_PATH_PYTHON([MINIMUM-VERSION]) + +# Adds support for distributing Python modules and packages. To +# install modules, copy them to $(pythondir), using the python_PYTHON +# automake variable. To install a package with the same name as the +# automake package, install to $(pkgpythondir), or use the +# pkgpython_PYTHON automake variable. + +# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as +# locations to install python extension modules (shared libraries). +# Another macro is required to find the appropriate flags to compile +# extension modules. + +# If your package is configured with a different prefix to python, +# users will have to add the install directory to the PYTHONPATH +# environment variable, or create a .pth file (see the python +# documentation for details). + +# If the MINIMUM-VERSION argument is passed, AS_PATH_PYTHON will +# cause an error if the version of python installed on the system +# doesn't meet the requirement. MINIMUM-VERSION should consist of +# numbers and dots only. + +# Updated to loop over all possible python binaries by Andy Wingo +# <wingo@pobox.com> + +AC_DEFUN([AS_PATH_PYTHON], + [ + dnl Find a version of Python. I could check for python versions 1.4 + dnl or earlier, but the default installation locations changed from + dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages + dnl in 1.5, and I don't want to maintain that logic. + + dnl should we do the version check? + ifelse([$1],[], + [AC_PATH_PROG(PYTHON, python python2.1 python2.0 python1.6 python1.5)], + [ + AC_MSG_NOTICE(Looking for Python version >= $1) + changequote(<<, >>)dnl + prog=" +import sys, string +minver = '$1' +pyver = string.split(sys.version)[0] # first word is version string +# split strings by '.'. just compare textually to allow for versions like +# 2.4.1a0 +minver = string.split(minver, '.') +pyver = string.split(pyver, '.') +# we can now do comparisons on the two lists: +if pyver >= minver: + sys.exit(0) +else: + sys.exit(1)" + changequote([, ])dnl + + python_good=false + for python_candidate in python python2.2 python2.1 python2.0 python2 python1.6 python1.5; do + unset PYTHON + AC_PATH_PROG(PYTHON, $python_candidate) 1> /dev/null 2> /dev/null + + if test "x$PYTHON" = "x"; then continue; fi + + if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC; then + AC_MSG_CHECKING(["$PYTHON":]) + AC_MSG_RESULT([okay]) + python_good=true + break; + else + dnl clear the cache val + unset ac_cv_path_PYTHON + fi + done + ]) + + if test "$python_good" != "true"; then + AC_MSG_ERROR([No suitable version of python found]) + fi + + AC_MSG_CHECKING([local Python configuration]) + + dnl Query Python for its version number. Getting [:3] seems to be + dnl the best way to do this; it's what "site.py" does in the standard + dnl library. Need to change quote character because of [:3] + + AC_SUBST(PYTHON_VERSION) + changequote(<<, >>)dnl + PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"` + changequote([, ])dnl + + + dnl Use the values of $prefix and $exec_prefix for the corresponding + dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made + dnl distinct variables so they can be overridden if need be. However, + dnl general consensus is that you shouldn't need this ability. + + AC_SUBST(PYTHON_PREFIX) + PYTHON_PREFIX='${prefix}' + + AC_SUBST(PYTHON_EXEC_PREFIX) + PYTHON_EXEC_PREFIX='${exec_prefix}' + + dnl At times (like when building shared libraries) you may want + dnl to know which OS platform Python thinks this is. + + AC_SUBST(PYTHON_PLATFORM) + PYTHON_PLATFORM=`$PYTHON -c "import sys; print sys.platform"` + + + dnl Set up 4 directories: + + dnl pythondir -- where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behaviour + dnl is more consistent with lispdir.m4 for example. + dnl + dnl Also, if the package prefix isn't the same as python's prefix, + dnl then the old $(pythondir) was pretty useless. + + AC_SUBST(pythondir) + pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages + + dnl pkgpythondir -- $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + dnl Maybe this should be put in python.am? + + AC_SUBST(pkgpythondir) + pkgpythondir=\${pythondir}/$PACKAGE + + dnl pyexecdir -- directory for installing python extension modules + dnl (shared libraries) Was PYTHON_SITE_EXEC in previous betas. + + AC_SUBST(pyexecdir) + pyexecdir=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages + + dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) + dnl Maybe this should be put in python.am? + + AC_SUBST(pkgpyexecdir) + pkgpyexecdir=\${pyexecdir}/$PACKAGE + + AC_MSG_RESULT([looks good]) +]) + +dnl AS_PYTHON_IMPORT(PACKAGE/MODULE, [ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND, [PREAMBLE, [POSTAMBLE]]]]) +dnl Try to import the given PACKAGE/MODULE + +AC_DEFUN([AS_PYTHON_IMPORT], +[ + dnl Check if we can import a given module. + dnl Requires AS_PATH_PYTHON to be called before. + + AC_MSG_CHECKING([for python module $1]) + + prog=" +import sys + +try: + $4 + import $1 + $5 + sys.exit(0) +except ImportError: + sys.exit(1) +except SystemExit: + raise +except Exception, e: + print ' Error while trying to import $1:' + print ' %r: %s' % (e, e) + sys.exit(1)" + +if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC +then + AC_MSG_RESULT(found) + ifelse([$2], , :, [$2]) +else + AC_MSG_RESULT(not found) + ifelse([$3], , :, [$3]) +fi +]) + +dnl a macro to check for ability to create python extensions +dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) +dnl function also defines PYTHON_INCLUDES +AC_DEFUN([AM_CHECK_PYTHON_HEADERS], + [ + AC_REQUIRE([AM_PATH_PYTHON]) + AC_MSG_CHECKING(for headers required to compile python extensions) + + dnl deduce PYTHON_INCLUDES + py_prefix=`$PYTHON -c "import sys; print sys.prefix"` + py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` + PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" + + if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" + fi + AC_SUBST(PYTHON_INCLUDES) + + dnl check if the headers exist: + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" +AC_TRY_CPP([#include <Python.h>],dnl +[AC_MSG_RESULT(found) +$1],dnl +[AC_MSG_RESULT(not found) +$2]) +CPPFLAGS="$save_CPPFLAGS" +]) diff --git a/qt-recordmydesktop/m4/as-version.m4 b/qt-recordmydesktop/m4/as-version.m4 new file mode 100644 index 0000000..343f408 --- /dev/null +++ b/qt-recordmydesktop/m4/as-version.m4 @@ -0,0 +1,59 @@ +dnl version.m4 0.0.6 +dnl autostars m4 macro for versioning +dnl thomas@apestaart.org +dnl +dnl AS_VERSION(PACKAGE, PREFIX, MAJOR, MINOR, MICRO, NANO, ACTION_IF_NO_NANO, ACTION_IF_NANO) +dnl example +dnl AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2,) +dnl for a 0.3.2 release version +dnl +dnl this macro +dnl - defines [$PREFIX]_MAJOR, MINOR and MICRO +dnl - if NANO is empty, then we're in release mode, else in cvs/dev mode +dnl - defines [$PREFIX], VERSION, and [$PREFIX]_RELEASE +dnl - executes the relevant action +dnl - AC_SUBST's PACKAGE, VERSION, [$PREFIX] and [$PREFIX]_RELEASE +dnl as well as the little ones +dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents +dnl maintainer mode from running ok +dnl +dnl don't forget to put #undef [$2] and [$2]_RELEASE in acconfig.h + +AC_DEFUN([AS_VERSION], +[ + PACKAGE=[$1] + [$2]_MAJOR=[$3] + [$2]_MINOR=[$4] + [$2]_MICRO=[$5] + NANO=[$6] + [$2]_NANO=$NANO + if test "x$NANO" = "x" || test "x$NANO" = "x0"; + then + AC_MSG_NOTICE(configuring [$1] for release) + VERSION=[$3].[$4].[$5] + [$2]_RELEASE=1 + dnl execute action + ifelse([$7], , :, [$7]) + else + AC_MSG_NOTICE(configuring [$1] for development with nano $NANO) + VERSION=[$3].[$4].[$5].$NANO + [$2]_RELEASE=0.`date +%Y%m%d.%H%M%S` + dnl execute action + ifelse([$8], , :, [$8]) + fi + + [$2]=$VERSION + AC_DEFINE_UNQUOTED([$2], "$[$2]", [Define the version]) + AC_SUBST([$2]) + AC_DEFINE_UNQUOTED([$2]_RELEASE, "$[$2]_RELEASE", [Define the release version]) + AC_SUBST([$2]_RELEASE) + + AC_SUBST([$2]_MAJOR) + AC_SUBST([$2]_MINOR) + AC_SUBST([$2]_MICRO) + AC_SUBST([$2]_NANO) + AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define the package name]) + AC_SUBST(PACKAGE) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define the version]) + AC_SUBST(VERSION) +]) diff --git a/qt-recordmydesktop/m4/common.mk b/qt-recordmydesktop/m4/common.mk new file mode 100644 index 0000000..e6b86a1 --- /dev/null +++ b/qt-recordmydesktop/m4/common.mk @@ -0,0 +1,28 @@ +clean-local: + @rm -rf _trial_temp + +test: + @make check -C flumotion/test + +check-docs: + @make check -C doc/reference + +coverage: + @trial --coverage coverage -R flumotion.test + @$(PYTHON) common/show-coverage.py _trial_temp/coverage/flumotion.* + +fixme: + tools/fixme | less -R + +release: dist + make $(PACKAGE)-$(VERSION).tar.bz2.md5 + +# generate md5 sum files +%.md5: % + md5sum $< > $@ + +# generate a sloc count +sloc: + sloccount flumotion | grep "(SLOC)" | cut -d = -f 2 + +.PHONY: test diff --git a/qt-recordmydesktop/m4/py-compile-destdir b/qt-recordmydesktop/m4/py-compile-destdir new file mode 100755 index 0000000..e85695e --- /dev/null +++ b/qt-recordmydesktop/m4/py-compile-destdir @@ -0,0 +1,153 @@ +#!/bin/sh +# py-compile - Compile a Python program + +# modified by thomasvs to have DESTDIR support so rpm packages have correct +# compiled-in paths + +scriptversion=2004-01-12.23 + +# Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +if [ -z "$PYTHON" ]; then + PYTHON=python +fi + +basedir= + +#echo "THOMAS: args: $*" +loop=true +while test "x$loop" = "xtrue" +do + case "$1" in + --basedir) + basedir=$2 + if test -z "$basedir"; then + echo "$0: Missing argument to --basedir." 1>&2 + exit 1 + fi + shift 2 + ;; + --destdir) + destdir=$2 + if test -z "$destdir"; then + echo "$0: Missing argument to --destdir." 1>&2 + exit 1 + fi + shift 2 + ;; + -h|--h*) + cat <<\EOF +Usage: py-compile [--help] [--version] [--basedir DIR] FILES..." + +Byte compile some python scripts FILES. This should be performed +after they have been moved to the final installation location + +Report bugs to <bug-automake@gnu.org>. +EOF + exit 0 + ;; + -v|--v*) + echo "py-compile $scriptversion" + exit 0 + ;; + *) + loop=false + ;; + esac +done + +if [ $# = 0 ]; then + echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 + exit 1 +fi + +# if basedir was given, then it should be prepended to filenames before +# byte compilation. +if [ -z "$basedir" ]; then + trans=" path = file" +else + trans=" path = os.path.join('$basedir', file)" +fi + +# if destdir was given, then it should be stripped from path when storing +# the intended file name +if [ -z "$destdir" ]; then + transdfile=" dfile = path" +else + transdfile=" + if path.startswith('$destdir'): + dfile = path.split('$destdir')[1] + else: + dfile = path + " +fi +#echo "THOMAS: args after parse: $*" +#echo THOMAS: transdfile: $transdfile + +$PYTHON -c " +import sys, os, string, py_compile + +files = '''$*''' +# print 'THOMAS: files: %s' % files +print 'Byte-compiling python modules...' +for file in string.split(files): +$trans + # print 'THOMAS: looking at file %s for path %s' % (file, path) +$transdfile + # print 'THOMAS: dfile: %s' % dfile + if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): + continue + print file, + sys.stdout.flush() + # print 'THOMAS: compiling path %s' % path + py_compile.compile(path, dfile=dfile) +print" || exit $? + +# this will fail for python < 1.5, but that doesn't matter ... +$PYTHON -O -c " +import sys, os, string, py_compile + +files = '''$*''' +print 'Byte-compiling python modules (optimized versions) ...' +for file in string.split(files): +$trans +$transdfile + if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): + continue + print file, + sys.stdout.flush() + py_compile.compile(path, dfile=dfile) +print" 2>/dev/null || : + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/qt-recordmydesktop/m4/pychecker.mk b/qt-recordmydesktop/m4/pychecker.mk new file mode 100644 index 0000000..1e1f72a --- /dev/null +++ b/qt-recordmydesktop/m4/pychecker.mk @@ -0,0 +1,43 @@ +# include this snippet for the pychecker stuff +# Makefile.am needs to define +# PYCHECKER_WHITELIST +# and +# PYCHECKER_BLACKLIST + +# we redirect stderr so we don't get messages like +# warning: couldn't find real module for class SSL.Error (module name: SSL) +# which can't be turned off in pychecker +pycheckersplit: + @echo running pychecker on each file ... + @for file in $(filter-out $(PYCHECKER_BLACKLIST),$(wildcard $(PYCHECKER_WHITELIST))); \ + do \ + PYTHONPATH=`pwd` \ + pychecker -Q -F misc/pycheckerrc \ + `ls $(top_srcdir)/misc/setup.py 2> /dev/null` \ + `ls $(top_srcdir)/misc/pycheckerhelp.py 2> /dev/null` \ + $$file \ + > /dev/null 2>&1; \ + if test $$? -ne 0; then \ + echo "Error on $$file"; \ + pychecker -Q -F misc/pycheckerrc \ + `ls $(top_srcdir)/misc/setup.py 2> /dev/null` \ + `ls $(top_srcdir)/misc/pycheckerhelp.py 2> /dev/null` \ + $$file; break; fi; \ + done + +pychecker: + @echo running pychecker ... + @PYTHONPATH=`pwd` \ + pychecker -Q -F misc/pycheckerrc \ + `ls $(top_srcdir)/misc/setup.py 2> /dev/null` \ + `ls $(top_srcdir)/misc/pycheckerhelp.py 2> /dev/null` \ + $(filter-out $(PYCHECKER_BLACKLIST),$(wildcard $(PYCHECKER_WHITELIST)))\ + 2> /dev/null || make pycheckerverbose + +pycheckerverbose: + @echo running pychecker ... + PYTHONPATH=`pwd` \ + pychecker -F misc/pycheckerrc \ + `ls $(top_srcdir)/misc/setup.py 2> /dev/null` \ + `ls $(top_srcdir)/misc/pycheckerhelp.py 2> /dev/null` \ + $(filter-out $(PYCHECKER_BLACKLIST),$(wildcard $(PYCHECKER_WHITELIST))) diff --git a/qt-recordmydesktop/m4/python.mk b/qt-recordmydesktop/m4/python.mk new file mode 100644 index 0000000..244df22 --- /dev/null +++ b/qt-recordmydesktop/m4/python.mk @@ -0,0 +1,11 @@ +py_compile = $(top_srcdir)/m4/py-compile-destdir --destdir $(DESTDIR) + +#if HAVE_PYCHECKER +#check-local: $(PYCHECKER_FILES) +# if test ! -z "$(PYCHECKER_FILES)"; \ +# then \ +# PYTHONPATH=$(top_srcdir):$(top_builddir) \ +# pychecker -Q -F $(top_srcdir)/misc/pycheckerrc \ +# $(PYCHECKER_FILES); \ +# fi +#endif diff --git a/qt-recordmydesktop/po/ChangeLog b/qt-recordmydesktop/po/ChangeLog new file mode 100644 index 0000000..da54a01 --- /dev/null +++ b/qt-recordmydesktop/po/ChangeLog @@ -0,0 +1,15 @@ +2006-09-24 gettextize <bug-gnu-gettext@gnu.org> + + * POTFILES.in: New file. + +2006-09-24 gettextize <bug-gnu-gettext@gnu.org> + + * Makefile.in.in: New file, from gettext-0.14.5. + * boldquot.sed: New file, from gettext-0.14.5. + * en@boldquot.header: New file, from gettext-0.14.5. + * en@quot.header: New file, from gettext-0.14.5. + * insert-header.sin: New file, from gettext-0.14.5. + * quot.sed: New file, from gettext-0.14.5. + * remove-potcdate.sin: New file, from gettext-0.14.5. + * Rules-quot: New file, from gettext-0.14.5. + diff --git a/qt-recordmydesktop/po/LINGUAS b/qt-recordmydesktop/po/LINGUAS new file mode 100644 index 0000000..e392cc3 --- /dev/null +++ b/qt-recordmydesktop/po/LINGUAS @@ -0,0 +1,12 @@ +ar +ca +de +el +es +fr +it +ja +pt +pt_BR +ru +tr diff --git a/qt-recordmydesktop/po/Makefile.in.in b/qt-recordmydesktop/po/Makefile.in.in new file mode 100644 index 0000000..6538049 --- /dev/null +++ b/qt-recordmydesktop/po/Makefile.in.in @@ -0,0 +1,218 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> +# +# This file file be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. +# +# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman <jacob@ximian.com> to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize +# +# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool +# +# We have the following line for use by intltoolize: +# INTLTOOL_MAKEFILE + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +SHELL = /bin/sh + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +top_builddir = .. +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datadir = @datadir@ +datarootdir = @datarootdir@ +libdir = @libdir@ +DATADIRNAME = @DATADIRNAME@ +itlocaledir = $(prefix)/$(DATADIRNAME)/locale +subdir = po +install_sh = @install_sh@ +# Automake >= 1.8 provides @mkdir_p@. +# Until it can be supposed, use the safe fallback: +mkdir_p = $(install_sh) -d + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +XGETTEXT = @XGETTEXT@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist +GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot + +ALL_LINGUAS = @ALL_LINGUAS@ + +PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi) + +POFILES=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.po "; done) + +DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES) +EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS + +POTFILES = \ +#This Gets Replace for some reason + +CATALOGS=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) + +.SUFFIXES: +.SUFFIXES: .po .pox .gmo .mo .msg .cat + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && gencat $@ $*.msg + + +all: all-@USE_NLS@ + +all-yes: $(CATALOGS) +all-no: + +$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(GENPOT) + +install: install-data +install-data: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + $(mkdir_p) $(DESTDIR)$(itlocaledir) + if test -n "$(PO_LINGUAS)"; then \ + linguas="$(PO_LINGUAS)"; \ + else \ + linguas="$(ALL_LINGUAS)"; \ + fi; \ + for lang in $$linguas; do \ + dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $$dir; \ + if test -r $$lang.gmo; then \ + $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $(srcdir)/$$lang.gmo as" \ + "$$dir/$(GETTEXT_PACKAGE).mo"; \ + fi; \ + if test -r $$lang.gmo.m; then \ + $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ + echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ + else \ + if test -r $(srcdir)/$$lang.gmo.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ + $$dir/$(GETTEXT_PACKAGE).mo.m; \ + echo "installing $(srcdir)/$$lang.gmo.m as" \ + "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ + else \ + true; \ + fi; \ + fi; \ + done + +# Empty stubs to satisfy archaic automake needs +dvi info tags TAGS ID: + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + if test -n "$(PO_LINGUAS)"; then \ + linguas="$(PO_LINGUAS)"; \ + else \ + linguas="$(ALL_LINGUAS)"; \ + fi; \ + for lang in $$linguas; do \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ + done + +check: all $(GETTEXT_PACKAGE).pot + +mostlyclean: + rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp + rm -f .intltool-merge-cache + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES stamp-it + rm -f *.mo *.msg *.cat *.cat.m *.gmo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f Makefile.in.in + +distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: $(DISTFILES) + dists="$(DISTFILES)"; \ + extra_dists="$(EXTRA_DISTFILES)"; \ + for file in $$extra_dists; do \ + test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ + done; \ + for file in $$dists; do \ + test -f $$file || file="$(srcdir)/$$file"; \ + ln $$file $(distdir) 2> /dev/null \ + || cp -p $$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + if test -n "$(PO_LINGUAS)"; then \ + linguas="$(PO_LINGUAS)"; \ + else \ + linguas="$(ALL_LINGUAS)"; \ + fi; \ + for lang in $$linguas; do \ + echo "$$lang:"; \ + result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ + if $$result; then \ + if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.gmo failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +Makefile POTFILES: stamp-it + @if test ! -f $@; then \ + rm -f stamp-it; \ + $(MAKE) stamp-it; \ + fi + +stamp-it: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/qt-recordmydesktop/po/Makevars b/qt-recordmydesktop/po/Makevars new file mode 100644 index 0000000..32692ab --- /dev/null +++ b/qt-recordmydesktop/po/Makevars @@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = diff --git a/qt-recordmydesktop/po/POTFILES.in b/qt-recordmydesktop/po/POTFILES.in new file mode 100644 index 0000000..0eb1996 --- /dev/null +++ b/qt-recordmydesktop/po/POTFILES.in @@ -0,0 +1,8 @@ +# List of source files which contain translatable strings. + + +src/rmdSimple.py +src/rmdPrefsWidget.py +src/rmdTrayPopup.py +src/rmdTrayIcon.py +src/rmdMonitor.py
\ No newline at end of file diff --git a/qt-recordmydesktop/po/ar.po b/qt-recordmydesktop/po/ar.po new file mode 100644 index 0000000..4dff2f7 --- /dev/null +++ b/qt-recordmydesktop/po/ar.po @@ -0,0 +1,513 @@ +# Arabic Translation +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2006-12-02\n" +"Last-Translator: Linostar <linostar@users.sourceforge.net>\n" +"Language-Team: Arabic <anas_h_34 [at] hotmail [dot] com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"الرجاء الانتظار بينما يتم إنتاج تصويرك\n" +"تحذير!!!\n" +"إن ضغطت زر الإلغاء أو أغلقت النافذة،\n" +"فلن يمكنك متابعة هذه المعالجة بعدها!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "انتهى" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "الكتابة فوق الملفات الموجودة" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "مجلد العمل" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "مشهد/مشاهد في الثانية" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "إنتاج فوري" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "بدون ضغط" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "تمثيل جزئي سريع" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "لقطات كاملة في كل مشهد" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "القنوات" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "التردد" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "الجهاز" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "العرض" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "مؤشر الفأرة" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "MIT - ملحق Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "جودة الفيديو" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "جودة الصوت" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "حذف مشاهد (الإنتاج)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "التأخير عند البداية (بالثواني)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "عادي" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "أبيض" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "أسود" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "لا شيء" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "مفعل" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "معطل" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "الملفات" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "الأداء" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "الصوت" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "متفرقات" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"افتراضياً، عندما تحاول التسجيل باسم ملف موجود مسبقاً،\n" +"سيتم إعادة تسمية الملف الجديد\n" +"(كمثال إن حاولت التسجيل باسم الملف out.ogg الموجود من قبل\n" +"سيتم تغيير اسم الجديد إلى out.ogg.1).\n" +"عند التأشير على هذا الصندوق، سيتم تعطيل هذا الأسلوب والكتابة فوق الملف " +"القديم.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "المجلد الذي يحتفظ بالملفات المؤقتة." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"الإنتاج سيتم متزامناً مع التصوير.\n" +"هذا سيتطلب طاقة معالجة كبيرة جداً.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"عدم القيام بضغط الملفات المؤقتة.\n" +"عند التفعيل، سيحتاج البرنامج إلى طاقة معالجة أقل،\n" +"على حساب مساحة القرص الصلب.\n" +"هذا الخيار فعال فقط عند تعطيل الإنتاج الفوري." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"هذا الخيار، عند تفعيله، سيحمل البرنامج على طلب\n" +"طاقة معالجة أقل، ولكنه قد يجعل الألوان تبدو أقل وضوحاً." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"هذا الخيار يجب تفعيله عند تصوير النوافذ الثلاثية الأبعاد.\n" +"إنه مفعل تلقائياً عند تصوير مدير نوافذ\n" +"ثلاثي الأبعاد معروف.\n" +" " + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "عدد قنوات الصوت." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "تردد الصوت." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "جهاز صوت ALSA، والذي يُستخدم في تسجيل الصوت." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "الاتصال بسيرفر إكس." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"مؤشر الفأرة الذي سيتم رسمه.\n" +"العادي هو المؤشر الحقيقي الذي تراه أثناء التصوير،\n" +"بينما الأبيض والأسود هما مؤشران مزيفان، يرسمهما البرنامج.\n" +"يمكنك أيضاً تعطيل رسم المؤشر." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"استخدام ملحق ذاكرة MIT المتشاركة، طالما كان ملائماً،\n" +"وفقاً لبقية إعدادات البرنامج.\n" +"تعطيل هذا الخيار ليس مستحباً،\n" +"كما أنه سيؤدي إلى إبطاء البرنامج بشدة." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "متقدم" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "اختيار النافذة" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "اضغط هنا لاختيار نافذة لتصويرها" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"اضغط لبدء التصوير.\n" +"هذه النافذة ستخفي نفسها." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"اضغط لاختيار اسم الملف وموقعه.\n" +"الاسم الافتراضي هو out.ogg في مجلد الموطن خاصتك.\n" +"إن كان الملف موجوداً مسبقاً، فسيحمل الملف الجديد\n" +"رقماً إضافياً بجانب اسمه\n" +"(هذا الأسلوب يمكن تغييره)" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "اضغط للخروج من البرنامج." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"اختر جودة الفيديو لتصويرك.\n" +"(الجودة المنخفضة ستحتاج طاقة معالجة إضافية،\n" +"لذا يُستحسن عند الإنتاج الفوري،\n" +"تركها على القيمة 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "تفعيل/تعطيل تسجيل الصوت." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "اختيار جودة الصوت لتسجيلك." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "اضغط هنا للوصول إلى خيارات أخرى." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"اضغط بالزر الأيسر واسحب، على صورة المعاينة،\n" +"لاختيار المساحة التي ستصورها.\n" +"اضغط بالزر الأيمن لإزالة تحديد المساحة." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "تم بنجاح" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "خطأ أثناء تمرير الوسائط." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "فشل بدء المنتج (vorbis أو theora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "تعذر فتح/إعداد بطاقة الصوت." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "ملحق Xdamage غير موجود." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "ملحق الذاكرة المتشاركة غير موجود." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "ملحق Xfixes غير موجود." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "فشل XInitThreads." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "لا يوجد متغيرة $DISPLAY عامة، ولا شيء محدد كوسيطة." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "لا يمكن الاتصال بسيرفر إكس." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "عمق الألوان ليس 24 بت في البكسل." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "تحديد النافذة خاطئ." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "لا يمكن ربط ذاكرة متشاركة بالمعالجة." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "لا يمكن فتح الملف للكتابة." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "خطأ في التقسيم" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"تم الانتهاء من التصوير.\n" +"recordMyDesktop انتهى مع تقرير الحالة" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "الوصف" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"تم الانتهاء من التصوير.\n" +"recordMyDesktop انتهى مع خطأ غير معروف" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "واجهة رسومية لبرنامج recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"جميع الحقوق محفوظة لـ John Varouhakis\n" +"الحقوق محفوظة جزئياً لـ 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"الحقوق محفوظة جزئياً لـ Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Linostar (linostar@users.sourceforge.net)" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_اختيار المساحة على الشاشة" + +#~ msgid "Shared Threshold" +#~ msgstr "العتبة المتشاركة" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "عدد مرات تغير الصورة في الثانية، حيث يتم سحب المشاهد\n" +#~ "عن طريق ملحق ذاكرة MIT المتشاركة.\n" +#~ "هذا الخيار غير فعال عند استخدام خيار اللقطات الكاملة.\n" diff --git a/qt-recordmydesktop/po/ca.po b/qt-recordmydesktop/po/ca.po new file mode 100644 index 0000000..f0c560f --- /dev/null +++ b/qt-recordmydesktop/po/ca.po @@ -0,0 +1,521 @@ +# translation of ca.po to català +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Pere Olivares <pere.olivares@gmail.com>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: ca\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2007-01-07 00:00+0100\n" +"Last-Translator: Pere Olivares <pere.olivares@gmail.com>\n" +"Language-Team: català <tradgnome@softcatala.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Si us plau esperi mentre es codifica la vostra gravació\n" +"¡¡¡AVIS!!!\n" +"Si prems Anul·lar o tancas aquesta finestra,\n" +" aquest procés no podrà ser continuat!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "complet" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Sobrescriure fitxers existents" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Directori de treball" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Captures per segon" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Codificació al vol" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Sense compresió" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Submostreig ràpid" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Captures senceres en cada marc" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Canals" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Freqüència" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Dispositiu" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Pantalla" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Cursor del ratolí" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "Extensió MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Qualitat de vídeo" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Qualitat de so" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Descarta captures (codificador)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Retard abans de començar (segons)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Blanc" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Negre" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Cap" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Habilitat" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Deshabilitat" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Fitxers" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Rendiment" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "So" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Miscel·lània" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Per defecte, si intenteu desar un fitxer amb un nom que\n" +" existeix, el fitxer no serà renombrat \n" +"(per exemple si intentes desar-ho com out.ogg i ja existeix, el fitxer es " +"renombrarà com a out.ogg.1)\n" +"Activant aquesta casella es desactivarà aquest comportament i el fitxer " +"antic serà borrat.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Directori on es desaran els fitxers temporals." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Codificar simultàniament en grabar.\n" +"Això requereix molta mes capacitat de procés.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"No s'aplicarà la compresió en els fitxers temporals.\n" +"Si s'habilita, el programa necessitarà menys capacitat de\n" +"proces, a canvi d'usar mes espai de disc.\n" +"Aquesta opció nomes es vàlida si esta desactivada la codificació al vol." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Habilitant aquesta opció el programa necessitarà menys\n" +"capacitat de procés, però pot fer que els colors es vegin mes borrosos." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Aquesta opció s'ha d'habilitar en grabar finestres 3D.\n" +"També s'auto-activara al grabar amb un\n" +"gestor de finestras 3D conegut.\n" +" " + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Nombre de canals d'àudio." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Freqüència de so." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Dispositiu de so ALSA utilitzat per grabar el so." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Connexió al servidor X." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"El cursor del ratolí que serà dibuixat.\n" +"Normal es el cursor que veus mentres graves\n" +"mentre que blanc i negre són cursors falsos, dibuixats pel programa.\n" +"També pots deshabilitat el dibuix del cursor." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Usa l'extensió de memòria MIT compartida quan sigui apropiat,\n" +"depenent de la resta de configuracions del programa.\n" +"No es recomana deshabilitar aquesta opció,\n" +"per que pot alentir severament el programa." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Avançat" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Selecciona la finestra" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Feu clic aquí per seleccionar la finestra a gravar" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Feu clic per començar a gravar.\n" +"Aquesta finestra s'ocultarà." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Feu clic per triar un nom de fitxer i localització\n" +"El nom predeterminat és out.ogg en la teva carpeta home\n" +"Si ja existeix el fitxer el nou tindrà\n" +"un numero afegit al seu nom\n" +"(aquest comportament es pot canviar)" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Feu clic per sortir del programa." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Tria la qualitat de vídeo de la vostra gravació\n" +"(Menor qualitat necessitarà més capacitat de procés,\n" +"pel que es recomana, quan es grava al vol,\n" +"deixar-lo en 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Habilita/inhabilita la gravació de so." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Selecciona la qualitat d'àudio de la gravació." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Feu clic aquí per accedir a més opcions." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Per seleccionar l'àrea de gravació:\n" +"en la previsualització feu clic i arrossegueu\n" +"amb el botó esquerre del ratolí.\n" +"\n" +"Per a reiniciar l'area, fes clic amb el botó\n" +"dret del ratolí." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Èxit" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "S'ha produït un error en analitzar els arguments." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Ha fallat la iniciacio del codificador (vorbis o theora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "N s'ha pogut obrir/configurar la targeta de so." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "L'extensió Xdamage no està present." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "L'extensió de memòria compartida no esta present." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "L'extensió Xfixes no esta present" + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "fallida de XInitThreads." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" +"No existeix la variable d'entorn $DISPLAY ni s'ha especificat ninguna com " +"argument." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "No es pot connectar al servidor X." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "La profunditat de color no es de 24bpp." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Especificació de finestra impròpia." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr " No es pot adjuntar memòria compartida al proces." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "No es pot obrir el fitxer per escriptura." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Fallida de Segmentació" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"La gravació ha acabat.\n" +"recordMyDesktop ha sortit amb estatus" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Descripció" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"La gravació ha acabat.\n" +"recordMyDesktop ha surti't amb un codi\n" +"d'error desconegut" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "una interfície per recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Traducció al Català: Pere Olivares <pere.olivares@gmail.com>" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Seleccioneu un àrea en la pantalla" + +#~ msgid "Shared Threshold" +#~ msgstr "Llindar compartit" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "Quantitat de canvis en la pantalla, dins d'un marc, que incrementa\n" +#~ "la captura a través de la memòria MIT compartida.\n" +#~ "Aquesta opció no té efecte si s'està usant l'opció de captures " +#~ "completes.\n" diff --git a/qt-recordmydesktop/po/de.po b/qt-recordmydesktop/po/de.po new file mode 100644 index 0000000..44b8d71 --- /dev/null +++ b/qt-recordmydesktop/po/de.po @@ -0,0 +1,531 @@ +# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2006 Daniel Ziegenberg
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <daniel.ziegenberg@gmx.net>, 2006.
+#
+#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2006-12-04 17:35+0100\n" +"Last-Translator: Daniel Ziegenberg <daniel.ziegenberg@gmx.net>\n" +"Language-Team: German <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Bitte warten während Ihre Aufnahme encodiert wird.\n" +"Achtung!!!\n" +"Wenn sie >Beenden< drücken oder dieses Fenster schliessen,\n" +"kann der Prozess nicht wieder hergestellt werden!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "vollständig" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Vorhandene Dateien überschreiben" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Arbeits-Dateipfad" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Bilder pro Sekunde" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Während der Aufnahme encodieren" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Zero Kompression" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "schnelles Subsampling" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Immer Vollbilder pro Frame" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Kanäle" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Frequenz" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Gerät" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Anzeige" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Mauszeiger" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "MIT-Shm Erweiterung" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Video Qualität" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Audio Qualität" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Ausgelassene Frames(encoder)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Pause am Beginn(secs)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Weiss" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Schwarz" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Nichts" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Ausgewählt" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Nicht ausgewählt" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Datei(en)" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Leistung" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Audio" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Misc" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Wenn Sie versuchen unter einem schon bestehenden Dateinamen zu speichern,\n" +"wird die Datein automatisch umbenannt.\n" +"(Zum Beispiel: Die Datei out.ogg, die bereits besteht,\n" +"wird auf out.ogg.1 umbenannt.)\n" +"Durch das aktivieren dieser Checkbox, wird oben genanntes Verhalten " +"geändert\n" +"und die bereits vorhandene Datei überschrieben.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Dateipfad der temporären Dateien" + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Während der Aufnahme encodieren.\n" +"Diese Einstellung wird wesentlich mehr Rechnerleistung benötigen.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Komprimierung nicht auf temporäre Dateien anwenden.\n" +"Wenn diese Funktion ausgewählt wurde, braucht der Computer weniger " +"Rechnerleistung,\n" +"im Ausgleich dazu aber mehr Speicherplatz.\n" +"Diese Option ist nur verfügbar, wenn das >Encodieren während der Aufnahme< " +"deaktiviert wurde." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Diese Einstellung (wenn aktiv) benötigt weniger Rechnerleistung,\n" +"aber es können unter Umständen leicht fleckige Farben entstehen." + +#: src/rmdPrefsWidget.py:59 +#, fuzzy +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Diese Option sollte aktiviert sein, wenn 3D Fenster aufgenommen werden.\n" +"Sie ist auch automatisch aktiviert,\n" +"wenn mit bekannten 3D Fenster Manager aufgenommen wird.\n" + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Anzahl der Audiokanäle" + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Audiofrequenz" + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "ALSA audio Gerät, das zur Audioaufnahme verwendet wird." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Verbindung zum Xserver." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"Mauszeiger, der angezeigt wird.\n" +"Mit >Normal< ist der Systemmauszeiger gemeint,der während der Aufnahme " +"angezeigt wird,\n" +"wo hingegen >Schwarz< und >Weiß< Mauszeiger sind, die vom Programm angezeigt " +"werden." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Vernwenden Sie, entsprechend der anderen Programm Einstellungen, immer wenn " +"möglich,\n" +"die MIT-Shared memory Erweiterung.\n" +"Diese Option zu deaktivieren ist nicht empfehlenswert\n" +"da starke Leistungeinbusen des Programms die Folge sind." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Erweitert" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Wählen Sie bitte ein Fenster aus" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "" +"Bitte hier klicken, um ein Fenster auszuwählen, dessen Inhalt aufgenommen " +"werden soll." + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Bitte hier klicken um die Aufnahme zu starten.\n" +"Das Fenster wird während der Aufnahme unsichtbar" + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Bitte klicken Sie hier um den Dateinamen und Dateipfad auszuwählen.\n" +"Standartmässig ist out.ogg in Ihrem Home-Verzeichnis ausgewähl.\n" +"Wenn der ausgewählte Dateiname schon besteht, wird eine fortlaufende Nummer " +"angehäng. \n" +"(diese Standardoption kann geändert werden)" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Hier klicken um das Programm zu beenden." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Bitte die Videoqualität der Aufnahme auswählen.\n" +"(Eine niedrigere Qulität bedeutet mehr freie Rechnerleistung\n" +"daher wird empfohlen die Einstellung >Während der Aufnahme encodieren<,\n" +"bei 100 zu belassen.)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Audio Aufnahme aktivieren/deaktivieren" + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Wählen Sie bitte die Audioqualität der Aufnahme aus." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Bitte hier klicken um weitere Optionen ein zu stellen zu können." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Bitte im gerade angezeigten Fenster links klicken und ziehen,\n" +"um einen Bereich zum Aufnehmen auszuwählen.\n" +"Rechts klicken um den ausgwählten Bereich zurückzusetzen" + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Erfolgreich" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Fehler während dem Lesen der Argumente." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Fehler während der Intialisierung des Encoders." + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Fehler während des Öffnens/Konfigurieren der Soundkarte." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Xdamage Erweiterung nicht Erreichbar." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Shared memory Erweiterung nicht Erreichbar." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Xfixes Erweiterung nicht Erreichbar." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "Fehler in XInitThreads" + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" +"Keine §DISPLAY Umgebungsvariable gefunden und keine als Argument angegeben." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Verbindung zum Xserver schlug fehl" + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "Die Farbtiefe beträgt nicht 24bpp" + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Ungeeignete Fenstereinstellung." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Shared memory Erweiterung konnte nicht gestartet werden." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Konnte Datei zum Schreiben nicht öffnen." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Fehler in der Segmenatation." + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"Aufnahme wurde beendet.\n" +"recordMyDesktop wurde beendet unter Status" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Beschreibung" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"Aufnahme wurde beendet.\n" +"recordMyDesktop wurde beendet und unbekanntem\n" +"Fehlercode" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "Eine grafische Oberfläche für recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Urheberrecht (C) 2005-2006 Zaheer Abbas Merali, John N. Laliberte\n" +"Urheberrecht (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "" +"Daniel ZiegenbergFür Fragen und Beschwerden bitte an daniel.ziegenberg@gmx." +"net\n" +"Der Gebrauch der Deutschen oder Englischen Sprache\n" +"wäre ein Vorteil für eine schnellst mögliche Antwort.\n" +"Wenn eventuelle Übersetzungsungereimtheiten auftreten, bin ich für etwaige " +"Verbesserungsvorschläge immer zu offen.\n" +"Wünsche eine angenehme und hilfreiche Verwendung dieser Freien Software." + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Wählen Sie einen Bereich am Bildschirm aus." + +#~ msgid "Shared Threshold" +#~ msgstr "Shared Threshold" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "Anzahl der Bildwiederholungen, während eines Frames,\n" +#~ "die eine Wiederherstellung des screenshots in der MIT-Shared memory " +#~ "Erweiterung auslösen.\n" +#~ "Diese Option wird keine Auswirkungen zeigen, wenn die Option >Immer " +#~ "Vollbilder pro Frame< aktiviert ist.\n" diff --git a/qt-recordmydesktop/po/el.po b/qt-recordmydesktop/po/el.po new file mode 100644 index 0000000..23f6b20 --- /dev/null +++ b/qt-recordmydesktop/po/el.po @@ -0,0 +1,524 @@ +# translation of el.po to +# translation of messages.po to +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# John Varouhakis <johnvarouhakis@gmail.com>, 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: el\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2007-03-18 18:12+0200\n" +"Last-Translator: John Varouhakis <johnvarouhakis@gmail.com>\n" +"Language-Team: <el@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Παρακαλώ περιμένετε να τελειώσει η κωδικοποίηση. \n" +"ΠΡΟΣΟΧΗ!!! \n" +"Εάν ακυρώσετε αυτήν την διαδικασία ή κλείσετε \n" +"το παράθυρο, δεν είναι δυνατή η συνέχιση." + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "ολοκληρώθηκε" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Διαγραφή υπαρχόντων αρχείων." + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Φάκελος προσωρινών αρχείων." + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Στιγμιότυπα ανά δευτερολεπτο. " + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Ταυτόχρονη κωδικοποίηση." + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Μηδενική συμπίεση." + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Γρήγορη υποδειγματοληψία " + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Πλήρεις λήψεις σε κάθε στιγμιότυπο" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Κανάλια" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Συχνότητα" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Συσκευή" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Display" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Δείκτης ποντικιού" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "Επέκταση MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "Μαζί με τις διακοσμήσεις παραθύρου." + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "Βοηθήματα." + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "Σημείωση της περιοχής καταγραφής στην οθόνη." + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Ποιότητα Εικόνας" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Ποιότητα Ήχου" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Αποβολή στιγμιοτύπων (κωδικοποιητής)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Καθυστέρυση έναρξης" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Κανονικό" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Λευκό" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Μαύρο" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Κανένα" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Ενεργό" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Ανενεργό" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Αρχεία" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Απόδοση" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Ήχος" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Διάφορα" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Εκ προεπιλογής, εάν προσπαθήσετε να σώσετε υπό ένα όνομα αρχείου, το οποίο " +"υπάρχει ήδη, το νέο θα μετονομαστεί (Για παράδειγμα, εάν προσπαθήσετε να " +"σώσετε ως out.ogg και αυτό το αρχείο υπάρχει, το νέο αρχείο θα ονομαστεί out." +"ogg.1) Ενεργοποιώντας αυτήν την επιλογή, η προαναφερθείς συμπεριφορά " +"απενεργοποιείται και το παλιό αρχείο απλά διαγράφεται.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Φάκελος όπου θα αποθηκευτούν τα προσωρινά αρχεία." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Η κωδικοποίηση να γίνεται ταυτόχρονα με την εγγραφή. Εάν ενεργοποιηθεί αυτή " +"η επιλογή, το πρόγραμμα θα απαιτεί περισσότερη επεξεργαστική ισχύ.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Απενεργοποίηση συμπίεσης στα προσωρινά αρχεία. Εάν ενεργοποιηθεί αυτή η " +"επιλογή, το πρόγραμμα θα απαιτεί λιγότερη επεξεργαστική ισχύ, αλλά " +"περισσότερο χώρο στον δίσκο. Η επιλογή αυτή έχει νόημα, μόνο εάν η " +"ταυτόχρονη κωδικοποίηση είναι ανενεργή." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Εάν ενεργοποιηθεί αυτή η επιλογή, το πρόγραμμα θα απαιτεί λιγότερη " +"επεξεργαστική ισχύ, αλλά μπορεί να κάνει τα χρώματα να εμφανίζονται πιο θολά." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Αυτή η επιλογή θα πρέπει να ενεργοποιείται όταν καταγράφονται παράθυρα με " +"τρισδιάστατο περιεχόμενο. Επίσης, αυτή η επιλογή ενεργοποιείται αυτόματα, " +"όταν καταγράφεται ένας γνωστός τρισδιάστατος διαχειριστής παραθύρων." + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Αριθμός καναλιών ήχου." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Συχνότητα ήχου." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Συσκευή ήχου ALSA, η οποία χρησιμοποιείται για την εγγραφή." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Σύνδεση με τον διακομιστή X." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"Ο δείκτης του ποντικιού που θα εγγραφεί. Η επιλογή \"κανονικός\" είναι για " +"τον πραγματικό δείκτη, που εμφανίζεται κατά την εγγραφή. Οι επιλογές \"λευκός" +"\" και \"μαύρος\", είναι ψεύτικοι δείκτες, που ζωγραφίζονται από το ίδιο το " +"πρόγραμμα. Μπορείτε, επίσης, να απενεργοποιήσετε εντελώς την καταγραφή του " +"δείκτη." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Χρήση της επέκτασης κοινής μνήμης, όποτε χρειάζεται, ανάλογα με τις " +"υπόλοιπες επιλογές του προγράμματος. Η απενεργοποίηση αυτής της επιλογής δεν " +"συνίσταται, καθώς μπορεί να επιβραδύνει το πρόγραμμα σημαντικά." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" +"Όταν επιλέγετε ένα παράθυρο μέσω του κουμπιού \"Επιλογή Παραθύρου\",\n" +"να συμπεριλαμβάνονται οι διακοσμήσεις στην περιοχή εγγραφής." + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" +"Ενεργοποίηση ή απενεργοποίηση των βοηθημάτων,\n" +"όπως είναι αυτό.\n" +"(Απαιτεί επανεκίνηση)" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" +"Εμφάνιση ενος πλαισίου στην οθόνη, \n" +"γύρω από την περιοχή που θα καταγραφεί.\n" +"(Αυτό το πλαίσιο θα παραμείνει κατά την διάρκεια της \n" +"καταγραφής.)" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" +"Ενεργοποιήστε αυτήν την επιλογή για να\n" +"γίνει η εγγραφή του ήχου μέσω του JACK.\n" +"Ο JACK πρέπει να τρέχει, για να ληφθούν οι\n" +"υποψήφιες, για εγγραφή, θύρες. Ο ήχος που θα\n" +"ληφθεί από την καθεμία, θα εγγράφεταισε ένα\n" +"ξεχωριστό κανάλι. Το recordMyDesktop πρέπει\n" +"να εχει μεταγλωτιστεί με υποστήριξη για τον\n" +"JACK, για να λειτουργήσει αυτή η επιλογή." + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "Χρήση του JACK για την εγγραφή του ήχου." + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" +"Επιλέξατε τις θύρες οι οποίες θέλετε να εγγραφούν\n" +"(κρατήστε το Ctrl για να επιλέξετε περισσοτερες απο μία):" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "Διαθέσιμες θύρες" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "Το πρόγραμμα jack_lsp δεν επέστρεψε θύρες." + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "Βεβαιωθείτε ότι ο jackd τρέχει." + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Για Προχωρημένους" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Επιλογή Παραθύρου" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Κάνετε κλικ εδώ για να επιλέξετε ένα παράθυρο για εγγραφή" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "Κάνετε κλικ εδώ για να αρχίσει η εγγραφή. Αυτό το παράθυρο θα κρυφτεί." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Πατήστε εδώ για να επιλέξετε όνομα και τοποθεσία. Η προεπιλογή είναι out.ogg " +"στον φάκελο του χρήστη. Εάν το αρχείο υπάρχει ήδη, τότε θα παρατεθεί ένας " +"αριθμός στο όνομα του νέου αρχείου (αυτή η συμπεριφορά μπορεί να αλλαχθεί). " + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Κάνετε κλικ για να τερματίσετε την εφαρμογή. " + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Επιλογή ποιότητας εικόνας. (Χαμηλότερη ποιότητα απαιτεί μεγαλύτερη " +"επεξεργαστική ισχύ, οπότε συνίσταται, όταν η κωδικοποίηση γίνεται ταυτόχρονα " +"με την εγγραφή, αυτή η επιλογή να παραμείνει στο μέγιστο)." + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Ενεργοποίηση/Απενεργοποίηση Ήχου" + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Επιλέξετε την ποιότητα του ήχου." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Κάνετε κλικ εδώ για να φανερωθούν περισσότερες επιλογές." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Πατήστε το αριστερό πλήκτρο και \n" +"σύρετε το ποντίκι στην προεσκόπηση,\n" +"για να επιλέξετε περιοχή εγγραφής.\n" +"Κάνετε δεξί κλικ για να επαναφέρετε την προεπιλογή." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Επιτυχία" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Σφάλμα κατά το διάβασμα των επιλογών." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Η αρχικοποίηση του κωδικοποιητή απέτυχε." + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Αποτυχία ανοίγματος/ρύθμισης συσκευής ήχου." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Η επέκταση Xdamage δεν βρέθηκε." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Η επέκταση κοινής μνήμης δεν βρέθηκε." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Η επέκταση Xfixes δεν βρέθηκε." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "Η κλήση της XInitThreads απέτυχε." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" +"Η μεταβλητή κελύφους $DISPLAY δεν βρέθηκε, ενώ δεν έχει καθοριστεί ούτε μέσω " +"των επιλογών του προγράμματος." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Η σύνδεση με τον διακομιστή X απέτυχε." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "Το βάθος χρώματος δεν είναι 24bpp." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Ακατάλληλη επιλογή παραθύρου." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Αδυναμία προσκόλλησης κοινής μνήμης στη διεργασία." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Αδυναμία ανοίγματος του αρχείου για εγγραφή." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" +"Αδυναμία φόρτωσης της βιβλιοθήκης του Jack\n" +"(σφάλμα κατά την κλήση των dlopen/dlsym στην\n" +"libjack.so)." + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "Αδυναμια δημιουργίας νέου πελάτη." + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "Αδυναμια ενεργοποίησης του πελάτη." + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "Σφάλμα κατά την δημιουργία/σύνδεση των θυρών." + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Σφάλμα κατάτμησης." + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"Η εγγραφή τελείωσε.\n" +"Το πρόγραμμα επέστρεψε με κατάσταση " + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Περιγραφή " + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"Η εγγραφή τελείωσε.\n" +"Το πρόγραμμα επέστρεψε με άγνωστη\n" +"κατάσταση " + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "Ένα γραφικό περιβάλλον για το recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Πνευματικά Δικαιώματα (C) Γιάννης Βαρουχάκης\n" +"Πνευματικά Δικαιώματα ορισμένων τμημάτων (C) 2005-6 Zaheer Abbas Merali, " +"John N. Laliberte\n" +"Πνευματικά Δικαιώματα ορισμένων τμημάτων (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Γιάννης Βαρουχάκης \t<johnvarouhakis@gmail.com>" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Επιλογή Περιοχής στην οθόνη" + diff --git a/qt-recordmydesktop/po/es.po b/qt-recordmydesktop/po/es.po new file mode 100644 index 0000000..b887d2b --- /dev/null +++ b/qt-recordmydesktop/po/es.po @@ -0,0 +1,536 @@ +# translation of es.po to +# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# <>, 2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: es\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2007-03-19 12:44-0400\n" +"Last-Translator: <>\n" +"Language-Team: <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Por favor, espere mientras se codifica la grabación\n" +"¡¡AVISO!!\n" +"Si pulsa Cancelar o cierra esta ventana,\n" +"no se puede reanudar el proceso." + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "completo" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Sobreescribir archivos existentes" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Directorio de trabajo" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Cuadros por Segundo" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Codificar al vuelo" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Sin compresión" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Submuestreo rápido" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Capturas completas en cada cuadro" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Canales" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Frecuencia" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Dispositivo" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Display" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Cursor del ratón" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "extensión MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "Incluir Decoraciones de Ventanas" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "Cajas de ayuda" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "Contorno en el Area de Captura en Pantalla" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Calidad de vídeo" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Calidad de sonido" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Descarta Cuadros(codificando)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Retardo antes de empezar (segs)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Blanco" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Negro" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Ninguno" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Habilitado" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Deshabilitado" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Archivos" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Rendimiento" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Sonido" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Miscelánea" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Si intenta guardar un archivo con un nombre ya existente\n" +"se renombrará de automáticamente\n" +"(por ejemplo si intenta gurardarlo como out.ogg y ya existe, su archivo se " +"renombrará como out.ogg.1).\n" +"Activando esta casilla se desactiva este comportamiento y el archivo antiguo " +"es sobreescrito.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Directorio donde se guardarán los archivos temporales." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Codificar simultáneamente al grabar.\n" +"Requiere mucha más capacidad de proceso.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"No aplica la compresión en los archivos temporales.\n" +"Si se habilita, el programa necesitará menos capacidad de proceso,\n" +"a cambio de usar más espacio de disco.\n" +"Esta opción sólo es válida si está desactivada la codificación al vuelo." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Habilitando esta opción el programa necesitará menos\n" +"capacidad de proceso, pero puede dejar los colores algo más feos." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Esta opción se debe habilitar al grabar ventanas 3d.\n" +"También se auto-activa al grabar con un\n" +"gestor de ventanas 3d conocido.\n" +"." + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Número de canales de audio." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Frecuencia de sonido." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Dispositivo de sonido ALSA usado para grabar el sonido." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Conexión al servidor X." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"El cursor del ratón a dibujar.\n" +"Normal es el cursor que sueles ver mientras grabas,\n" +"mientras que blanco y negro son cursores falsos, dibujados por el programa.\n" +"También puedes dehabilitar el dibujo del cursor." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Usa la extensión de memoria MIT-Shared cuando sea apropiado,\n" +" depende del resto de configuraciones del programa.\n" +"No se recomienda deshabilitar esta opción,\n" +"porque puede hacer mucho más lento el programa." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" +"Cuando se seleccione una ventana mediante el botón\n" +"\"Seleccionar Ventana\", incluir las decoraciones de la ventana\n" +"en el área de grabación." + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" +"Activar desactivar las cajas de ayuda, como este.\n" +"(Require reiniciar)" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "Dibuja un marco en la pantalla, alrededor del área\n" +"que será capturada.\n" +"(Este marco se mantendrá durante la grabación.)" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" +"Activar esta opción para grabar el audio a través de\n" +"JACK. El servidor Jack debe estar corriendo para poder\n" +"obtener los puertos cuales serán grabados. \n" +"El audio grabado de cada uno será escrito en su canal propio.\n" +"recordMyDesktop debe ser compilado con soporte\n" +"JACK para que esta opción funcione." + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "Usar Jack para la captura de audio" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" +"Seleccione los puertos de los cuales quiere grabar\n" +"(mantenga presionado Ctrl para múltiple selección):" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "Puertos disponibles" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "jack_lsp no retorno ningún puerto" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "Aseguresé de que jackd este corriendo." + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Avanzado" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Seleccionar Ventana" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Haz clic para selecionar la ventana a grabar" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Haz clic para empezar a grabar.\n" +"Esta ventana se ocultará." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Haz clic para elegir un nombre de archivo.\n" +"El nombre predeterminado es out.ogg en su carpeta home.\n" +"Si ya existe el archivo, el nuevo tendrá\n" +"un número añadido a su nombre\n" +"(este comportamiento se puede cambiar )" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Haz clic para salir del programa." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Elige la calidad de vídeo de tu grabación.\n" +"(Menor calidad necesitará más capacidad de proceso,\n" +"por lo que se recomienda, al grabar al vuelo,\n" +"dejarlo en 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Habilita/Deshabilita la grabación de sonido." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Elige la calidad de audio de tu grabación." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Haz clic aquí para acceder a más opciones." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Para seleccionar el área de grabación:\n" +"en la previsualización haz clic y arrastra\n" +"con el botón izquierdo del ratón.\n" +"\n" +"Para reiniciar el área, clic con el botón\n" +"derecho del ratón. " + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Éxito" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Error al parsear los argumentos." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Falló la inicialización del codificador (vorbis o theora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "No se pudo abrir/configurar la tarjeta de sonido." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "La extensión Xdamage no está presente." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "La extensión de memoria compartida no está presente." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "La extensión Xfixes no está presente." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreads falló." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" +"No existe la variable de entorno $DISPLAY ni se ha especificado ninguna como " +"argumento." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "No se puede conectar al servidor X." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "La profundidad de color no es de 24bpp." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Especificación de ventanas impropia." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "No se pudo adjuntar memoria compartida al proceso." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "No se pudo abrir el archivo para escritura." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "No se puede cargar la librería jack (dlopen/dlsym error en libjack.so)" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "No se puede crear nuevo cliente" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "No se puede activar el cliente" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "Falla en registro/conexión de puerto" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Fallo de segmento." + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"La grabación ha terminado.\n" +"recordMyDesktop ha salido con estado" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Descripción" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"La grabación ha terminado.\n" +"recordMyDesktop ha salido con un código\n" +"de error desconocido" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "un interfaz gráfico para recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Porciones Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Porciones Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Traducción español: José L. Redrejo Rodríguez, Rolando Espinoza La Fuente" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Elige un área en la pantalla" + +#~ msgid "Shared Threshold" +#~ msgstr "Umbral compartido" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "Cantidad de cambios en la pantalla, dentro de un cuadro, que dispara\n" +#~ "la captura del pantallazo mediante la extensión de memoria MIT_Shared.\n" +#~ "Esta opción no tiene efecto si se está usando la opción de capturas " +#~ "completas.\n" diff --git a/qt-recordmydesktop/po/fr.po b/qt-recordmydesktop/po/fr.po new file mode 100644 index 0000000..207df6d --- /dev/null +++ b/qt-recordmydesktop/po/fr.po @@ -0,0 +1,526 @@ +# translation of fr.po to +# French translation of gfa +# Copyright (C) 2006 John Varouhakis <johnvarouhakis@gmail.com> +# This file is distributed under the same license as the gfa package. +# +# David Valot <ptitdav69@gmail.com>, 2006. +# Stephan Bellegy <sun.wukong@rx3.net>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: fr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2007-04-07 11:07+0200\n" +"Last-Translator: Stephan Bellegy <sun.wukong@rx3.net>\n" +"Language-Team: <fr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Veuillez patientez durant l'encodage de votre enregistrement\n" +"ATTENTION !!!\n" +"Si vous cliquez sur Annuler ou si vous fermez cette fenêtre,\n" +"le processus ne pourra pas être récupéré !" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "terminé" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Écraser les fichiers existants" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Répertoire de travail" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Images par seconde" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Encoder à la volée" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "compression nulle" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Sous-échantillonnage rapide" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Capture complète à chaque image" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Canaux" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Fréquence" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Périphérique" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Affichage" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Curseur de souris" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "Extension MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "Inclure les décorations de fenêtres" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "Astuces" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "Encadrer la zone de capture à l'écran" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Qualité vidéo" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Qualité sonore" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Sauter des images (encodeur)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Délai de démarrage (secs)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Blanc" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Noir" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Aucun" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Activé" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Désactivé" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Fichiers" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Performance" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Son" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Divers" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Par défaut, si vous essayez d'enregistrer sous un nom de fichier\n" +"qui existe déjà, le nouveau fichier sera renommé\n" +"(par exemple, si vous essayez d'enregistrer sous out.ogg et que ce fichier " +"existe déjà, votre fichier sera nommé out.ogg.1).\n" +"En activant ce choix, ce comportement sera désactivé et l'ancien fichier sera" +"écrasé.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Dossier où seront sauvegardés les fichiers temporaires." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Encoder en même temps que l'enregistrement.\n" +"Ceci requiert beaucoup plus de puissance de calcul.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Ne pas compresser les fichiers temporaires.\n" +"Si activé, le programme consommera moins de puissance de calcul,\n" +"mais plus d'espace sur le disque dur.\n" +"Cette option est uniquement valable lorsque l'encodage à la volée est " +"désactivé." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Si cette option est activée, le programme nécessitera moins\n" +"de puissance de calcul, mais le rendu des couleurs pourra être un " +"peu plus trouble." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Vous devriez activer cette option lors d'enregistrements de fenêtres 3D.\n" +"Cette option est par ailleurs automatiquement activée lors d'enregistrements\n" +"sous un gestionnaire de fenêtres 3D connu." + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Nombre de canaux audio." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Fréquence sonore." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Périphérique de son ALSA utilisé pour l'enregistrement du son." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Connexion au serveur X." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"Le curseur de souris qui sera dessiné.\n" +"« Normal » est le vrai curseur que vous voyez tout en enregistrant,\n" +"tandis que « Noir et Blanc » est un faux curseur, dessiné par le programme.\n" +"Vous pouvez également désactiver l'affichage du curseur." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Utiliser l'extension de mémoire MIT-Shared, lorsque nécessaire,\n" +" en fonction des autres paramètres du programme.\n" +"Désactiver cette option n'est pas recommandé,\n" +"car cela peut sévèrement ralentir le programme." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" +"Inclure les décorations de la fenêtre dans la zone d'enregistrement\n" +"lorsque cette fenêtre est sélectionnée via la bouton « Sélectionner la fenêtre »." + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" +"Activer ou désactiver les astuces telles que celle-ci.\n" +"(Nécessite un redémarrage de l'application)" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" +"Dessiner un cadre à l'écran autour de la zone\n" +"qui sera capturée.\n" +"(Son affichage perdurera le temps de l'enregistrement.)" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" +"Activer cette option pour enregistrer le son avec JACK.\n" +"Le serveur audio JACK doit être actif afin d'obtenir\n" +"les ports qui seront enregistrés.\n" +"Les signaux audio de chacun de ces ports seront\n" +"enregistrés dans des canaux séparés.\n" +"recordMyDesktop doit être compilé avec le support\n" +"de JACK pour que cette option fonctionne." + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "Utiliser JACK pour l'enregistrement sonore." + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" +"Sélectionner les ports à partir desquels vous voulez enregistrer\n" +"(maintenir la touche Ctrl enfoncée pour sélectionner\n" +"plusieurs entrées) :" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "Ports disponibles" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "jack_lsp n'a indiqué aucun port." + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "Assurez-vous que le serveur jackd est bien lancé." + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Avancé" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Sélectionner une fenêtre" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Cliquer ici pour sélectionner une fenêtre à capturer" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Cliquer pour démarrer l'enregistrement.\n" +"Cette fenêtre se masquera automatiquement." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Cliquer pour choisir un nom de fichier et un emplacement.\n" +"Par défaut c'est le fichier out.ogg dans votre dossier personnel.\n" +"Si ce fichier existe déjà, le nouveau sera suffixé\n" +"par un numéro (ce comportement peut être changé)." + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Cliquer pour quitter le programme." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Sélectionner la qualité vidéo de votre enregistrement.\n" +"(La basse qualité nécessitera plus de puissance de calcul,\n" +"il est donc recommandé, lorsque vous encodez à la volée,\n" +"de laisser cette valeur à 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Activer/Désactiver l'enregistrement du son." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Sélectionner la qualité audio de votre enregistrement." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Cliquer ici pour accéder à plus d'options." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Clic gauche puis glisser sur l'image de pré-visualisation,\n" +"pour sélectionner une zone à enregistrer.\n" +"Clic droit dessus pour annuler la sélection." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Succès" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Erreur en analysant les arguments." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "L'initialisation de l'encodeur a échoué (vorbis ou theora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Impossible d'accéder/configurer la carte son." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Extension Xdamage absente." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Extension mémoire partagée absente." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Extension Xfixes absente." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreads a échoué." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "La variable $DISPLAY n'est ni initialisée dans l'environnement ni passée en argument." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Impossible de se connecter au serveur X." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "La profondeur des couleurs doit être de 24 bits." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Spécifications de la fenêtre incorrectes." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Impossible d'allouer de la mémoire partagée au processus." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Impossible d'ouvrir le fichier en écriture." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "Impossible de charger la bibliothèque de JACK (dlopen/dlsym error on libjack.so)." + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "Impossible de créer un nouveau client." + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "Impossible d'activer le client." + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "Échec lors de la connexion au port." + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Erreur de segmentation" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"L'enregistrement est fini.\n" +"recordMyDesktop a terminé avec le statut" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Description" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"L'enregistrement est fini.\n" +"recordMyDesktop a terminé sur\n" +"un numéro d'erreur inconnu." + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "Une interface graphique pour recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Parties de Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Parties de Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "" +"Traduction française :\n" +"\tDavid Valot <ptitdav69@gmail.com>\n" +"\tSun Wukong <sun.wukong@rx3.net>" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Sélectionner une zone à l'écran" + diff --git a/qt-recordmydesktop/po/it.po b/qt-recordmydesktop/po/it.po new file mode 100644 index 0000000..b20fba9 --- /dev/null +++ b/qt-recordmydesktop/po/it.po @@ -0,0 +1,531 @@ +# translation of it.po to Italian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni 'voidnull' Scafora <linuxmania@gmail.com>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: it\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2007-03-29 23:55+0100\n" +"Last-Translator: Giovanni Scafora <linuxmania@gmail.com>\n" +"Language-Team: Arch Linux Italian Team <linuxmania@gmail.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Attendere fin quando la registrazione sarà terminata\n" +"ATTENZIONE!!!\n" +"Premendo su Cancella o chiudendo questa finestra,\n" +"il processo non potrà essere ripreso!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "completo" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Sovrascrivere i file esistenti" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Directory di lavoro" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Fotogrammi per secondo" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Codifica al volo" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Compressione zero" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Subsampling veloce" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Fotogrammi a schermo intero" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Canali" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Frequenza" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Dispositivo" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Display" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Cursore del mouse" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "Estensione MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "Includere le decorazioni della finestra" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "Suggerimenti" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "Contorno dell'area di registrazione" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Qualità video" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Qualità audio" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Scarta fotogrammi(encoder)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Ritardo all'avvio(in secondi)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normale" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Bianco" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Nero" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Nessuno" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Abilitato" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Disabilitato" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "File" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Prestazione" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Audio" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Varie" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Di default, quando si salva il lavoro utilizzando\n" +"il nome di un file già esistente, il nuovo file sarà\n" +"rinominato (per esempio se si provasse a salvare un\n" +"file con il nome out.ogg e questo file già esistesse,\n" +"il nuovo file sarà rinominato in out.ogg.1).\n" +"Abilitando questa opzione, questo comportamento\n" +"sarà disabilitato e i vecchi file saranno sovrascritti.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Directory dove saranno salvati momentaneamente i file." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Codifica simultaneamente con la registrazione.\n" +"Richiederà una maggior potenza di calcolo.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Non abilitare la compressione sui file temporanei.\n" +"Se abilitata, il programma richiederà minor potenza\n" +"di calcolo, ma maggior spazio sul disco rigido.\n" +"Questa opzione è valida solo quando la codifica\n" +"al volo è disabilitata." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Questa opzione, se abilitata, forzerà il programma a\n" +"richiedere minor potenza di calcolo, ma i colori\n" +"saranno meno definiti." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Questa opzione dovrebbe essere abilitata quando si\n" +"registra una finestra 3d.\n" +"Sarà automaticamente abilitata, quando si registra\n" +"un 3d window manager compositing conosciuto\n" +" " + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Numero dei canali audio." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Frequenza audio." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Dispositivo audio ALSA utilizzato per la registrazione dell'audio." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Connessione al server X." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"Il cursore del mouse che sarà visualizzato.\n" +"Normale, mostra il cursore che si vedrà durante la\n" +"registrazione, mentre nero e bianco sono dei finti\n" +"cursori, creati dal programma.\n" +"È possibile, inoltre, disabilitare la visualizzazione del cursore." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Utilizzare l'estensione MIT-Shared memory, ogni volta che\n" +"l'uso sia appropriato, in base alle impostazioni del\n" +"programma. Non è consigliabile disabilitare questa\n" +"opzione, in quanto può rallentare molto il programma." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" +"Quando si seleziona una finestra tramite il pulsante \"Seleziona finestra" +"\",\n" +"nell'area di registrazione saranno incluse queste decorazioni." + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" +"Abilitare o disabilitare i suggerimenti.\n" +"(Richiede il riavvio del programma)" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" +"Visualizza una linea sullo schermo, intorno\n" +"all'area che sarà catturata.\n" +"(Questa linea sarà visibile durante la registrazione.)" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" +"Abilitare questa opzione per registrare l'audio tramite\n" +"JACK. Il server Jack deve essere in funzione, per\n" +"rilevare le porte dalle quali registrare.\n" +"L'audio registrato, da ciascuna di queste porte,\n" +"sarà scritto sul rispettivo canale.\n" +"recordMyDesktop deve essere compilato con il supporto\n" +"a JACK, affinché questa opzione funzioni correttamente." + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "Usare Jack per la cattura dell'audio" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" +"Selezionare le porte dalle quali si desidera registrare\n" +"(Premere Ctrl per selezionare scelte multiple):" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "Porte disponibili" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "jack_lsp non ha rilevato porte disponibili." + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "Assicurarsi che jackd sia in funzione." + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Avanzate" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Selezionare una finestra" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Premere qui, per selezionare una finestra da registrare" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Premere qui, per avviare la registrazione.\n" +"Questa finestra sarà nascosta." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Premere qui, per scegliere il nome del file e dove salvarlo.\n" +"Il nome di default è out.ogg e sarà salvato all'interno\n" +"della vostra home. Qualora già esistesse, il nuovo\n" +"file sarà salvato utilizzando un numero come suffisso\n" +"(questo comportamento può essere modificato)" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Premere qui, per uscire dal programma." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Selezionare la qualità video della vostra registrazione.\n" +"(Una qualità più bassa richiederà una maggior potenza\n" +"di calcolo, per questo motivo, è consigliabile impostare\n" +"a 100 questo valore, durante l'encoding)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Abilitare o disabilitare la registrazione dell'audio." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Selezionare la qualità audio della registrazione." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Premere qui, per accedere ad ulteriori opzioni." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Per selezionare un'area da registrare, premere\n" +"il tasto sinistro del mouse e trascinarlo\n" +"sull'anteprima dell'immagine.\n" +"Per annullare, premere il tasto destro sull'anteprima." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Operazione riuscita con successo" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Si è verificato un errore durante l'analisi degli argomenti." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "" +"L'inizializzazione della codifica non è andata a buon\n" +"fine (controllare vorbis o theora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Impossibile accedere e/o configurare la scheda audio." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Impossibile trovare l'estensione Xdamage." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Impossibile trovare l'estensione Shared memory." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Impossibile trovare l'estensione Xfixes." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreads non è andato a buon fine." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" +"Non è stata specificata una variabile d'ambiente $DISPLAY come argomento." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Impossibile connettersi al server X." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "La profondità del colore non è di 24bpp." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Descrizione impropria della finestra." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Impossibile assegnare la memoria condivisa ai processi." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Impossibile aprire il file per la scrittura." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "Impossibile caricare la libreria di Jack (errore di libjack.so)." + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "Impossibile creare un nuovo client." + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "Impossibile attivare il client." + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "Impossibile registrare e/o connettersi." + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Segmentation Fault" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"La registrazione è terminata.\n" +"recordMyDesktop è uscito con lo stato" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Descrizione" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"La registrazione è terminata.\n" +"recordMyDesktop è uscito con un codice\n" +"di errore sconosciuto" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "Un'interfaccia grafica per recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Giovanni Scafora \t<linuxmania@gmail.com>" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Selezionare un'area sullo schermo" diff --git a/qt-recordmydesktop/po/ja.po b/qt-recordmydesktop/po/ja.po new file mode 100644 index 0000000..049bfba --- /dev/null +++ b/qt-recordmydesktop/po/ja.po @@ -0,0 +1,497 @@ +msgid "" +msgstr "" +"Project-Id-Version: recordmydesktop\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2006-12-07 23:36-0000\n" +"Last-Translator: Paul D <freethenewt@yahoo.co.uk>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Japanese\n" +"X-Poedit-Country: JAPAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"エンコードしている間、お待ちください。\n" +"ご注意!\n" +"キャンセルされる場合、進み直せない。" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "完了" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "ファイルを上書きする" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "現在のフォルダー" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "フレーム率" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "オンザフライエンコード" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "ゼロ圧縮" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "高速サブサンプル" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "毎フレームで完全サイズ画面録音(フルショット)" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "線(チャンネル)" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "周波数(サンプル率)" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "デバイス" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "画面" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "マウスカーサー" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "MIT-Shmエクステンション" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "ビデオ質" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "音質" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "エンコーダーはドロップフレーム" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "始めの遅れ(秒)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "普通" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "白" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "黒" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "なし" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "使用可能" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "使用禁止" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "ファイル" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "性能" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "音" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "他" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"ファイルはもうある場合では新しいファイル名は自動的に変化される\n" +"例えば、out.oggはある場合、新しいのはout.ogg.1になる。\n" +"この設定は選択されている場合、古いファイルは上書きされる。\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "仮ファイル保存ダイレクトリ" + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "登録すると同時にエンコードする(より負荷)\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"仮ファイルは圧縮しない。これは使用可能ならば、\n" +"負荷は低くなってディスク領域はより使われてしまう。\n" +"オンザフライ録音は無効ならばこの選択は有効" + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "このオプションは使用可能場合、負荷は低くなるが色は滲む可能性ある。" + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"3Dウィンドー登録する際、このオプションは使用可能されるはずだ。\n" +"知られる3D総合ウィンドー管理を登録される際、\n" +"自動的に使用可能される。\n" +" " + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "音線数" + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "音周波数(オーディオ・サンプル・レート)" + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "ALSA音録音する為のデバイス" + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "X-サーバーへの繋がり" + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"マウスポインタデザイン\n" +"登録中、普通に見れるデザイン\n" +"白や黒はプログラムに表示される偽物デザイン\n" +"ポインタ表示は禁止できる。" + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"MIT-シェアードメモリエクステンション適切に使用してください。\n" +"このオプションを使用禁止するのは勧めない。\n" +"プロセスは非常に遅くなる可能性ある。" + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "設定" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "ウィンドー選択" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "ウィンドー登録する為に、ここにクリックして下さい" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "クリックすると登録は始めるこのウィンドーは自動的に隠れる" + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"ファイル名や場所はクリックして下さい。既定値はホームフォルダーでのout.o" +"ggです。ファイルはもうある場合は、新しいのは番号をファイル名に加える事があ" +"る。(この動作は変化できる)。" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "クリックして終了" + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"ビデオ登録の質を選択してください。\n" +"質は低ければ低いほど負荷は高くなるので\n" +"エンコードする時、100度に設定して勧めです。" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "音の録音を有・無" + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "音の録音質の選択" + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "クリックして他の設定" + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"登録したい区域は下見画像\n" +"(プレービュー)に左クリックアンドドラッグして下さい。\n" +"リセットするために、下見画像に右クリックして下さい。" + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "成功" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "スイッチエラー" + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "エンコーダー起床エラー(vorbisかtheora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "音デバイスエラー" + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Xdamageエクステンションは無い" + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "シェアードメモリエクステンションは無い" + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Xfixesエクステンションは無い" + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreadsエラー(失敗)" + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "$DISPLAY 値は無い。スイッチとしても無い。" + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "X-サーバーに繋がれない" + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "色は24bppではない" + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "不適切ウインドー選択" + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "プルセスにシェアードメモリ繋がれなかった" + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "ファイル書き込みする為に開けなかった" + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "エラー" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"登録完了\n" +"マイデスクトップ登録の終了コードは" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "詳細" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"登録完了\n" +"マイデスクトップ登録の終了コードは不明" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-マイデスクトップ登録" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "マイデスクトップ登録の為のグラフィカルハンドル(フロントエンド)" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"著作権所有者はJohn Varouhakis\n" +"他の部分の著作権所有者は(C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"他の部分の著作権所有者は(C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "日本語訳はポールによる" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "画面範囲を選択して" + +#~ msgid "Shared Threshold" +#~ msgstr "シェアード限界" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "MITシェアードメモリを通して画面スクリーンショット検索きっかけの\n" +#~ "フレーム内画面変更量\n" +#~ "フルサイズ画面録音(フルショット)使用可能になる場合、\n" +#~ "このオプションは作用なし。\n" diff --git a/qt-recordmydesktop/po/messages.pot b/qt-recordmydesktop/po/messages.pot new file mode 100644 index 0000000..7400bf8 --- /dev/null +++ b/qt-recordmydesktop/po/messages.pot @@ -0,0 +1,450 @@ +# 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 <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "" + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "" + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "" + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "" + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "" + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "" + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "" + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "" + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "" + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "" + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "" + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "" + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "" + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "" + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "" + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "" + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "" + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "" + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "" + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "" + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "" diff --git a/qt-recordmydesktop/po/pt.po b/qt-recordmydesktop/po/pt.po new file mode 100644 index 0000000..0f120cf --- /dev/null +++ b/qt-recordmydesktop/po/pt.po @@ -0,0 +1,506 @@ +msgid "" +msgstr "" +"Project-Id-Version: gg\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2006-12-17 22:44+0100\n" +"Last-Translator: Joel Ramos <joelpramos@gmail.com>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Sérgio SantosLanguage-Team: \n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Por favor espere enquanto a sua gravação é codificada\n" +"AVISO!!\n" +"Se primir cancelar ou fechar esta janela,\n" +"o processo não pode ser continuado!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "completo" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Sobrepor Ficheiros Existentes" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Directoria de trabalho" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Frames por segundo" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Encode On the Fly" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Compressão zero" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Conversão rápida de RGB para YUV" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Screenshots completas a cada frame" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Canais" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Frequência" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Dispositivo de Som" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Dispositivo" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Cursor do rato" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "Extensão MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Qualidade de Video" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Qualidade de Som" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Perder frames(codificador)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Atraso ao iniciar(secs)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Branco" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Preto" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Nenhum" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Activo" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Inactivo" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Ficheiros" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Performance" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Som" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Variado" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Por definição, se tentar salvar sobre um ficheiro que já\n" +"exite, o novo ficheiro irá ser renomeado\n" +"(por exemplo, se tentar salvar como out.ogg e esse ficheiro existir, passará " +"a chamar-se out.ogg.1).\n" +"Ao activar esta opção, o ficheiro antigo será substituido.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Directoria onde os ficheiros temporários serão salvados" + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Codificar simultaniamente enquanto grava.\n" +"Isto irá necessitar de mais poder de processamento.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Não aplicar compressão nos ficheiros temporários.\n" +"Se estiver activo, o programa irá necessitar de menos poder de" + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Se esta opção estiver activo, o prgrama irá necessitar de menos\n" +"poder de processamento, mas as cores poder ficar distorcidas." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Esta opção deve estar activa quando gravar janelas 3d.\n" +"Também é activa automaticamente quandoquando há um window manager 3d" + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Número de canais de audio" + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Frequência sonora" + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Dispositivo de som ALSA, usado para gravar som" + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Conecção ao Xserver" + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"O cursor do rato será desenhado.\n" +"Normal é para ver o cursor real enquanto grava,\n" +"enquando branco e preto serão cursores falsos, desenhados pelo prgramaTambém " +"pode desactivar o desenho do cursor." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Usar a memória partilhada MIT extendida, sempre que aproriado,\n" +"dependendo do resto das opções do programa.\n" +"Desactivar esta opção não é recomando,\n" +"pois pode por o programa mais lento." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Avançado" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Seleccionar Janela" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Clique aqui para seleccionar a janela para gravar" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Clique aqui para começar a gravar.\n" +"Esta janela irá esconder-se automaticamente." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Clique aqui para escolher o nome do\n" +"ficheiro e a sua localização.\n" +"O default é out.ogg na pasta home.\n" +"Se o ficheiro já existir, será criado\n" +"um novo com um numero no nome\n" +"(este comportamento pode ser mudado )" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Clique aqui para sair do programa" + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Seleccione a qualidade do video da sua gravação.\n" +"(Menor qualidade vai necessitar de maior processamento,\n" +"por isso é recomendado, quando fizer encoding on the fly,\n" +"deixar a 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Activar/Desactivar gravação de som" + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Seleccione a qualidade de audio da sua gravação" + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Clique aqui para aceder a mais opções" + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Clique com o botão esquerdo e arraste,\n" +"na imagem de pré-visualização,\n" +"para seleccionar uma área para gravar.\n" +"Clique com o botão direito, para limpar." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Sucesso" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Erro enquanto analisava os argumentos" + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Inicialização do codificador falhou (tanto vorbis como therora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Impossível abrir/configurar a placa de som" + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Extensão Xdamage inexistente" + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Memória partilhada inexistente" + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Extensão Xfixes inexistente" + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreads falhou" + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "Sem a variavel ambiente $DISPLAY e sem argumentos especificados." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Impossivel conectar ao Xserver" + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "Profundidade da cor não é 24bpp" + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Janela improriada especificada" + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Impossivel anexar memória partilhada ao processo" + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Impossivel abrir o ficheiro para escrever" + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Falha de Segmentação" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"Gravação terminada.\n" +"recordMyDesktop saíu com sucesso" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Descrição" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"Gravação terminada.\n" +"recordMyDesktop saíu com um erro desconhecido" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "Uma interface gráfica para o recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Joel Ramos e Sérgio Matias" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Seleccionar área no ecrã" + +#~ msgid "Shared Threshold" +#~ msgstr "Shared Threshold" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "Quantidade de ecrã, em que a frame é gravada em screenshot\n" +#~ "através da extensão MIT-Shared memory.\n" +#~ "Esta opção não tem efeito usando a opção full shots.\n" diff --git a/qt-recordmydesktop/po/pt_BR.po b/qt-recordmydesktop/po/pt_BR.po new file mode 100644 index 0000000..9bb7175 --- /dev/null +++ b/qt-recordmydesktop/po/pt_BR.po @@ -0,0 +1,512 @@ +# Caio Alonso <lancelotz.skywalker@gmail.com>, 2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: gtk-recordMyDesktop 0.3.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2006-12-24 10:48-0200\n" +"Last-Translator: Caio Alonso <lancelotz.skywalker@gmail.com>\n" +"Language-Team: Portuguese/Brazil <gnome-l10n-br@listas.cipsga.org.br>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Por favor espere enquanto a sua gravação é codificada\n" +"AVISO!!\n" +"Se primir cancelar ou fechar esta janela,\n" +"o processo não pode ser continuado!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "completo" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Sobrepor Arquivos Existentes" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Diretório de trabalho" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Quadros por segundo" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Encode On the Fly" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Compressão zero" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Conversão rápida de RGB para YUV" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Screenshots completas a cada quadro" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Canais" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Frequência" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Dispositivo de Som" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Dispositivo" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Cursor do mouse" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "Extensão MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Qualidade de Vídeo" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Qualidade de Som" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Perder quadros(codificador)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Atraso ao iniciar(segundos)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Branco" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Preto" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Nenhum" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Ativado" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Desativado" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Arquivos" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Performance" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Som" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Variado" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Por padrão, se tentar salvar sobre um arquivo que já\n" +"existe, o novo arquivo irá ser renomeado\n" +"(por exemplo, se tentar salvar como out.ogg e esse arquivo existir, passará " +"a chamar-se out.ogg.1).\n" +"Ao ativar esta opção, o arquivo antigo será substituido.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Diretório onde os arquivos temporários serão salvos." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Codificar simultâneamente enquanto grava.\n" +"Isso irá requerir um maior poder de processamento.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Não aplicar compressão nos arquivos temporários.\n" +"Se estiver ativo, o programa irá requerir um menor poder de\n" +"processamento, em troca de mais espaço no disco.\n" +"Esta opção é válida somente quando encoding-on-the-fly está\n" +"desativado." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Se esta opção estiver ativa, o programa irá necessitar de menos\n" +"poder de processamento, mas as cores poder ficar distorcidas." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Esta opção deve estar ativa quando gravar janelas 3d.\n" +"Também é ativada automaticamente quando há um\n" +"gerenciador de janelas 3d." + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Número de canais de audio" + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Frequência sonora" + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Dispositivo de som ALSA, usado para gravar som" + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Conexão ao Xserver" + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"O cursor do mouse será desenhado.\n" +"Normal é para ver o cursor real enquanto grava,\n" +"enquando branco e preto são cursores falsos, desenhados\n" +"pelo programa. Também pode-se desativar o cursor." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Usar a memória MIT compartilhada, sempre que aproriado,\n" +"dependendo do resto das opções do programa.\n" +"Desativar esta opção não é recomendado,\n" +"pois o deixar o programa mais lento." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Avançado" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Selecionar Janela" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Clique aqui para selecionar a janela para gravar" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Clique aqui para começar a gravação.\n" +"Esta janela irá esconder-se automaticamente." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Clique aqui para escolher o nome do\n" +"arquivo e a sua localização.\n" +"O padrão é out.ogg na pasta home.\n" +"Se o arquivo já existir, será criado\n" +"um novo com um numero no nome\n" +"(este comportamento pode ser mudado )" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Clique aqui para sair do programa." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Selecione a qualidade do video da sua gravação.\n" +"(Uma menor qualidade vai necessitar maior processamento,\n" +"por isso é recomendado, quando utilizar encoding on the fly,\n" +"deixar em 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Ativar/Desativar gravação de som." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Selecione a qualidade do audio de sua gravação." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Clique aqui para acessar mais opções." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Clique com o botão esquerdo e arraste\n" +" na imagem de pré-visualização,\n" +"para selecionar uma área para gravar.\n" +"Clique com o botão direito para limpar a área." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Sucesso" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Erro enquanto analisava os argumentos" + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Inicialização do codificador falhou (tanto vorbis como therora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Impossível abrir/configurar a placa de som" + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Extensão Xdamage inexistente" + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Memória compartilhada inexistente" + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Extensão Xfixes inexistente" + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreads falhou" + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "Sem a variável ambiente $DISPLAY e sem argumentos especificados." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Impossível conectar ao Xserver" + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "Profundidade da cor não é 24bpp" + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Janela imprópria especificada." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Impossível anexar memória partilhada ao processo" + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Impossível abrir o arquivo para escrever" + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Falha de Segmentação" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"Gravação terminada.\n" +"recordMyDesktop saíu com sucesso" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Descrição" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"Gravação terminada.\n" +"recordMyDesktop saiu com um erro desconhecido" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "Uma interface gráfica para o recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "Caio Alonso" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Selecionar área na tela" + +#~ msgid "Shared Threshold" +#~ msgstr "Shared Threshold" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "Quantidade de ecrã, em que a frame é gravada em screenshot\n" +#~ "através da extensão MIT-Shared memory.\n" +#~ "Esta opção não tem efeito usando a opção full shots.\n" diff --git a/qt-recordmydesktop/po/ru.po b/qt-recordmydesktop/po/ru.po new file mode 100644 index 0000000..8d839d1 --- /dev/null +++ b/qt-recordmydesktop/po/ru.po @@ -0,0 +1,519 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# JekaDer <yourname@mail.ru>, 2007. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2007-04-15 20:00+0200\n" +"Last-Translator: JekaDer <yourname@mail.ru>\n" +"Language-Team: Russian <ru@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Please wait while your recording is being encoded\n" +"ВНИМАНИЕ!!!\n" +"Если Вы нажмёте кнопку ОТМЕНА, или закроете окно,\n" +"данные будут утеряны безвозвратно!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "готово" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Переписать существующие файлы" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Рабочая директория" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Кадров в секунду" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Кодитовать на лету" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Без сжатия" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Быстрое масштабирование" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Полные снимкм каждый кадр" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Каналы" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Частота" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Устройство" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Экран" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Указатель мыши" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "расширение MIT-Shm" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "Включать обрамление окна" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "Подсказки" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "Обвести область захвата на экране" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Качество картинки" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Качество звука" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Опускать кадры(при кодировании)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Задержка перед запуском (сек)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Обычный" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Белый" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Чёрный" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Никакого" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Вкл" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Откл" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Файлы" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Быстродействие" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Звук" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Разное" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"По умолчанию, при попытке сохранить, используя имя существующего файла,\n" +"новый файл будет переименован\n" +"(к примеру, если назвать выходной файл out.ogg а такой файл уже существует," +"то файл будет создан под названием out.ogg.1).\n" +"При включении опции, новый файл будет записан поверхсуществующего.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Директория для временных файлов" + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Кодировать во время записи.\n" +"Это затребует намного больше ресурсов\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Не сжимать временные файлы\n" +"Включив эту опцию, можно снизить нагрузку на процессор,\n" +"однако понадобится больше места на диске.\n" +"Опция работает только при отключённом сжатии на лету." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Включив эту опцию, можно снизить нагрузку на процессор,\n" +"но она может размыть цвета." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Эту опцию нужно включить при захвате 3D окон.\n" +"Она включается автоматически, при работе\n" +"3D композитного менеджера окон.\n" +" " + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Число аудиоканалов." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Частота звука" + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Звуковое устройство ALSA, используемое для захвата звука" + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Соединение с Xserver" + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"Указатель мыши в записи.\n" +"Обычный - это настоящий указатель, который виден при записи,\n" +"в то время, как белый и чёрный указатели отрисовываются программой.\n" +"Можно так-же отключить отрисовку указателя." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Использовать MIT-Shared расширение памяти, если это возможно,\n" +" в зависимости от настроек программы.\n" +"Отключать данную опцию не рекомендуется,\n" +"так как это может существенно замедлить работу программы." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" +"При выборе окна кнопкой \"Выбрать Окно\",\n" +"включать его обрамление в запись." + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" +"Включить, или выключить подсказки, как эта.\n" +"(Требуется перезапуск)" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" +"Показать на экране рамку области,\n" +"которая будет захвачена.\n" +"(Эта рамка будет видна всё время захвата.)" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" +"Включите данную опцию, чтобы записывать звук через\n" +"JACK. Сервер Jack должен быть запущен, чтобы\n" +"получить порты, которые будут записаны.\n" +"Звук, захваченный с каждого из них,\n" +"будет записан в отдельный звуковой канал.\n" +"recordMyDesktop должен быть скмпиллирован\n" +"с поддержкой JACK для работы этой опции." + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "Использовать Jack для захвата звука" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" +"Выберите порты, с которых будет производиться запись\n" +"(держите Ctrl, чтоб выбрать несколько):" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "Доступные порты" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "jack_lsp не вернул портов" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "Убедитесь, что запущен jackd." + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Дополнительно" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Выбрать окно" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Нажмите сюда, чтобы выбрать окно для захвата" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Нажмите, чтобы начать захват.\n" +"Это окно скроется." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Нажмите для выбора названия файла, и расположения.\n" +"По умолчанию, это out.ogg в домашней папке.\n" +"Если файл уже существует, к названию нового\n" +"будет добавлена цифра\n" +"(это поведение возможно изменить )" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Нажмите для выхода из программы" + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Выберите качество видео для захвата.\n" +"(Более низкое качество сильнее загрузит процессор,\n" +"поэтому при сжатии на лету, рекомендуется,\n" +"оставить 100)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Включить/Выключить захват звука" + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Выберите качество звука" + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Нажмите сюда для доступа к дополнительным настройкам" + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Зажмите левую кнопку мыши, и ведите по изображению,\n" +"чтобы выбрать область для записи.\n" +"Нажмите правой кнопкой, чтобы начать снова." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Готово" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Ошибка при обработке параметров." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Невозможно запустить кодек vorbis или theora." + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Невозможно открыть/настроить аудиоустройство." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "отсутствует расширение Xdamage." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "отсутствует расширение Shared memory" + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "отсутствует расширение Xfixes." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "не удалось выполнить XInitThreads" + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "Отсутствует переменная окружения $DISPLAY." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Ошибка подключения к Xserver." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "Глубина цвета - не 24bpp." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Неправильные параметры окна" + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Невозможно подключить shared memory к процессу" + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Невозможно открыть файл на запись" + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" +"Невозможно загрузить библиотеку Jack (ошибка dlopen/dlsym в libjack.so)." + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "Невозможно создать новый клиент" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "Невозможно активировать клиент" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "Ошибка открытия порта." + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Ошибка сегментирования" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"Запись окончена.\n" +"recordMyDesktop завершился со статусом" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Описание" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"Запись окончена.\n" +"recordMyDesktop завершился с неизвестным\n" +"кодом ошибки" + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "графическая оболочка для recordMyDesktop" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "перевод - JekaDer, 2007" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Выбрать область экрана" diff --git a/qt-recordmydesktop/po/tr.po b/qt-recordmydesktop/po/tr.po new file mode 100644 index 0000000..1d3c80a --- /dev/null +++ b/qt-recordmydesktop/po/tr.po @@ -0,0 +1,522 @@ +# 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 <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-18 17:54+0200\n" +"PO-Revision-Date: 2006-12-12 17:50+0200\n" +"Last-Translator: Eren İnan Canpolat <ereninan@yahoo.com>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/rmdMonitor.py:14 +msgid "" +"Please wait while your recording is being encoded\n" +"WARNING!!!\n" +"If you press Cancel or close this window,\n" +"this proccess cannot be resumed!" +msgstr "" +"Lütfen kayıt kodlanırken bekleyin\n" +"UYARI!!!\n" +"Eğer İptal'e basarsanız ya da bu pencereyi kapatırsanız\n" +"süreç kaldığı yerden başlatılamaz!" + +#: src/rmdMonitor.py:38 src/rmdMonitor.py:59 +msgid "complete" +msgstr "tamamlandı" + +#: src/rmdPrefsWidget.py:42 +msgid "Overwite Existing Files" +msgstr "Varolan Dosyaların Üstüne Yaz" + +#: src/rmdPrefsWidget.py:42 +msgid "Working Directory" +msgstr "Çalışma Dizini" + +#: src/rmdPrefsWidget.py:43 src/rmdPrefsWidget.py:55 +msgid "Frames Per Second" +msgstr "Frames Per Second (kare/saniye)" + +#: src/rmdPrefsWidget.py:43 +msgid "Encode On the Fly" +msgstr "Eşzamanlı Kodlama" + +#: src/rmdPrefsWidget.py:43 +msgid "Zero Compression" +msgstr "Sıfır Sıkıştırma" + +#: src/rmdPrefsWidget.py:44 +msgid "Quick Subsampling" +msgstr "Hızlı Alt-örnekleme" + +#: src/rmdPrefsWidget.py:44 +msgid "Full shots at every frame" +msgstr "Her karenin tamamını kopyala" + +#: src/rmdPrefsWidget.py:45 +msgid "Channels" +msgstr "Kanallar" + +#: src/rmdPrefsWidget.py:45 +msgid "Frequency" +msgstr "Frekans" + +#: src/rmdPrefsWidget.py:45 +msgid "Device" +msgstr "Aygıt" + +#: src/rmdPrefsWidget.py:45 +msgid "Display" +msgstr "Display" + +#: src/rmdPrefsWidget.py:45 +msgid "Mouse Cursor" +msgstr "Fare İmleci" + +#: src/rmdPrefsWidget.py:46 +msgid "MIT-Shm extension" +msgstr "MIT-Shm eklentisi" + +#: src/rmdPrefsWidget.py:46 +msgid "Include Window Decorations" +msgstr "" + +#: src/rmdPrefsWidget.py:46 +msgid "Tooltips" +msgstr "" + +#: src/rmdPrefsWidget.py:47 +msgid "Outline Capture Area On Screen" +msgstr "" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Video Quality" +msgstr "Görüntü Kalitesi" + +#: src/rmdPrefsWidget.py:48 src/rmdSimple.py:48 +msgid "Sound Quality" +msgstr "Ses Kalitesi" + +#: src/rmdPrefsWidget.py:49 +msgid "Drop Frames(encoder)" +msgstr "Fazla Kareleri Yoksay (kodlayıcı)" + +#: src/rmdPrefsWidget.py:49 +msgid "Startup Delay(secs)" +msgstr "Başlangıç Gecikmesi (saniye)" + +#: src/rmdPrefsWidget.py:50 +msgid "Normal" +msgstr "Normal" + +#: src/rmdPrefsWidget.py:50 +msgid "White" +msgstr "Beyaz" + +#: src/rmdPrefsWidget.py:50 +msgid "Black" +msgstr "Siyah" + +#: src/rmdPrefsWidget.py:50 +msgid "None" +msgstr "Hiçbiri" + +#: src/rmdPrefsWidget.py:51 +msgid "Enabled" +msgstr "Etkin" + +#: src/rmdPrefsWidget.py:51 +msgid "Disabled" +msgstr "Kapalı" + +#: src/rmdPrefsWidget.py:52 +msgid "Files" +msgstr "Dosyalar" + +#: src/rmdPrefsWidget.py:52 +msgid "Performance" +msgstr "Performans" + +#: src/rmdPrefsWidget.py:52 +msgid "Sound" +msgstr "Ses" + +#: src/rmdPrefsWidget.py:52 +msgid "Misc" +msgstr "Çeşitli" + +#: src/rmdPrefsWidget.py:53 +msgid "" +"By default, if you try to save under a filename that already\n" +"exists, the new file will be renamed\n" +"(for example if you try to save as out.ogg and that file exists, your file " +"will be named out.ogg.1).\n" +"By checking this box, this behavior is disabled and the old file is " +"overwritten.\n" +msgstr "" +"Zaten varolan bir dosya adıyla kaydetmek isterseniz, varsayılan davranış\n" +"yeni eklenen dosyanın yeniden adlandırılmasıdır.\n" +"(örneğin, eğer out.ogg adıyla kaydetmek isterseniz ve o adda bir dosya " +"varsa\n" +"yeni dosya out.ogg.1 olarak adlandırılacaktır).\n" +"Bu kutucuk seçilerek bu davranış kapatılır ve yeni dosya eski dosyanın " +"üstüne yazılır.\n" + +#: src/rmdPrefsWidget.py:54 +msgid "Directory where temporary files will be saved." +msgstr "Geçici dosyaların kaydedileceği dizin." + +#: src/rmdPrefsWidget.py:56 +msgid "" +"Encode simultaneously with the recording.\n" +"This will require a lot more processing power.\n" +msgstr "" +"Kayıtla eşzamanlı olarak kodlama yap.\n" +"Bu çok daha fazla işlemci gücüne gereksinim duyar.\n" + +#: src/rmdPrefsWidget.py:57 +msgid "" +"Do not apply compression on the temporary files.\n" +"If enabled, the program will need less processing power,\n" +"in the expense of hard disk space.\n" +"This option is valid only when encoding on the fly is disabled." +msgstr "" +"Geçici dosyalara sıkıştırma uygulama.\n" +"Eğer etkinleştirilirse program daha az işlemci gücüne gereksinim duyacak,\n" +"buna karşılık daha fazla bellek kullanacak.\n" +"Bu seçenek yalnızca eşzamanlı kodlama kapatıldığında geçerlidir." + +#: src/rmdPrefsWidget.py:58 +msgid "" +"This option, if enabled, will cause the program to require less\n" +"processing power, but it might make the colors look a bit more blurry." +msgstr "" +"Bu seçenek, eğer etkinleştirilirse, programın daha az işlemci gücüyle " +"çalışmasını\n" +"sağlayacaktır, ancak bu, renklerin biraz bulanık görünmesine neden olabilir." + +#: src/rmdPrefsWidget.py:59 +msgid "" +"This option should be enabled when recording 3d windows.\n" +"It is also auto-enabled when recording a\n" +"known 3d compositing window manager.\n" +" " +msgstr "" +"Bu seçenek 3b pencereleri kaydederken etkinlişterilmelidir.\n" +"Ayrıca bilinen bir 3b oluşturucu pencere yöneticisi\n" +"kaydedildiğinde otomatik olarak etkinleştirilir.\n" +" " + +#: src/rmdPrefsWidget.py:60 +msgid "Number of audio channels." +msgstr "Ses kanallarının sayısı." + +#: src/rmdPrefsWidget.py:61 +msgid "Sound frequency." +msgstr "Ses frekansı." + +#: src/rmdPrefsWidget.py:62 +msgid "ALSA sound device, that is used for sound recording." +msgstr "Ses kaydı için kullanılan ALSA ses aygıtı." + +#: src/rmdPrefsWidget.py:63 +msgid "Connection to the Xserver." +msgstr "Xserver ile bağlantı." + +#: src/rmdPrefsWidget.py:64 +msgid "" +"The mouse cursor that will be drawn.\n" +"Normal is for the real cursor that you see while recording,\n" +"while black and white are fake cursors, drawn by the program.\n" +"You can also disable cursor drawing." +msgstr "" +"Gösterilecek fare imleci.\n" +"Normal, kayıt yaparken ekranda görülen gerçek imlece\n" +"karşılık gelirken, Siyah ve Beyaz program tarafından\n" +"gerçek imleç yerine oluşturulan imleçlerdir.\n" +"İstenirse imleç gösterimini kapatılabilir." + +#: src/rmdPrefsWidget.py:65 +msgid "" +"Use the MIT-Shared memory extension, whenever appropriate,\n" +" depending on the rest of the program settings.\n" +"Disabling this option is not recommended,\n" +"as it may severely slow down the program." +msgstr "" +"Diğer program ayarlarına göre,\n" +"uygun olan her yerde MIT-Ortak bellek eklentisini kullan.\n" +"Bu seçeneği kapatmak önerilmez,\n" +"çünkü programı ciddi ölçüde yavaşlatabilir." + +#: src/rmdPrefsWidget.py:66 +msgid "" +"When selecting a window via the \"Select Window\" button,\n" +"include that window's decorations in the recording area." +msgstr "" + +#: src/rmdPrefsWidget.py:67 +msgid "" +"Enable or disable tooltips, like this one.\n" +"(Requires restart)" +msgstr "" + +#: src/rmdPrefsWidget.py:68 +msgid "" +"Draw a frame on the screen, around the area\n" +"that will get captured.\n" +"(This frame will remain throughout the recording.)" +msgstr "" + +#: src/rmdPrefsWidget.py:69 +msgid "" +"Enable this option to record audio through\n" +"JACK. The Jack server must be running in order to\n" +"obtain the ports that will be recorded.\n" +"The audio recorded from each one\n" +"will be written on a channel of its own.\n" +"recordMyDesktop must be compiled with JACK\n" +"support for this option to work." +msgstr "" + +#: src/rmdPrefsWidget.py:200 +msgid "Use Jack for audio capture." +msgstr "" + +#: src/rmdPrefsWidget.py:201 +msgid "" +"Select the ports you want to record from\n" +"(hold Ctrl to select multiple entries):" +msgstr "" + +#: src/rmdPrefsWidget.py:207 +msgid "Available Ports" +msgstr "" + +#: src/rmdPrefsWidget.py:347 +msgid "jack_lsp returned no ports." +msgstr "" + +#: src/rmdPrefsWidget.py:348 +msgid "Make sure that jackd is running." +msgstr "" + +#: src/rmdSimple.py:49 +msgid "Advanced" +msgstr "Gelişmiş" + +#: src/rmdSimple.py:49 +msgid "Select Window" +msgstr "Pencere Seçin" + +#: src/rmdSimple.py:50 +msgid "Click here to select a window to record" +msgstr "Kaydedilecek pencereyi seçmek için buraya tıklayın" + +#: src/rmdSimple.py:51 +msgid "" +"Click to start the recording.\n" +"This window will hide itself." +msgstr "" +"Kayda başlamak için buraya tıklayın.\n" +"Bu pencere kendisini saklayacak." + +#: src/rmdSimple.py:52 +msgid "" +"Click to choose a filename and location.\n" +"Default is out.ogg in your home folder.\n" +"If the file already exists, the new one\n" +"will have a number attached on its name\n" +"(this behavior can be changed )" +msgstr "" +"Bir dosya adı ve yeri seçmek için tıklayın.\n" +"Varsayılan, home dizininde out.ogg adlı bir dosyadır.\n" +"Eğer bu adda bir dosya varsa, yeni dosyanın\n" +"adına bir sayı eklenecek\n" +"(bu davranış değiştirilebilir)" + +#: src/rmdSimple.py:53 +msgid "Click to exit the program." +msgstr "Programdan çıkmak için tıklayın." + +#: src/rmdSimple.py:54 +msgid "" +"Select the video quality of your recording.\n" +"(Lower quality will require more proccessing power,\n" +"so it's recommended, when encoding on the fly,\n" +"to leave at 100)" +msgstr "" +"Kaydınızın görüntü kalitesini seçin.\n" +"(Daha düşük kalite daha çok işlemci gücüne gereksinim duyar,\n" +"bu nedenle, eşzamanlı kodlama yaparken\n" +"100'de bırakılması önerilir)" + +#: src/rmdSimple.py:55 +msgid "Enable/Disable sound recording." +msgstr "Ses kaydını Etkinleştir/Kapat." + +#: src/rmdSimple.py:56 +msgid "Select the audio quality of your recording." +msgstr "Kaydınızın ses kalitesini seçin." + +#: src/rmdSimple.py:57 +msgid "Click here to access more options." +msgstr "Daha çok seçeneğe erişmek için buraya tıklayın." + +#: src/rmdSimple.py:58 +msgid "" +"\n" +"Left click and drag, on the preview image,\n" +"to select an area for recording.\n" +"Right click on it, to reset the area." +msgstr "" +"\n" +"Kaydedilecek bir alan seçmek için\n" +"farenin sol tuşuyla tıklayıp sürükleyin.\n" +"Seçimi sıfırlamak için farenin sağ tuşuyla tıklayın." + +#: src/rmdTrayIcon.py:71 +msgid "Success" +msgstr "Başarılı" + +#: src/rmdTrayIcon.py:72 +msgid "Error while parsing the arguments." +msgstr "Argümanları ayrıştırırken hata oluştu." + +#: src/rmdTrayIcon.py:73 +msgid "Initializing the encoder failed(either vorbis or theora)" +msgstr "Kodlayıcı başlatılamadı (vorbis ya da theora)" + +#: src/rmdTrayIcon.py:74 +msgid "Could not open/configure sound card." +msgstr "Ses kartını açamadı/ayarlayamadı." + +#: src/rmdTrayIcon.py:75 +msgid "Xdamage extension not present." +msgstr "Xdamage eklentisi bulunamadı." + +#: src/rmdTrayIcon.py:76 +msgid "Shared memory extension not present." +msgstr "Ortak bellek eklentisi bulunamadı." + +#: src/rmdTrayIcon.py:77 +msgid "Xfixes extension not present." +msgstr "Xfixes eklentisi bulunamadı." + +#: src/rmdTrayIcon.py:78 +msgid "XInitThreads failed." +msgstr "XInitThreads başarısız." + +#: src/rmdTrayIcon.py:79 +msgid "No $DISPLAY environment variable and none specified as argument." +msgstr "" +"$DISPLAY adında bir çevresel değişken tanımlı değil\n" +"ve argüman olarak da girilmemiş." + +#: src/rmdTrayIcon.py:80 +msgid "Cannot connect to Xserver." +msgstr "Xserver'a bağlanamadı." + +#: src/rmdTrayIcon.py:81 +msgid "Color depth is not 24bpp." +msgstr "Renk derinliği 24bpp değil." + +#: src/rmdTrayIcon.py:82 +msgid "Improper window specification." +msgstr "Yanlış pencere seçimi." + +#: src/rmdTrayIcon.py:83 +msgid "Cannot attach shared memory to proccess." +msgstr "Ortak bellek sürece eklenemedi." + +#: src/rmdTrayIcon.py:84 +msgid "Cannot open file for writting." +msgstr "Dosyayı yazmak için açamadı." + +#: src/rmdTrayIcon.py:85 +msgid "Cannot load the Jack library (dlopen/dlsym error on libjack.so)." +msgstr "" + +#: src/rmdTrayIcon.py:86 +msgid "Cannot create new client." +msgstr "" + +#: src/rmdTrayIcon.py:87 +msgid "Cannot activate client." +msgstr "" + +#: src/rmdTrayIcon.py:88 +msgid "Port registration/connection failure." +msgstr "" + +#: src/rmdTrayIcon.py:89 +msgid "Segmentation Fault" +msgstr "Bölümlendirme Hatası (Segmentation Fault)" + +#: src/rmdTrayIcon.py:252 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with status" +msgstr "" +"Kayıt işlemi tamamlandı.\n" +"recordMyDesktop şu durum bilgisiyle kapandı:" + +#: src/rmdTrayIcon.py:253 +msgid "Description" +msgstr "Açıklama" + +#: src/rmdTrayIcon.py:255 +msgid "" +"Recording is finished.\n" +"recordMyDesktop has exited with uknown\n" +"error code" +msgstr "" +"Kayıt işlemi tamamlandı.\n" +"recordMyDesktop bilinmeyen bir hata\n" +"koduyla kapandı." + +#: src/rmdTrayPopup.py:73 +msgid "gtk-recordMyDesktop" +msgstr "gtk-recordMyDesktop" + +#: src/rmdTrayPopup.py:75 +msgid "a graphical frontend for recordMyDesktop" +msgstr "recordMyDesktop için grafiksel bir önyüz" + +#: src/rmdTrayPopup.py:76 +msgid "" +"Copyright (C) John Varouhakis\n" +"Portions Copyright (C) 2005-6 Zaheer Abbas Merali, John N. Laliberte\n" +"Portions Copyright (C) Fluendo S.L." +msgstr "" +"Yasal Haklar (c) John Varouhakis\n" +"Kısmi Yasal Haklar (c) 2005-6 Zaheer Merali, John N. Laliberte\n" +"Kısmi Yasal Haklar (c) Fluendo S. L." + +#: src/rmdTrayPopup.py:80 +msgid "Translator Credits And Information(Replace with your info)" +msgstr "" +"Türkçe çeviri: Eren İnan Canpolat\n" +"İletişim: ereninan@yahoo.com" + +#: src/rmdTrayPopup.py:86 +msgid "_Select Area On Screen" +msgstr "_Ekranda Alan Seçin" + +#~ msgid "Shared Threshold" +#~ msgstr "Ortak Bellek Eşiği" + +#~ msgid "" +#~ "Amount of screen change, within a frame that triggers retrieval\n" +#~ "of the screenshot through the MIT-Shared memory extension.\n" +#~ "This option has no effect when using the full shots option.\n" +#~ msgstr "" +#~ "Bir karede, ekran görüntüsü yakalamanın MIT-Ortak bellek eklentisi " +#~ "dolayısıyla\n" +#~ "yapılmasını tetikleyecek eşik değişim niceliği.\n" +#~ "Tamamını kopyalama seçeneği kullanılırsa bu seçenek kapanır.\n" diff --git a/qt-recordmydesktop/py-compile b/qt-recordmydesktop/py-compile new file mode 100755 index 0000000..4c84b67 --- /dev/null +++ b/qt-recordmydesktop/py-compile @@ -0,0 +1,92 @@ +#!/bin/sh + +# py-compile - Compile a Python program +# Copyright 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# called as "py-compile [--basedir DIR] PY_FILES ... + +if [ -z "$PYTHON" ]; then + PYTHON=python +fi + +basedir= + +case "$1" in + --basedir) + basedir=$2 + shift 2 + ;; + --help) + echo "Usage: py-compile [--basedir DIR] PY_FILES ..." + echo "Byte compile some python scripts. This should be performed" + echo "after they have been moved to the final installation location" + exit 0 + ;; + --version) + echo "py-compile version 0.0" + exit 0 + ;; +esac + +if [ $# = 0 ]; then + echo "No files given to $0" 1>&2 + exit 1 +fi + +# if basedir was given, then it should be prepended to filenames before +# byte compilation. +if [ -z "$basedir" ]; then + trans="path = file" +else + trans="path = os.path.join('$basedir', file)" +fi + +$PYTHON -c " +import sys, os, string, py_compile + +files = '''$*''' +print 'Byte-compiling python modules...' +for file in string.split(files): + $trans + if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): + continue + print file, + sys.stdout.flush() + py_compile.compile(path) +print" || exit $? + +# this will fail for python < 1.5, but that doesn't matter ... +$PYTHON -O -c " +import sys, os, string, py_compile + +files = '''$*''' +print 'Byte-compiling python modules (optimized versions) ...' +for file in string.split(files): + $trans + if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): + continue + print file, + sys.stdout.flush() + py_compile.compile(path) +print" 2>/dev/null || : + diff --git a/qt-recordmydesktop/src/Makefile.am b/qt-recordmydesktop/src/Makefile.am new file mode 100644 index 0000000..bf77338 --- /dev/null +++ b/qt-recordmydesktop/src/Makefile.am @@ -0,0 +1,29 @@ +include $(top_srcdir)/m4/python.mk + +bin_SCRIPTS=qt-recordMyDesktop + +qt_recordMyDesktopdir=$(pythondir)/qt-recordMyDesktop + +qt_recordMyDesktop_PYTHON = \ + rmdSelect.py\ + rmdTrayIcon.py\ + rmdSelectThumb.py\ + rmdTrayPopup.py\ + rmdPrefsWidget.py\ + rmdSimple.py\ + rmdConfig.py\ + rmdMonitor.py\ + rmdFrame.py\ + __init__.py + +desktopdir = $(datadir)/applications + +desktop_DATA =qt-recordmydesktop.desktop + +pixmapdir = $(datadir)/pixmaps +pixmap_DATA = qt-recordmydesktop.png + +EXTRA_DIST=qt-recordMyDesktop qt-recordmydesktop.desktop qt-recordmydesktop.png qt-recordmydesktop.svg + +clean-local: + rm -rf *.pyc *.pyo diff --git a/qt-recordmydesktop/src/__init__.py b/qt-recordmydesktop/src/__init__.py new file mode 100644 index 0000000..7262f15 --- /dev/null +++ b/qt-recordmydesktop/src/__init__.py @@ -0,0 +1,4 @@ +# +# +# + diff --git a/qt-recordmydesktop/src/qt-recordMyDesktop b/qt-recordmydesktop/src/qt-recordMyDesktop new file mode 100755 index 0000000..e8b8bb7 --- /dev/null +++ b/qt-recordmydesktop/src/qt-recordMyDesktop @@ -0,0 +1,43 @@ +#!/usr/bin/python + + +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + +from qt-recordMyDesktop import rmdSimple + +def main(): + tr=rmdSimple.simpleWidget() + + +main() + + + + + + + diff --git a/qt-recordmydesktop/src/qt-recordmydesktop.desktop b/qt-recordmydesktop/src/qt-recordmydesktop.desktop new file mode 100644 index 0000000..5c79b89 --- /dev/null +++ b/qt-recordmydesktop/src/qt-recordmydesktop.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +Name=gtk-recordMyDesktop +Comment=Frontend for recordMyDesktop +Comment[fr]=Interface pour recordmydesktop +Exec=gtk-recordMyDesktop +Terminal=false +Type=Application +Icon=gtk-recordmydesktop.png +Categories=AudioVideo;Recorder; +StartupNotify=false diff --git a/qt-recordmydesktop/src/qt-recordmydesktop.svg b/qt-recordmydesktop/src/qt-recordmydesktop.svg new file mode 100644 index 0000000..2d76d5b --- /dev/null +++ b/qt-recordmydesktop/src/qt-recordmydesktop.svg @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.0" + width="468pt" + height="468pt" + viewBox="0 0 468 468" + preserveAspectRatio="xMidYMid meet" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docname="rmddb1.png.svg" + sodipodi:docbase="/home/iovar/workspace/recordMyDesktop/NO_CVS"> + <defs + id="defs13"> + <linearGradient + id="linearGradient2764"> + <stop + style="stop-color:#32000c;stop-opacity:1;" + offset="0" + id="stop2776" /> + <stop + id="stop2769" + offset="0.53846157" + style="stop-color:#7d001f;stop-opacity:1;" /> + <stop + style="stop-color:#210019;stop-opacity:1;" + offset="1" + id="stop2768" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2764" + id="radialGradient2770" + cx="330.83143" + cy="238.79865" + fx="330.83143" + fy="238.79865" + r="61.69674" + gradientTransform="matrix(1,0,0,0.988932,0,2.643133)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2764" + id="radialGradient2772" + cx="233.28449" + cy="256.5222" + fx="233.28449" + fy="256.5222" + r="222.42589" + gradientTransform="matrix(1,0,0,0.950779,0,12.62635)" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + inkscape:window-height="579" + inkscape:window-width="931" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + inkscape:zoom="0.64786325" + inkscape:cx="292.5" + inkscape:cy="290.95646" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:current-layer="svg2" /> + <metadata + id="metadata4"> +Created by potrace 1.7, written by Peter Selinger 2001-2005 +<rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> +</rdf:RDF> +</metadata> + <path + style="fill:url(#radialGradient2772);stroke:none;fill-opacity:1.0" + id="path8" + d="M 124.3125,64.35 C -4.3875,121.3875 -29.25,270.5625 78.975,340.7625 C 127.2375,372.9375 127.2375,389.025 80.4375,400.725 C -11.7,424.125 86.2875,468 231.075,468 C 333.45,468 418.275,444.6 429.975,413.8875 C 434.3625,403.65 429.975,394.875 419.7375,394.875 C 368.55,393.4125 364.1625,368.55 408.0375,324.675 C 495.7875,238.3875 457.7625,106.7625 331.9875,59.9625 C 276.4125,38.025 178.425,40.95 124.3125,64.35 z M 381.7125,111.15 C 466.5375,153.5625 457.7625,289.575 370.0125,323.2125 C 282.2625,356.85 225.225,310.05 232.5375,212.0625 L 235.4625,168.1875 L 191.5875,219.375 C 152.1,267.6375 147.7125,269.1 111.15,250.0875 C 59.9625,222.3 62.8875,195.975 124.3125,137.475 C 194.5125,71.6625 286.65,61.425 381.7125,111.15 z M 383.175,429.975 C 345.15,451.9125 137.475,460.6875 125.775,440.2125 C 118.4625,428.5125 143.325,424.125 207.675,424.125 C 263.25,422.6625 310.05,415.35 327.6,402.1875 C 348.075,386.1 359.775,386.1 381.7125,399.2625 C 406.575,415.35 406.575,416.8125 383.175,429.975 z " /> + <path + style="fill:url(#radialGradient2770);stroke:none;fill-opacity:1.0" + id="path10" + d="M 277.875,195.975 C 261.7875,216.45 266.175,219.375 305.6625,219.375 C 348.075,219.375 351,222.3 342.225,258.8625 L 331.9875,299.8125 L 364.1625,272.025 C 409.5,231.075 399.2625,184.275 342.225,178.425 C 314.4375,175.5 289.575,182.8125 277.875,195.975 z " /> +</svg> diff --git a/qt-recordmydesktop/src/rmdConfig.py.in b/qt-recordmydesktop/src/rmdConfig.py.in new file mode 100644 index 0000000..f3194c5 --- /dev/null +++ b/qt-recordmydesktop/src/rmdConfig.py.in @@ -0,0 +1,36 @@ +import os +VERSION='@VERSION@' +PREFIX='@PREFIX@' +locale_install_dir=os.path.join('@DATADIR@'.replace("${prefix}",PREFIX), 'locale') + +#binary values expressed with 1 and zero instead of True and False +#are upside down. That means 0 is enabled and 1 disabled + +default_values=[15, #framerate + 0, #cursor + True, #sound + 1, #full shots,0 on 1 off + os.path.join(os.getenv('HOME'),'out.ogg'), #filename + [-1,-1,-1,-1], #recording area(<0 means auto) + 0, #delay ,unused on 0.3 + 1, #no of channels + 22050, #frequency + 'DEFAULT', #device + 63, #video quality + 10, #audio quality + "$DISPLAY", #display, this is not interpreted as an env variable + #but when the value is set to this the argument is omitted + 0, #shared memory,0 on 1 off + 1, #drop frames,unused in 0.3,0, removed at 0.3.4, preserved for compatibility of prefs file. + 75, #shared threshold.Removed at 0.3.4, preserved for compatibility of prefs file. + 1, #quick subsampling,0 on 1 off + "/tmp", #working directory + 1, #on the fly encoding,0 on 1 off + 1, #zero compression,0 on 1 off + False, #overwrite existing files + 0, #include window decorations, 0 on 1 off + False, #Use jack + [], #jack ports + 0, #tooltips,0 on 1 off + 0, #draw an on-screen frame, surrounding the capture area,0 on 1 off + ] diff --git a/qt-recordmydesktop/src/rmdFrame.py b/qt-recordmydesktop/src/rmdFrame.py new file mode 100644 index 0000000..ef05fc6 --- /dev/null +++ b/qt-recordmydesktop/src/rmdFrame.py @@ -0,0 +1,98 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ +from PyQt4 import QtGui,QtCore + +class rmdFrame: + borderwidth=6 + outlinewidth=1 + + def __init__(self,x,y,w,h): + self.window=QtGui.QWidget(None,QtCore.Qt.X11BypassWindowManagerHint|QtCore.Qt.WindowStaysOnTopHint) + self.x=x + self.y=y + self.w=w + self.h=h + + self.mask = QtGui.QBitmap(self.w+self.borderwidth*2, + self.h+self.borderwidth*2) + self.mask.fill(QtCore.Qt.color1) + + self.window.paintEvent=self.paintEvent + self.window.setWindowTitle("qt-recordMyDesktop frame") + + self.window.setFixedSize(self.w+self.borderwidth*2, + self.h+self.borderwidth*2) + + self.window.move(self.x-self.borderwidth, + self.y-self.borderwidth) + self.window.show() + + def paintEvent(self,Event): + + painterw= QtGui.QPainter(self.window) + painterw.fillRect(0,0,self.w+self.borderwidth*2, + self.h+self.borderwidth*2, + QtGui.QBrush(QtCore.Qt.white, + QtCore.Qt.SolidPattern)) + painterw.fillRect(self.outlinewidth, + self.outlinewidth, + self.w+(self.borderwidth- + self.outlinewidth)*2, + self.h+(self.borderwidth- + self.outlinewidth)*2, + QtGui.QBrush(QtCore.Qt.black, + QtCore.Qt.SolidPattern)) + painterw.fillRect(self.borderwidth-self.outlinewidth, + self.borderwidth-self.outlinewidth, + self.w+self.outlinewidth*2, + self.h+self.outlinewidth*2, + QtGui.QBrush(QtCore.Qt.white, + QtCore.Qt.SolidPattern)) + if self.window.mask().isEmpty(): + painter = QtGui.QPainter(self.mask) + painter.fillRect(self.borderwidth, + self.borderwidth, + self.w,self.h, + QtGui.QBrush(QtCore.Qt.color0, + QtCore.Qt.SolidPattern)) + self.window.setMask(self.mask) + def pass_e(self): + pass + + def destroy(self): + #self.area.destroy() + try: + self.window.close() + except: + pass + +if __name__ == "__main__": + import sys + + app=QtGui.QApplication(sys.argv) + app.values=[[-1,-1,-1,-1]] + w = rmdFrame(100,100,340,260) + app.exec_() diff --git a/qt-recordmydesktop/src/rmdMonitor.py b/qt-recordmydesktop/src/rmdMonitor.py new file mode 100644 index 0000000..4df7eab --- /dev/null +++ b/qt-recordmydesktop/src/rmdMonitor.py @@ -0,0 +1,118 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + + +from PyQt4 import QtGui,QtCore +import locale, gettext +import rmdConfig +def _(s): + return QtCore.QString.fromUtf8(gettext.gettext(s)) + +gettext.textdomain('qt-recordMyDesktop') +gettext.bindtextdomain('qt-recordMyDesktop',rmdConfig.locale_install_dir) +import popen2 +import os,fcntl,signal + +class rmdMonitor(object): + labeString=_("Please wait while your recording is being encoded\nWARNING!!!\nIf you press Cancel or close this window,\nthis proccess cannot be resumed!") + + counter_fraction=0.0 + + def destroy_and_kill(self,Event=None): + self.timed_id.stop() + self.stop_encoding() + def destroy(self,Event=None): + self.window.close() + self.parent.show() + def update_counter(self): + strstdout="" + try: + strstdout=self.stdout.read() + if strstdout =='': + self.destroy() + except: + return True + try: + string=strstdout.replace("[","").replace("%] ","").replace("\n","").split("\r") + self.counter_fraction=max(self.counter_fraction,int(string.pop())) + if self.counter_fraction>100: + self.counter_fraction=100 + self.progressbar.setValue(self.counter_fraction) + self.progressbar.update() + except: + pass + + return True + def stop_encoding(self,Event=None): + try: + os.kill(self.rmdPid,signal.SIGINT) + except: + pass + def __init__(self,out_stream,childPid,parent): + self.parent=parent + flags = fcntl.fcntl(out_stream, fcntl.F_GETFL) + fcntl.fcntl(out_stream, fcntl.F_SETFL, flags | os.O_NONBLOCK) + self.rmdPid=childPid + + + self.window = QtGui.QMainWindow() + self.window.closeEvent=self.destroy_and_kill + + self.window.setWindowTitle("recordMyDesktop-encoder") + + self.frame=QtGui.QFrame() + self.label=QtGui.QLabel(self.labeString) + + self.label.setAlignment(QtCore.Qt.AlignHCenter) + + self.progressbar=QtGui.QProgressBar() + self.counter_fraction=0 + self.progressbar.setValue(self.counter_fraction) + self.stopbutton=QtGui.QPushButton("Cancel",self.window) + self.stopbutton.connect(self.stopbutton,QtCore.SIGNAL("clicked()"), + self.stop_encoding) + self.box=QtGui.QVBoxLayout() + self.box.addWidget(self.label,0) + self.box.addWidget(self.progressbar,0) + self.box.addWidget(self.stopbutton,0) + + + self.stopbutton.show() + self.frame.setLayout(self.box) + self.window.setCentralWidget(self.frame) + self.label.show() + self.progressbar.show() + self.window.show() + self.stdout=out_stream + self.timed_id=QtCore.QTimer(None) + self.timed_id.connect(self.timed_id,QtCore.SIGNAL("timeout()"), + self.update_counter) + self.timed_id.start(100) + + + + + diff --git a/qt-recordmydesktop/src/rmdPrefsWidget.py b/qt-recordmydesktop/src/rmdPrefsWidget.py new file mode 100644 index 0000000..4c9f5b7 --- /dev/null +++ b/qt-recordmydesktop/src/rmdPrefsWidget.py @@ -0,0 +1,362 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + + +from PyQt4 import QtGui,QtCore +import locale, gettext +import rmdConfig +def _(s): + return QtCore.QString.fromUtf8(gettext.gettext(s)) +def htmlize(s): + return "<html><body>"+s.replace("\n","<br>")+"</html></body>" +gettext.textdomain('qt-recordMyDesktop') +gettext.bindtextdomain('qt-recordMyDesktop',rmdConfig.locale_install_dir) +import os + + + + +class prefsWidget(object): + labelStrings=[_('Overwite Existing Files'),_('Working Directory'), + _('Frames Per Second'),_('Encode On the Fly'),_('Zero Compression'), + _('Quick Subsampling'),_('Full shots at every frame'), + _('Channels'),_('Frequency'),_('Device'),_('Display'),_('Mouse Cursor'), + _('MIT-Shm extension'),_('Include Window Decorations'),_('Tooltips'), + _('Outline Capture Area On Screen'), + _('Video Quality'),_('Sound Quality'), + _('Drop Frames(encoder)'),_('Startup Delay(secs)'),] + mouseStrings=[_('Normal'),_('White'),_('Black'),_('None')] + stateStrings=[_('Enabled'),_('Disabled')]#0,1 + tabStrings=[_('Files'),_('Performance'),_('Sound'),_('Misc')] + tooltipLabels=[_('By default, if you try to save under a filename that already\nexists, the new file will be renamed\n(for example if you try to save as out.ogg and that file exists, your file will be named out.ogg.1).\nBy checking this box, this behavior is disabled and the old file is overwritten.\n'), + _('Directory where temporary files will be saved.'), + _('Frames Per Second'), + _('Encode simultaneously with the recording.\nThis will require a lot more processing power.\n'), + _('Do not apply compression on the temporary files.\nIf enabled, the program will need less processing power,\nin the expense of hard disk space.\nThis option is valid only when encoding on the fly is disabled.'), + _('This option, if enabled, will cause the program to require less\nprocessing power, but it might make the colors look a bit more blurry.'), + _('This option should be enabled when recording 3d windows.\nIt is also auto-enabled when recording a\nknown 3d compositing window manager.\n '), + _('Number of audio channels.'), + _('Sound frequency.'), + _('ALSA sound device, that is used for sound recording.'), + _('Connection to the Xserver.'), + _('The mouse cursor that will be drawn.\nNormal is for the real cursor that you see while recording,\nwhile black and white are fake cursors, drawn by the program.\nYou can also disable cursor drawing.'), + _('Use the MIT-Shared memory extension, whenever appropriate,\n depending on the rest of the program settings.\nDisabling this option is not recommended,\nas it may severely slow down the program.'), + _('When selecting a window via the "Select Window" button,\ninclude that window\'s decorations in the recording area.'), + _('Enable or disable tooltips, like this one.\n(Requires restart)'), + _('Draw a frame on the screen, around the area\nthat will get captured.\n(This frame will remain throughout the recording.)')] + jacktip=_("Enable this option to record audio through\nJACK. The Jack server must be running in order to\nobtain the ports that will be recorded.\nThe audio recorded from each one\nwill be written on a channel of its own.\nrecordMyDesktop must be compiled with JACK\nsupport for this option to work.") + def __tooltips__(self): + for i in range(16): + self.labels[i].setToolTip(htmlize(self.tooltipLabels[i])) + self.jack_button.setToolTip(htmlize(self.jacktip)) + self.jack_lsp_label.setToolTip(htmlize(self.jacktip)) + self.jack_lss_label.setToolTip(htmlize(self.jacktip)) + self.jack_lsp_liststore.setToolTip(htmlize(self.jacktip)) + self.jack_lsp_listSave.setToolTip(htmlize(self.jacktip)) + + def destroy(self,Event=None): + self.values[0]=self.fpsSpinButton.value() + self.values[1]=self.mouseComboBox.currentIndex() + self.values[3]=self.fullComboBox.currentIndex() + self.values[7]=self.channelsSpinButton.value() + self.values[8]=self.freqSpinButton.value() + self.values[9]=self.deviceEntry.text().replace(' ','') + self.values[12]=self.displayEntry.text().replace(' ','') + self.values[13]=self.sharedComboBox.currentIndex() + self.values[16]=self.quickComboBox.currentIndex() + self.values[17]=self.workdirEntry.text() + self.values[18]=self.onTheFlyComboBox.currentIndex() + self.values[19]=self.zeroCmpComboBox.currentIndex() + if self.overwriteFilesButton.checkState()==QtCore.Qt.Checked: + self.values[20]=True + else: + self.values[20]=False + self.values[21]=self.winDecoComboBox.currentIndex() + if self.jack_button.checkState()==QtCore.Qt.Checked: + self.values[22]=True + else: + self.values[22]=False + self.__getSelectedPorts__() + self.values[24]=self.tooltipsComboBox.currentIndex() + self.values[25]=self.rFrameComboBox.currentIndex() + self.optionsOpen[0]=0 + + def __getSelectedPorts__(self): + iters_t=[] + self.values[23]=[] + sel_rows=self.jack_lsp_listSave.count() + for i in range(sel_rows): + self.values[23].append(self.jack_lsp_listSave.item(i).text()) + if sel_rows==0: + self.values[22]=False + + def __subWidgets__(self): + self.labels={} + self.boxes={} + self.labelbox={} + self.tabWidgets={} + self.notebook = QtGui.QTabWidget(self.window) + for i in range(4): + self.labelbox[i]=QtGui.QVBoxLayout() + self.tabWidgets[i]=QtGui.QWidget() +#Files page + for i in range(2): + self.labels[i]=QtGui.QLabel(self.labelStrings[i],self.tabWidgets[0]) + self.labels[i].setAlignment(QtCore.Qt.AlignLeft) + self.boxes[i]=QtGui.QHBoxLayout() + self.boxes[i].insertWidget(-1,self.labels[i]) + self.labelbox[0].insertLayout(-1,self.boxes[i]) + self.labelbox[0].insertSpacing(-1,20) + self.labelbox[0].setSizeConstraint(QtGui.QLayout.SetMaximumSize) + + self.overwriteFilesButton=QtGui.QCheckBox(self.tabWidgets[0]) + if self.values[20]: + self.overwriteFilesButton.setCheckState(QtCore.Qt.Checked) + else: + self.overwriteFilesButton.setCheckState(QtCore.Qt.Unchecked) + self.boxes[0].insertWidget(-1,self.overwriteFilesButton) + + self.workdirEntry= QtGui.QLineEdit(self.values[17],self.tabWidgets[0]) + self.boxes[1].insertWidget(-1,self.workdirEntry) + +#Performance page + for i in xrange(2,7): + self.labels[i]=QtGui.QLabel(self.labelStrings[i],self.tabWidgets[1]) + self.labels[i].setAlignment(QtCore.Qt.AlignLeft) + self.boxes[i]=QtGui.QHBoxLayout() + self.boxes[i].insertWidget(-1,self.labels[i]) + self.labelbox[1].insertLayout(-1,self.boxes[i]) + self.labelbox[1].insertSpacing(-1,20) + self.labelbox[1].setSizeConstraint(QtGui.QLayout.SetMaximumSize) + + self.fpsSpinButton= QtGui.QSpinBox(self.tabWidgets[1]) + self.fpsSpinButton.setRange(1,50) + self.fpsSpinButton.setValue(self.values[0]) + self.boxes[2].insertWidget(-1,self.fpsSpinButton) + + self.onTheFlyComboBox = QtGui.QComboBox(self.tabWidgets[1]) + for i in range(2): + self.onTheFlyComboBox.addItem(self.stateStrings[i]) + self.onTheFlyComboBox.setCurrentIndex(self.values[18]) + self.boxes[3].insertWidget(-1,self.onTheFlyComboBox) + + self.zeroCmpComboBox = QtGui.QComboBox(self.tabWidgets[1]) + for i in range(2): + self.zeroCmpComboBox.addItem(self.stateStrings[i]) + self.zeroCmpComboBox.setCurrentIndex(self.values[19]) + self.boxes[4].insertWidget(-1,self.zeroCmpComboBox) + + self.quickComboBox = QtGui.QComboBox(self.tabWidgets[1]) + for i in range(2): + self.quickComboBox.addItem(self.stateStrings[i]) + self.quickComboBox.setCurrentIndex(self.values[16]) + self.boxes[5].insertWidget(-1,self.quickComboBox) + + self.fullComboBox = QtGui.QComboBox(self.tabWidgets[1]) + for i in range(2): + self.fullComboBox.addItem(self.stateStrings[i]) + self.fullComboBox.setCurrentIndex(self.values[3]) + self.boxes[6].insertWidget(-1,self.fullComboBox) + +#sound page + for i in xrange(7,10): + self.labels[i]=QtGui.QLabel(self.labelStrings[i],self.tabWidgets[2]) + self.labels[i].setAlignment(QtCore.Qt.AlignLeft) + self.boxes[i]=QtGui.QHBoxLayout() + self.boxes[i].insertWidget(-1,self.labels[i]) + self.labelbox[2].insertLayout(-1,self.boxes[i]) + self.labelbox[2].insertSpacing(-1,20) + self.labelbox[2].setSizeConstraint(QtGui.QLayout.SetMaximumSize) + + self.labelbox[2].insertSpacing(-1,15) + self.jack_button= QtGui.QCheckBox(_("Use Jack for audio capture."),self.tabWidgets[2]) + self.jack_lsp_label=QtGui.QLabel(_("Available ports (double click to add):"),self.tabWidgets[2]) + self.jack_lss_label=QtGui.QLabel(_("Selected ports (double click to remove):"),self.tabWidgets[2]) + self.jack_lsp_liststore=QtGui.QListWidget(self.tabWidgets[2]) + self.jack_lsp_liststore.setFixedHeight(100) + self.jack_lsp_listSave=QtGui.QListWidget(self.tabWidgets[2]) + self.jack_lsp_listSave.setFixedHeight(100) + + + self.jack_lsp_refresh=QtGui.QPushButton(_("Refresh"),self.tabWidgets[2]) + self.jack_box=QtGui.QVBoxLayout() + self.jack_box.insertWidget(-1,self.jack_button) + self.jack_box.insertWidget(-1,self.jack_lsp_label) + self.jack_box.insertWidget(-1,self.jack_lsp_liststore) + self.jack_box.insertWidget(-1,self.jack_lss_label) + self.jack_box.insertWidget(-1,self.jack_lsp_listSave) + self.jack_box.insertWidget(-1,self.jack_lsp_refresh) + self.labelbox[2].insertLayout(-1,self.jack_box) + + + if self.values[22]==True: + self.jack_button.setCheckState(QtCore.Qt.Checked) + else: + self.jack_button.setCheckState(QtCore.Qt.Unchecked) + + self.channelsSpinButton= QtGui.QSpinBox(self.tabWidgets[2]) + self.channelsSpinButton.setRange(1,2) + self.channelsSpinButton.setValue(self.values[7]) + self.boxes[7].insertWidget(-1,self.channelsSpinButton) + + + self.freqSpinButton= QtGui.QSpinBox(self.tabWidgets[2]) + self.freqSpinButton.setRange(0,44100) + self.freqSpinButton.setSingleStep(100) + self.freqSpinButton.setValue(self.values[8]) + self.boxes[8].insertWidget(-1,self.freqSpinButton) + + self.deviceEntry= QtGui.QLineEdit(self.values[9],self.tabWidgets[2]) + self.boxes[9].insertWidget(-1,self.deviceEntry) + +#misc page + for i in xrange(10,16): + self.labels[i]=QtGui.QLabel(self.labelStrings[i],self.tabWidgets[3]) + self.labels[i].setAlignment(QtCore.Qt.AlignLeft) + self.boxes[i]=QtGui.QHBoxLayout() + self.boxes[i].insertWidget(-1,self.labels[i]) + self.labelbox[3].insertLayout(-1,self.boxes[i]) + self.labelbox[3].insertSpacing(-1,20) + self.labelbox[3].setSizeConstraint(QtGui.QLayout.SetMaximumSize) + + self.displayEntry= QtGui.QLineEdit(self.values[12]) + self.boxes[10].insertWidget(-1,self.displayEntry) + + self.mouseComboBox = QtGui.QComboBox(self.tabWidgets[3]) + for i in range(4): + self.mouseComboBox.addItem(self.mouseStrings[i]) + self.mouseComboBox.setCurrentIndex(self.values[1]) + self.boxes[11].insertWidget(-1,self.mouseComboBox) + + + self.sharedComboBox = QtGui.QComboBox(self.tabWidgets[3]) + for i in range(2): + self.sharedComboBox.addItem(self.stateStrings[i]) + self.sharedComboBox.setCurrentIndex(self.values[13]) + self.boxes[12].insertWidget(-1,self.sharedComboBox) + + self.winDecoComboBox = QtGui.QComboBox(self.tabWidgets[3]) + for i in range(2): + self.winDecoComboBox.addItem(self.stateStrings[i]) + self.winDecoComboBox.setCurrentIndex(self.values[21]) + self.boxes[13].insertWidget(-1,self.winDecoComboBox) + + self.tooltipsComboBox = QtGui.QComboBox(self.tabWidgets[3]) + for i in range(2): + self.tooltipsComboBox.addItem(self.stateStrings[i]) + self.tooltipsComboBox.setCurrentIndex(self.values[24]) + self.boxes[14].insertWidget(-1,self.tooltipsComboBox) + + + self.rFrameComboBox = QtGui.QComboBox(self.tabWidgets[3]) + for i in range(2): + self.rFrameComboBox.addItem(self.stateStrings[i]) + self.rFrameComboBox.setCurrentIndex(self.values[25]) + self.boxes[15].insertWidget(-1,self.rFrameComboBox) + + + for i in range(4): + self.tabWidgets[i].setLayout(self.labelbox[i]) + self.notebook.insertTab(-1,self.tabWidgets[i],self.tabStrings[i]) + self.notebook.show() + return + + def addPort(self,lwi): + pli=lwi.clone() + self.jack_lsp_listSave.insertItem(-1,pli) + def remPort(self,lwi): + self.jack_lsp_listSave.takeItem(self.jack_lsp_listSave.row(lwi)) + + def __runJackLSP__(self,button=None): + self.ports=[] + failed=0 + (stdin,stdout,stderr)=os.popen3(['jack_lsp'],'t') + ports=stdout.readlines() + stdin.close() + stdout.close() + stderr.close() + self.jack_lsp_liststore.clear() + if ports!=[]: + for i in ports: + self.ports.append(i.replace('\n',"")) + self.jack_lsp_liststore.setEnabled(True) + else: + failed=1 + self.ports.append(_("jack_lsp returned no ports.")) + self.ports.append(_("Make sure that jackd is running.")) + self.jack_lsp_liststore.setEnabled(False) + self.jack_lsp_listSave.setEnabled(False) + self.values[23]=[] + for i in self.values[23]: + self.jack_lsp_listSave.insertItem(-1,QtGui.QListWidgetItem(i)) + for i in self.ports: + self.jack_lsp_liststore.insertItem(-1,QtGui.QListWidgetItem(i)) + + + def __makeCons__(self): + self.jack_button.connect(self.jack_button,QtCore.SIGNAL("clicked()"),self.__jack_enabled_check__) + self.jack_lsp_refresh.connect(self.jack_lsp_refresh,QtCore.SIGNAL("clicked()"),self.__runJackLSP__) + self.jack_lsp_liststore.connect(self.jack_lsp_liststore,QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"),self.addPort) + self.jack_lsp_listSave.connect(self.jack_lsp_listSave,QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"),self.remPort) + + def __jack_enabled_check__(self): + val=False + if self.jack_button.checkState()==QtCore.Qt.Checked: + val=True + else: + val=False + self.channelsSpinButton.setEnabled(not val) + self.freqSpinButton.setEnabled(not val) + self.deviceEntry.setEnabled(not val) + self.jack_lsp_liststore.setEnabled(val) + self.jack_lsp_listSave.setEnabled(val) + self.jack_lsp_refresh.setEnabled(val) + + def __init__(self,values,optionsOpen): + self.values=values + self.ports=[] + self.optionsOpen=optionsOpen + self.window = QtGui.QWidget() + self.window.closeEvent= self.destroy + + self.window.setWindowTitle("recordMyDesktop") + self.__subWidgets__() + self.__makeCons__() + self.__runJackLSP__() + self.__jack_enabled_check__() + if self.values[24]==0: + self.__tooltips__() + self.window.show() + + + + + + + + + + diff --git a/qt-recordmydesktop/src/rmdSelect.py b/qt-recordmydesktop/src/rmdSelect.py new file mode 100644 index 0000000..6a2264c --- /dev/null +++ b/qt-recordmydesktop/src/rmdSelect.py @@ -0,0 +1,84 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + +from PyQt4 import QtGui,QtCore + +class QtAreaSelector(QtGui.QLabel): + def __init__(self,area_return): + self.area_return=area_return + QtGui.QLabel.__init__(self,None,QtCore.Qt.WindowStaysOnTopHint) + self.x1=self.y1=-1 + self.x2=self.y2=0 + self.pix=QtGui.QPixmap.grabWindow(QtGui.QApplication.desktop().winId()) + siz=QtGui.QApplication.desktop().screenGeometry() + (self.width, self.height)=(siz.width(),siz.height()) + def paintEvent(self, event): + painter = QtGui.QPainter(self) + painter.drawPixmap(0,0,self.pix) + if self.x1 >= 0: + x = min(self.x1, self.x2) + y = min(self.y1, self.y2) + w = max(self.x1, self.x2) - x + h = max(self.y1, self.y2) - y + painter.fillRect(x,y,w,h,QtGui.QBrush(QtCore.Qt.red,QtCore.Qt.CrossPattern)) + def mouseMoveEvent(self, event): + if self.x1 >= 0: + rect = QtCore.QRect() + rect.x = min(self.x1, min(self.x2, event.x() + 1)) + rect.width = max(self.x1, max(self.x2, event.x() + 1)) - rect.x + rect.y = min(self.y1, min(self.y2, event.y() + 1)) + rect.height = max(self.y1, max(self.y2, event.y() + 1)) - rect.y + + self.x2 = event.x() + 1 + self.y2 = event.y() + 1 + self.update() + def mouseReleaseEvent(self, event): + if event.button() == 1 and self.x1 >= 0: + self.x2 = event.x() + 1 + self.y2 = event.y() + 1 + self.area_return[0]=min(int(self.x1),int(self.x2)) + self.area_return[1]=min(int(self.y1),int(self.y2)) + self.area_return[2]=max(int(self.x1),int(self.x2)) + self.area_return[3]=max(int(self.y1),int(self.y2)) + self.close() + def mousePressEvent(self, event): + if event.button() != 1: + self.x1 = self.y1 = -1 + self.close() + self.x1 = event.x() + self.y1 = event.y() + + +if __name__ == "__main__": + import sys + p=[[-1,-1,-1,-1]] + app=QtGui.QApplication(sys.argv) + w = QtAreaSelector(p[0]) + w.showFullScreen() + app.exec_() + print p[0] + + diff --git a/qt-recordmydesktop/src/rmdSelectThumb.py b/qt-recordmydesktop/src/rmdSelectThumb.py new file mode 100644 index 0000000..bfca01d --- /dev/null +++ b/qt-recordmydesktop/src/rmdSelectThumb.py @@ -0,0 +1,164 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + +from PyQt4 import QtGui,QtCore +import sys +import rmdConfig +from rmdFrame import * + +class QtThumbSelector(QtGui.QLabel): + def __init__(self,parent,caller,area_return,hidden,update_interval=500): + self.area_return=area_return + self.selecting=0 + self.realFrame=None + self.caller=caller + self.hidden=hidden + QtGui.QLabel.__init__(self,parent) + self.x1=self.y1=-1 + self.x2 = self.y2 = -1 + self.root=QtGui.QApplication.desktop().winId() + self.pix=QtGui.QPixmap.grabWindow(self.root) + siz=QtGui.QApplication.desktop().screenGeometry() + (self.wwidth, self.wheight)=(siz.width(),siz.height()) + + self.factor=1; + twidth=self.wwidth + while twidth>320 or self.factor<4: + twidth/=2 + self.factor*=2 + self.setFixedSize(self.wwidth/self.factor,self.wheight/self.factor) + self.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Preferred) + self.timed_id=QtCore.QTimer(None) + self.timed_id.connect(self.timed_id,QtCore.SIGNAL("timeout()"), + self.update_image) + self.timed_id.start(update_interval) + self.capPos=0 + self.pixt=None + self.pixflag=0 + self.fragSize=64 + def update_image(self): + if self.selecting==0 and self.hidden[0]==0: + self.pixt=QtGui.QPixmap.grabWindow(self.root,0,self.capPos,self.wwidth,self.fragSize) + self.pixflag=1 + self.update() + + def update(self): + QtGui.QLabel.update(self) + if self.realFrame!=None: + if (self.area_return[0]!=self.realFrame.x or + self.area_return[1]!=self.realFrame.y or + self.area_return[2]-self.area_return[0]!=self.realFrame.w or + self.area_return[3]-self.area_return[1]!=self.realFrame.h or + self.caller.values[25]): + self.realFrame.destroy() + self.realFrame=None + if self.realFrame==None and self.caller.values[25]==0 : + self.__draw_frame__() + + def paintEvent(self, event): + + if self.pixt!=None and self.pixflag==1: + self.pixflag=0 + painter2 = QtGui.QPainter(self.pix) + painter2.drawPixmap(0,self.capPos,self.wwidth,self.fragSize,self.pixt) + if self.capPos<self.wheight: + self.capPos+=self.fragSize + if self.capPos>self.wheight: + self.capPos=self.wheight-self.fragSize + else: + self.capPos=0 + + painter = QtGui.QPainter(self) + painter.drawPixmap(0,0,self.wwidth/self.factor,self.wheight/self.factor,self.pix) + + if self.x1 >= 0: + x = min(self.x1, self.x2) + y = min(self.y1, self.y2) + w = max(self.x1, self.x2) - x + h = max(self.y1, self.y2) - y + painter.fillRect(x,y,w,h,QtGui.QBrush(QtCore.Qt.red,QtCore.Qt.CrossPattern)) + elif self.area_return[0]>=0 or self.area_return[1]>=0 or self.area_return[2]>=0 or self.area_return[3]>=0: + x = max(0, self.area_return[0])/self.factor + y = max(0, self.area_return[1])/self.factor + w = min(self.wwidth, self.area_return[2])/self.factor - x + h = min(self.wheight, self.area_return[3])/self.factor - y + painter.fillRect(x,y,w,h,QtGui.QBrush(QtCore.Qt.red,QtCore.Qt.CrossPattern)) + def mouseMoveEvent(self, event): + if self.x1 >= 0: + rect = QtCore.QRect() + rect.x = min(self.x1, min(self.x2, event.x() + 1)) + rect.width = max(self.x1, max(self.x2, event.x() + 1)) - rect.x + rect.y = min(self.y1, min(self.y2, event.y() + 1)) + rect.height = max(self.y1, max(self.y2, event.y() + 1)) - rect.y + + self.x2 = event.x() + 1 + self.y2 = event.y() + 1 + self.update() + def mouseReleaseEvent(self, event): + if event.button() == 1: + self.selecting=0 + if self.x1 >= 0: + self.x2 = event.x() + 1 + self.y2 = event.y() + 1 + self.area_return[0]=max(0,min(int(self.x1),int(self.x2))*self.factor) + self.area_return[1]=max(0,min(int(self.y1),int(self.y2))*self.factor) + self.area_return[2]=min(self.wwidth,max(int(self.x1),int(self.x2))*self.factor) + self.area_return[3]=min(self.wheight,max(int(self.y1),int(self.y2))*self.factor) + self.update() + def mousePressEvent(self, event): + if event.button() != 1: + self.x1 = self.y1 =-1 + self.area_return[0]=-1 + self.area_return[1]=-1 + self.area_return[2]=-1 + self.area_return[3]=-1 + self.update() + elif event.button() == 1: + self.selecting=1 + self.x1 = event.x() + self.y1 = event.y() + def __draw_frame__(self): + self.realFrame=rmdFrame(self.area_return[0], + self.area_return[1], + self.area_return[2]-self.area_return[0], + self.area_return[3]-self.area_return[1]) + def closeEvent(self,event): + self.realFrame.destroy() + QtGui.QLabel.close(self) + +if __name__ == "__main__": + import sys + p=[[-1,-1,-1,-1]] + hidden=[0] + app=QtGui.QApplication(sys.argv) + app.values=rmdConfig.default_values + w = QtThumbSelector(None,app,p[0],hidden) + w.show() + app.exec_() + print p[0] + + + diff --git a/qt-recordmydesktop/src/rmdSimple.py b/qt-recordmydesktop/src/rmdSimple.py new file mode 100644 index 0000000..b64e48f --- /dev/null +++ b/qt-recordmydesktop/src/rmdSimple.py @@ -0,0 +1,443 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + + +from PyQt4 import QtGui,QtCore +import locale, gettext +import rmdConfig +def _(s): + return QtCore.QString.fromUtf8(gettext.gettext(s)) +def htmlize(s): + return "<html><body>"+s.replace("\n","<br>")+"</html></body>" +gettext.textdomain('qt-recordMyDesktop') +gettext.bindtextdomain('qt-recordMyDesktop',rmdConfig.locale_install_dir) +import os,sys + +from rmdTrayIcon import * +import rmdPrefsWidget as pW +import rmdSelectThumb as sT + +class simpleWidget(object): + hidden=[0] + labelStrings=[_('Video Quality'),_('Sound Quality')] + buttonStrings=[_('Advanced'),_('Select Window')] + tooltipLabels=[_('Click here to select a window to record'), + _('Click to start the recording.\nThis window will hide itself.'), + _('Click to choose a filename and location.\nDefault is out.ogg in your home folder.\nIf the file already exists, the new one\nwill have a number attached on its name\n(this behavior can be changed )'), + _('Click to exit the program.'), + _('Select the video quality of your recording.\n(Lower quality will require more proccessing power,\nso it\'s recommended, when encoding on the fly,\nto leave at 100)'), + _('Enable/Disable sound recording.'), + _('Select the audio quality of your recording.'), + _('Click here to access more options.')] + tipLabelStrings=[_('\nLeft click and drag, on the preview image,\nto select an area for recording.\nRight click on it, to reset the area.')] + + options=None + optionsOpen=[0] + def __subWidgets__(self): + self.labelbox=QtGui.QVBoxLayout() + + self.NBox=QtGui.QHBoxLayout() + self.NEBox=QtGui.QVBoxLayout() + self.NEVQBox=QtGui.QHBoxLayout() + self.NESQBox=QtGui.QHBoxLayout() + self.NETABox=QtGui.QVBoxLayout() + self.NWBox=QtGui.QVBoxLayout() + + + + self.NBox.insertLayout(-1,self.NWBox) + self.NBox.insertSpacing(-1,20) + self.NBox.insertLayout(-1,self.NEBox) + self.NEBox.insertLayout(-1,self.NEVQBox) + self.NEBox.insertLayout(-1,self.NESQBox) + self.NEBox.insertSpacing(-1,10) + self.NEBox.insertLayout(-1,self.NETABox) + + self.SBox=QtGui.QHBoxLayout() + self.SEBox=QtGui.QHBoxLayout() + self.SWBox=QtGui.QHBoxLayout() + self.SBox.insertLayout(-1,self.SWBox) + self.SBox.insertSpacing(-1,100) + self.SBox.insertLayout(-1,self.SEBox) + + self.labelbox.insertLayout(-1,self.NBox) + self.labelbox.insertLayout(-1,self.SBox) + + self.image=sT.QtThumbSelector(self.window,self,self.values[5],self.hidden) + + self.NWBox.insertWidget(-1,self.image) + self.NWBox.setGeometry(QtCore.QRect(0,0,self.image.width(),self.image.height())) + #quality + self.v_quality=QtGui.QSlider(self.window) + self.v_quality.setMaximum(100) + self.v_quality.setMinimum(0) + self.v_quality.setTracking(True) + self.v_quality.setValue(int(round((float(self.values[10])*100.0)/63.0))) + self.v_quality.setOrientation(QtCore.Qt.Horizontal) + + + self.s_button= QtGui.QCheckBox(self.window) + if self.values[2]: + self.s_button.setCheckState(QtCore.Qt.Checked) + else: + self.s_button.setCheckState(QtCore.Qt.Unchecked) + self.s_quality=QtGui.QSlider(self.window) + self.s_quality.setMaximum(100) + self.s_quality.setMinimum(0) + self.s_quality.setTracking(True) + self.s_quality.setValue(int(round(float(self.values[11])*10.0))) + self.s_quality.setOrientation(QtCore.Qt.Horizontal) + self.s_quality.setEnabled(self.values[2]) + + self.v_label=QtGui.QLabel(" "+self.labelStrings[0],self.window) + self.s_label=QtGui.QLabel(self.labelStrings[1],self.window) + + self.advanced_button=QtGui.QPushButton(self.buttonStrings[0],self.window) + self.tipLabel=QtGui.QLabel(self.tipLabelStrings[0],self.window) + + self.NEVQBox.insertWidget(-1,self.v_label) + self.NEVQBox.insertWidget(-1,self.v_quality) + self.NESQBox.insertWidget(-1,self.s_button) + self.NESQBox.insertWidget(-1,self.s_label) + self.NESQBox.insertWidget(-1,self.s_quality) + self.NETABox.insertWidget(-1,self.advanced_button) + self.NETABox.insertWidget(-1,self.tipLabel) + + self.win_button=QtGui.QPushButton(self.buttonStrings[1],self.window) + self.start_button=QtGui.QPushButton(_("Record"),self.window) + self.file_button=QtGui.QPushButton(_("Save As"),self.window) + self.quit_button=QtGui.QPushButton(_("Quit"),self.window) + self.SWBox.insertWidget(-1,self.win_button) + self.SWBox.insertWidget(-1,self.start_button) + self.SEBox.insertWidget(-1,self.file_button) + self.SEBox.insertWidget(-1,self.quit_button) + + + self.win_button.show() + self.start_button.show() + self.file_button.show() + self.quit_button.show() + + self.v_quality.show() + self.s_button.show() + self.s_quality.show() + self.v_label.show() + self.s_label.show() + self.tipLabel.show() + self.advanced_button.show() + + self.window.setLayout(self.labelbox) + def __tooltips__(self): + self.win_button.setToolTip(htmlize(self.tooltipLabels[0])) + self.start_button.setToolTip(htmlize(self.tooltipLabels[1])) + self.file_button.setToolTip(htmlize(self.tooltipLabels[2])) + self.quit_button.setToolTip(htmlize(self.tooltipLabels[3])) + self.v_quality.setToolTip(htmlize(self.tooltipLabels[4])) + self.v_label.setToolTip(htmlize(self.tooltipLabels[4])) + self.s_button.setToolTip(htmlize(self.tooltipLabels[5])) + self.s_quality.setToolTip(htmlize(self.tooltipLabels[6])) + self.s_label.setToolTip(htmlize(self.tooltipLabels[6])) + self.advanced_button.setToolTip(htmlize(self.tooltipLabels[7])) + + def __exit__(self,Event=None): + if self.exited==0: + self.update() + self.exited=1 + self.optionsOpen[0]=0 + if self.save_prefs()==False: + print "Warning!!!Couldn't save preferences" + sys.exit() + def hide(self,Event=None): + self.window.hide() + self.hidden[0]=1 + def show(self,Event=None): + self.window.show() + self.hidden[0]=0 + def __swap_visibility__(self,event=None): + if event.type()==QtCore.QEvent.WindowStateChange: + if self.window.windowState() == QtCore.Qt.WindowMinimized: + self.hidden[0]=self.minimized=1 + else: + self.hidden[0]=self.minimized=0 + + def advanced(self,button=None): + if self.optionsOpen[0] ==0: + self.optionsOpen[0]=1 + self.options=pW.prefsWidget(self.values,self.optionsOpen) + else: + if self.options != None: + self.options.window.close() + self.optionsOpen[0]=0 + def close_advanced(self): + if self.options != None: + if self.optionsOpen[0] ==1: + self.options.window.close() + self.optionsOpen[0]=0 + + def __fileSelect__(self,Event=None): + tfilename=QtGui.QFileDialog.getSaveFileName(self.window,'',self.values[4],"*.ogg *.ogg.*;; *.*") + if tfilename!= '': + self.values[4]=tfilename + def __select_window__(self,button=None): + xwininfo_com=['xwininfo','-frame'] + if self.values[21]==1: + xwininfo_com=['xwininfo'] + (stdin,stdout,stderr)=os.popen3(xwininfo_com,'t') + wid=stdout.readlines() + stdin.close() + stdout.close() + stderr.close() + x=y=width=height=None + for i in wid: + if i.lstrip().startswith('Absolute upper-left X:'): + x=int(i.split(' ')[len(i.split(' '))-1]) + elif i.lstrip().startswith('Absolute upper-left Y'): + y=int(i.split(' ')[len(i.split(' '))-1]) + elif i.lstrip().startswith('Width:'): + width=int(i.split(' ')[len(i.split(' '))-1]) + elif i.lstrip().startswith('Height:'): + height=int(i.split(' ')[len(i.split(' '))-1]) + if x<0: + width+=x + x=0 + if y<0: + height+=y + y=0 + if width+x>self.wwidth: width=self.wwidth-x + if height+y>self.wheight: height=self.wheight-y + self.values[5][0]=x + self.values[5][1]=y + self.values[5][2]=width+x + self.values[5][3]=height+y + self.image.x1=-1 + self.image.update() + + def __makeCons__(self): + self.advanced_button.connect(self.advanced_button,QtCore.SIGNAL("clicked()"),self.advanced) + self.file_button.connect(self.file_button,QtCore.SIGNAL("clicked()"),self.__fileSelect__) + self.quit_button.connect(self.quit_button,QtCore.SIGNAL("clicked()"),self.__exit__) + self.start_button.connect(self.start_button,QtCore.SIGNAL("clicked()"),self.trayIcon.record_ext) + self.s_button.connect(self.s_button,QtCore.SIGNAL("clicked()"),self.__sound_check__) + self.win_button.connect(self.win_button,QtCore.SIGNAL("clicked()"),self.__select_window__) + + def __sound_check__(self,widget=None): + self.s_quality.setEnabled(self.values[2]) + if self.s_button.checkState()==QtCore.Qt.Checked: + self.values[2]=True + else: + self.values[2]=False + + def update(self) : + self.values[10]=int(round((float(self.v_quality.value())*63.0)/100.0)) + self.values[11]=int(round(float(self.s_quality.value())/10.0)) + if self.values[10]>63: + self.values[10]=63 + if self.values[11]>10: + self.values[11]=10 + def load_prefs(self): + path=os.path.join(os.getenv("HOME"),".qt-recordmydesktop") + try: + self.values=[] + savefile=open(path,"r") + #the header + savefile.readline() + savefile.readline() + #the options,each has a coment above + for i in range(2): + savefile.readline() + self.values.append(int(savefile.readline())) + savefile.readline() + self.values.append(int(savefile.readline())==1) + savefile.readline() + self.values.append(int(savefile.readline())) + savefile.readline() + self.values.append(savefile.readline().replace("\n","")) + #recording area is not saved + self.values.append(rmdConfig.default_values[5]) + for i in range(3): + savefile.readline() + self.values.append(int(savefile.readline())) + savefile.readline() + self.values.append(savefile.readline().replace("\n","")) + for i in range(2): + savefile.readline() + self.values.append(int(savefile.readline())) + savefile.readline() + self.values.append(savefile.readline().replace("\n","")) + for i in range(4): + savefile.readline() + self.values.append(int(savefile.readline())) + savefile.readline() + self.values.append(savefile.readline().replace("\n","")) + for i in range(2): + savefile.readline() + self.values.append(int(savefile.readline())) + savefile.readline() + self.values.append(int(savefile.readline())==1) + #new options for 0.3.3 + p=savefile.readline() + if p=='': + self.values.append(rmdConfig.default_values[21]) + else: + self.values.append(int(savefile.readline())) + p=savefile.readline() + if p=='': + self.values.append(rmdConfig.default_values[22]) + self.values.append(rmdConfig.default_values[23]) + else: + self.values.append(int(savefile.readline())==1) + p=savefile.readline() + if p=='': + self.values.append(rmdConfig.default_values[23]) + else: + ports_t=savefile.readline().split(' ') + #get rid of the trailing \n + ports_t.pop() + self.values.append(ports_t) + p=savefile.readline() + if p=='': + self.values.append(rmdConfig.default_values[24]) + else: + self.values.append(int(savefile.readline())) + p=savefile.readline() + if p=='': + self.values.append(rmdConfig.default_values[25]) + else: + self.values.append(int(savefile.readline())) + return True + except: + return False + def save_prefs(self): + try: + path=os.path.join(os.getenv("HOME"),".qt-recordmydesktop") + savefile=open(path,"w") + savefile.write("#Order and overall number of lines must be preserved\n") + savefile.write("#For this file to be read correctly\n") + savefile.write("#Framerate\n") + savefile.write("%d\n"%self.values[0]) + savefile.write("#Cursor(0 xfixes,1 white,2 black,3 none)\n") + savefile.write("%d\n"%self.values[1]) + savefile.write("#Sound,0 disabled 1 enabled\n") + savefile.write("%d\n"%self.values[2]) + savefile.write("#Full shots,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[3]) + savefile.write("#Filename\n") + savefile.write("%s\n"%self.values[4]) + savefile.write("#Delay,seconds\n") + savefile.write("%d\n"%self.values[6]) + savefile.write("#Number of channels\n") + savefile.write("%d\n"%self.values[7]) + savefile.write("#Frequency\n") + savefile.write("%d\n"%self.values[8]) + savefile.write("#Sound-device\n") + savefile.write("%s\n"%self.values[9]) + savefile.write("#Video quality(0-63)\n") + savefile.write("%d\n"%self.values[10]) + savefile.write("#Audio quality(0-10)\n") + savefile.write("%d\n"%self.values[11]) + savefile.write("#Display\n") + savefile.write("%s\n"%self.values[12]) + savefile.write("#Shared memory,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[13]) + savefile.write("#Drop frames(encoder option),1 disabled 0 enabled.Unused at 0.3.0, removed at 0.3.4, preserved for compatibility of prefs file.\n") + savefile.write("%d\n"%self.values[14]) + savefile.write("#Shared memory threshold,0-100. Removed at 0.3.4," + " preserved for compatibility of prefs file\n") + savefile.write("%d\n"%self.values[15]) + savefile.write("#Quick subsampling,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[16]) + savefile.write("#Working directory(temporary files)\n") + savefile.write("%s\n"%self.values[17]) + savefile.write("#On the fly encoding,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[18]) + savefile.write("#Zero compression,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[19]) + savefile.write("#overwrite existing files,0 disabled 1 enabled\n") + savefile.write("%d\n"%self.values[20]) + savefile.write("#Include window decorations,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[21]) + savefile.write("#Use jack\n") + savefile.write("%d\n"%self.values[22]) + savefile.write("#last used jack ports\n") + for i in self.values[23]: + savefile.write("%s "%i) + savefile.write("\n") + savefile.write("#Tooltips,1 disabled 0 enabled\n") + savefile.write("%d\n"%self.values[24]) + savefile.write("#draw an on-screen frame, surrounding the capture area\n") + savefile.write("%d\n"%self.values[25]) + savefile.flush() + savefile.close() + return True + except: + return False + + def __init__(self): + if self.load_prefs()==False: + self.values= rmdConfig.default_values + self.optionsOpen=[0] + self.minimized=0 + self.exited=0 + self.window = QtGui.QWidget() + + self.window.closeEvent= self.__exit__ + self.window.changeEvent=self.__swap_visibility__ + self.window.setWindowTitle("recordMyDesktop") + + siz=QtGui.QApplication.desktop().screenGeometry() + (self.wwidth, self.wheight)=(siz.width(),siz.height()) + self.factor=1; + twidth=self.wwidth + while twidth>320 or self.factor<4: + twidth/=2 + self.factor*=2 + + self.__subWidgets__() + + self.trayIcon=trayIcon(self) + self.__makeCons__() + + if self.values[24]==0: + self.__tooltips__() + + self.window.show() + + + +if __name__ == "__main__": + import sys + + app=QtGui.QApplication(sys.argv) + w = simpleWidget() + app.exec_() + + + + + + + + diff --git a/qt-recordmydesktop/src/rmdTrayIcon.py b/qt-recordmydesktop/src/rmdTrayIcon.py new file mode 100644 index 0000000..b9a3bd0 --- /dev/null +++ b/qt-recordmydesktop/src/rmdTrayIcon.py @@ -0,0 +1,331 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + + +from PyQt4 import QtGui,QtCore +import locale, gettext +import rmdConfig +def _(s): + return QtCore.QString.fromUtf8(gettext.gettext(s)) +gettext.textdomain('qt-recordMyDesktop') +gettext.bindtextdomain('qt-recordMyDesktop',rmdConfig.locale_install_dir) + +import rmdTrayPopup as iTP +import rmdMonitor as imon +import os,signal,popen2,fcntl + +#values struct: + +#0 fps +#1 mouse +#2 sound on/off +#3 full +#4 path +#5 area +#6 delay +#7 channels +#8 frequency +#9 device +#10 v_quality +#11 s_quality +#12 display +#13 shared memory +#14 drop-frames +#15 shared threshold +#16 quick subsampling + + +class trayIcon(object): + #values=[15,0,0,1,os.path.join(os.getenv('HOME'),'out.ogg'),[-1,-1,-1,-1],0, + #1,22050,'hw:0,0',63,10,"$DISPLAY",0,1,75,1] + exit_status={ + 0:_('Success'), + 1*256:_('Error while parsing the arguments.'), + 2*256:_('Initializing the encoder failed(either vorbis or theora)'), + 3*256:_('Could not open/configure sound card.'), + 4*256:_('Xdamage extension not present.'), + 5*256:_('Shared memory extension not present.'), + 6*256:_('Xfixes extension not present.'), + 7*256:_('XInitThreads failed.'), + 8*256:_('No $DISPLAY environment variable and none specified as argument.'), + 9*256:_('Cannot connect to Xserver.'), + 10*256:_('Color depth is not 24bpp.'), + 11*256:_('Improper window specification.'), + 12*256:_('Cannot attach shared memory to proccess.'), + 13*256:_('Cannot open file for writting.'), + 14*256:_('Cannot load the Jack library (dlopen/dlsym error on libjack.so).'), + 15*256:_('Cannot create new client.'), + 16*256:_('Cannot activate client.'), + 17*256:_('Port registration/connection failure.'), + 11:_('Segmentation Fault') + } + + + state=0#0 stopped,1 recording,2 paused + rmdPid=None + optionsOpen=[1] + reopen=0 + timed_id=None + + def __set_icon__(self,widget,icon): + widget.setIcon(QtGui.QIcon(self.__get_icon_location__(icon))) + + + def __buttonPress__(self,ActivationReason): + button=0 + if ActivationReason==QtGui.QSystemTrayIcon.Trigger: + button=1 + elif ActivationReason==QtGui.QSystemTrayIcon.Context: + button=3 + #print button + if button==1 and self.state>=0: + if self.state == 0: + if self.optionsOpen[0]==1: + self.parent.hide() + self.optionsOpen[0]=0 + self.reopen=1 + self.__set_icon__(self.trayIcon,"stop") + self.state=1 + self.__execRMD__() + elif self.state== 1: + self.__set_icon__(self.trayIcon,"start") + self.state=0 + self.__stopRMD__() + elif self.state == 2 : + self.__set_icon__(self.trayIcon,"stop") + self.state=1 + self.__pauseRMD__() + + + elif button == 3 and self.state>=0: + if self.state == 0: + pass + self.tray_popup.popupmenu.popup(QtGui.QCursor.pos()) + elif self.state == 1: + self.__set_icon__(self.trayIcon,"pause") + self.state=2 + self.__pauseRMD__() + elif self.state ==2: + self.__set_icon__(self.trayIcon,"stop") + self.state=1 + self.__pauseRMD__() + def record_ext(self,button=None): + if self.state == 0: + if self.optionsOpen[0]==1: + self.parent.hide() + self.optionsOpen[0]=0 + self.reopen=1 + self.__set_icon__(self.trayIcon,"stop") + self.state=1 + self.__execRMD__() + + def __execRMD__(self): + self.parent.close_advanced() + self.parent.update() + self.execargs=["recordmydesktop","-o",'%s'%self.parent.values[4], + "-fps","%d"%self.parent.values[0]] + if self.parent.values[2]==False : + self.execargs.append("--no-sound") + if self.parent.values[1] == 1: + self.execargs.append("-dummy-cursor") + self.execargs.append("white") + elif self.parent.values[1] == 2: + self.execargs.append("-dummy-cursor") + self.execargs.append("black") + elif self.parent.values[1] == 3: + self.execargs.append("--no-cursor") + + if self.parent.values[3] == 0: + self.execargs.append("--full-shots") + if self.parent.values[13] == 1: + self.execargs.append("--no-shared") + if self.parent.values[5][0]>0 : + self.execargs.append('-x') + self.execargs.append('%d'%self.parent.values[5][0]) + if self.parent.values[5][1]>0: + self.execargs.append('-y') + self.execargs.append('%d'%self.parent.values[5][1]) + if self.parent.values[5][2]>0 and self.parent.values[5][3]>0: + self.execargs.append('-width') + self.execargs.append('%d'%(self.parent.values[5][2]-self.parent.values[5][0])) + self.execargs.append('-height') + self.execargs.append('%d'%(self.parent.values[5][3]-self.parent.values[5][1])) + for i in range(4): + self.parent.values[5][i]=-1 + if self.parent.values[6]>0: + self.execargs.append('-delay') + self.execargs.append('%d'%self.parent.values[6]) + self.execargs.append('-channels') + self.execargs.append('%d'%self.parent.values[7]) + self.execargs.append('-freq') + self.execargs.append('%d'%self.parent.values[8]) + if self.parent.values[9]!='DEFAULT': + self.execargs.append('-device') + self.execargs.append('%s'%self.parent.values[9]) + self.execargs.append('-v_quality') + self.execargs.append('%d'%self.parent.values[10]) + self.execargs.append('-s_quality') + self.execargs.append('%d'%self.parent.values[11]) + if self.parent.values[12] != "$DISPLAY": + self.execargs.append('-display') + self.execargs.append('%s'%self.parent.values[12]) + if self.parent.values[16] == 0: + self.execargs.append('--quick-subsampling') + self.execargs.append('-workdir') + self.execargs.append('%s'%self.parent.values[17]) + if self.parent.values[18] == 0: + self.execargs.append('--on-the-fly-encoding') + if self.parent.values[19] == 0: + self.execargs.append('--zero-compression') + if self.parent.values[20] == True: + self.execargs.append('--overwrite') + if self.parent.values[22] == True: + self.execargs.append('-use-jack') + portstring="" + for i in self.parent.values[23]: + portstring+=i+"," + portstring=portstring.rstrip(",") + self.execargs.append(portstring) + #print execargs + + + + self.childP=popen2.Popen3(self.execargs,"t") + flags = fcntl.fcntl(self.childP.childerr, fcntl.F_GETFL) + fcntl.fcntl(self.childP.childerr, fcntl.F_SETFL, flags | os.O_NONBLOCK) + self.rmdPid=self.childP.pid + self.timed_id=QtCore.QTimer(None) + self.timed_id.connect(self.timed_id,QtCore.SIGNAL("timeout()"), + self.__check_status__) + self.timed_id.start(1000) + + def __exit_status_dialog(self,status): + #first try to write down a log for examination + try: + error_log=open(os.path.join(os.getenv("HOME"),"qt-recordMyDesktop-crash.log"),"w") + error_log.write("#This is the command given at initialization:\n") + for i in self.execargs: + error_log.write("%s "%i) + error_log.write("\n\n\n#recordMyDesktop stderror output:\n") + try: + for err_line in self.childP.childerr.readlines(): + error_log.write(err_line) + except: + error_log.write("Couldn't write stderror of recordMyDesktop!\n") + self.childP.childerr.close() + except: + print "Couldn't write error log.\n" + self.dialog = QtGui.QWidget() + self.label1=None + try: + self.label1 = QtGui.QLabel("\t\t"+_("Recording is finished.\nrecordMyDesktop has exited with status")+ + ": %d\n"%(status)+_("Description")+":%s\n"%(self.exit_status[int(status)])) + except: + self.label1 = QtGui.QLabel("\t\t"+_("Recording is finished.\nrecordMyDesktop has exited with uknown\nerror code")+": %d \n"%(status)) + self.label1.setAlignment(QtCore.Qt.AlignHCenter) + self.dialogbutton = QtGui.QPushButton("Ok",self.dialog) + self.dialogbutton.connect(self.dialogbutton,QtCore.SIGNAL("clicked()"),self.dialog.close ) + self.dialogLayout=QtGui.QVBoxLayout() + self.dialogLayout.addWidget(self.label1) + self.dialogLayout.addWidget(self.dialogbutton) + + self.label1.show() + self.dialogbutton.show() + self.dialog.setLayout(self.dialogLayout) + self.dialog.resize(300,128) + self.dialog.show() + + def __pauseRMD__(self): + os.kill(self.rmdPid,signal.SIGUSR1) + + def __stopRMD__(self): + if self.timed_id!=None: + self.timed_id.stop() + self.timed_id=None + exit_ret=os.waitpid(self.rmdPid,os.WNOHANG) + if exit_ret[0] == 0: + os.kill(self.rmdPid,signal.SIGTERM) + self.state=-1 + monitor=imon.rmdMonitor(self.childP.fromchild,self.rmdPid,self.parent) + self.state=0 + else: + self.__exit_status_dialog(exit_ret[1]) + self.parent.show() + self.rmdPid=None + if self.reopen==1: + self.optionsOpen[0]=1 + self.reopen=0 + + #print exit_ret + def __check_status__(self): + if self.rmdPid!=None: + exit_ret=os.waitpid(self.rmdPid,os.WNOHANG) + if exit_ret[0] != 0: + self.state=0 + self.__set_icon__(self.trayIcon,"start") + self.__exit_status_dialog(exit_ret[1]) + self.rmdPid=None + if self.reopen==1: + self.parent.show() + self.optionsOpen[0]=1 + self.reopen=0 + self.timed_id.stop() + return False + else: + return True + else: + self.timed_id.stop() + return False + def __get_icon_location__(self,name): + if name=="start": + return "icons/rec1.png" + elif name=="stop": + return "icons/stop1.png" + elif name=="pause": + return "icons/pause1.png" + + def __init__(self,parent): + self.parent=parent + self.trayIcon=QtGui.QSystemTrayIcon(None) + self.__set_icon__(self.trayIcon,"start") + self.tray_popup=iTP.TrayPopupMenu(self.parent,self.parent.values,self.optionsOpen) + self.trayIcon.connect(self.trayIcon,QtCore.SIGNAL("activated(QSystemTrayIcon::ActivationReason)"),self.__buttonPress__) + self.trayIcon.show() + + +if __name__ == "__main__": + import sys + + app=QtGui.QApplication(sys.argv) + app.values=rmdConfig.default_values + w = trayIcon(app) + app.exec_() + + + + + + diff --git a/qt-recordmydesktop/src/rmdTrayPopup.py b/qt-recordmydesktop/src/rmdTrayPopup.py new file mode 100644 index 0000000..0c3b5c4 --- /dev/null +++ b/qt-recordmydesktop/src/rmdTrayPopup.py @@ -0,0 +1,70 @@ +#/****************************************************************************** +#* qt-recordMyDesktop * +#******************************************************************************* +#* * +#* Copyright (C) 2007 John Varouhakis * +#* * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU General Public License as published by * +#* the Free Software Foundation; either version 2 of the License, or * +#* (at your option) any later version. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#******************************************************************************/ + +from PyQt4 import QtGui,QtCore +import locale, gettext +import rmdConfig +def _(s): + return QtCore.QString.fromUtf8(gettext.gettext(s)) +gettext.textdomain('qt-recordMyDesktop') +gettext.bindtextdomain('qt-recordMyDesktop',rmdConfig.locale_install_dir) + +import rmdSelect as iSel +import sys +#import rmdPrefsWidget as pW + +class TrayPopupMenu: + options=None + def __init__(self,parent,values,optionsOpen): + self.parent=parent + self.optionsOpen=optionsOpen + self.values=values + self._setup_popup_menu() + self.selector = None + def _setup_popup_menu(self): + self.popupmenu = QtGui.QMenu() + self.popupmenu.addAction(_("Preferences"),self._prefs_widget) + self.popupmenu.addAction(_("_Select Area On Screen").replace("_",""),self._select_area_cb) + self.popupmenu.addAction(_("Quit"),self.parent.window.close) + + def _prefs_widget(self): + if self.optionsOpen[0] ==0: + self.optionsOpen[0]=1 + self.parent.show() + else: + self.parent.hide() + self.optionsOpen[0]=0 + + def _select_area_cb(self): + self.popupmenu.hide() + self.selector = iSel.QtAreaSelector(self.values[5]) + self.selector.showFullScreen() + self.parent.image.x1=-1 + def show(self): + QtGui.QMenu.show(self.popupmenu) + def hide(self): + self.popupmenu.hide() + |