diff -Nru kaffeine-1.1/AUTHORS kaffeine-1.2.2/AUTHORS --- kaffeine-1.1/AUTHORS 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/AUTHORS 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -Maintainer: - Christoph Pfister - - -Contributors: - Devin Heitmueller - ATSC patches - Fabian Schury - Playback and playlist patches - - -Former maintainers (KDE3 Kaffeine): - Christophe Thommeret - Jürgen Kofler diff -Nru kaffeine-1.1/Changelog kaffeine-1.2.2/Changelog --- kaffeine-1.1/Changelog 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/Changelog 2011-04-17 21:17:19.000000000 +0200 @@ -2,6 +2,18 @@ Kaffeine Changelog ------------------ +Version 1.2.2 (2011-04-17): + - fix crash after removing channels + +Version 1.2.1 (2011-04-05): + - fix dvb-s2 tuning regression + +Version 1.2 (2011-04-04): + - add search function to epg + - implement ATSC support for epg + - fix gnome screen saver inhibition + - other fixes and improvements ... + Version 1.1 (2010-09-01): - adapt to new shared-mime-info (so that .m2t is assigned to kaffeine again) - workaround issue that video isn't shown without changing tabs when using QT 4.7 diff -Nru kaffeine-1.1/CMakeLists.txt kaffeine-1.2.2/CMakeLists.txt --- kaffeine-1.1/CMakeLists.txt 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/CMakeLists.txt 2011-04-17 21:17:19.000000000 +0200 @@ -6,6 +6,11 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${X11_INCLUDE_DIR} ${X11_Xscreensaver_INCLUDE_PATH} ${XINE_INCLUDE_DIR}) add_definitions(${KDE4_DEFINITIONS}) +if(DEFINED QT_VERSION_MAJOR) + # qt 4.5.?? has problems with strict iterators + add_definitions(-DQT_STRICT_ITERATORS) +endif(DEFINED QT_VERSION_MAJOR) + check_include_files(${CMAKE_CURRENT_SOURCE_DIR}/include/frontend.h HAVE_DVB) if(NOT HAVE_DVB) diff -Nru kaffeine-1.1/COPYING kaffeine-1.2.2/COPYING --- kaffeine-1.1/COPYING 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/COPYING 2011-04-17 21:17:19.000000000 +0200 @@ -1,12 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public @@ -56,7 +56,7 @@ The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains @@ -255,7 +255,7 @@ of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + 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 @@ -277,9 +277,9 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs + 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 diff -Nru kaffeine-1.1/COPYING-DOCS kaffeine-1.2.2/COPYING-DOCS --- kaffeine-1.1/COPYING-DOCS 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/COPYING-DOCS 2011-04-17 21:17:19.000000000 +0200 @@ -1,13 +1,13 @@ - GNU Free Documentation License - Version 1.2, November 2002 + GNU Free Documentation License + Version 1.3, 3 November 2008 - Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other @@ -50,11 +50,11 @@ A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (Thus, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. @@ -103,6 +103,9 @@ the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. +The "publisher" means any person or entity that distributes copies of +the Document to the public. + A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a @@ -118,14 +121,13 @@ implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. - 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use +to the Document are reproduced in all copies, and that you add no +other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough @@ -169,8 +171,9 @@ edition to the public. It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. +Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. 4. MODIFICATIONS @@ -285,16 +288,18 @@ 6. COLLECTIONS OF DOCUMENTS -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the rules +of this License for verbatim copying of each of the documents in all +other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. 7. AGGREGATION WITH INDEPENDENT WORKS @@ -340,21 +345,38 @@ 9. TERMINATION -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document 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. +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation 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. See +The Free Software Foundation may publish new, revised versions of the +GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. @@ -364,7 +386,39 @@ of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +11. RELICENSING + +"Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +"Massive Multiauthor Collaboration" (or "MMC") contained in the site +means any set of copyrightable works thus published on the MMC site. + +"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +"Incorporate" means to publish or republish a Document, in whole or in +part, as part of another Document. + +An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole or +in part into the MMC, (1) had no cover texts or invariant sections, and +(2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. ADDENDUM: How to use this License for your documents @@ -375,7 +429,7 @@ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.2 + under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU diff -Nru kaffeine-1.1/debian/changelog kaffeine-1.2.2/debian/changelog --- kaffeine-1.1/debian/changelog 2010-11-18 17:58:36.000000000 +0100 +++ kaffeine-1.2.2/debian/changelog 2011-05-07 00:17:10.000000000 +0200 @@ -1,3 +1,33 @@ +kaffeine (1.2.2-1ubuntu1) oneiric; urgency=low + + * Merge from debian unstable. (LP: #774874) Remaining changes: + - Suggest, not depend, on libxine1-ffmpeg + - Keep kubuntu_01_kaffeine_restricted_install.diff + * Refresh kubuntu_01_kaffeine_restricted_install.diff + + -- Philip Muškovac Wed, 04 May 2011 20:06:31 +0200 + +kaffeine (1.2.2-1) unstable; urgency=low + + * New upstream release/ + + -- Fathi Boudra Sun, 01 May 2011 11:55:48 +0300 + +kaffeine (1.1-2) unstable; urgency=low + + * Upload to Sid. + * Bump Standards-Version to 3.9.1 (no changes needed). + + -- Fathi Boudra Sun, 20 Feb 2011 17:17:09 +0200 + +kaffeine (1.1-1) experimental; urgency=low + + * New upstream release + - .m2t is assigned to kaffeine again (Closes: #596671) + * Upload to experimental while we await squeeze + + -- Mark Purcell Sat, 25 Sep 2010 08:45:50 +1000 + kaffeine (1.1-0ubuntu2) natty; urgency=low * In kubuntu_01_kaffeine_restricted_install.diff install GStreamer @@ -843,7 +873,7 @@ * Updated package description. * Added 12_gstreamer_service_menu.diff, based on Kubuntu's patch kubuntu_02_gstreamer_service_menu.diff to change name, icon and MIME types - of the GStreamer part. + of the GStreamer part. * Added 13_xine_service_menu.diff to change name of the xine part. * Added kubuntu_03_gstreamer_stop.diff from Kubuntu to not attempt to play the logo file when the stop button is pressed. @@ -1027,7 +1057,7 @@ * Diverted user settings to '~/.kde/share/apps/kaffeine'. Closes: #261245 * Removed logo.avi - if this is a big problem, we can talk. - * Now build-depends on libxine-dev >= 1-rc5-1. Closes: #268819 + * Now build-depends on libxine-dev >= 1-rc5-1. Closes: #268819 -- Zack Cerza Tue, 7 Sep 2004 23:11:30 -0400 diff -Nru kaffeine-1.1/debian/control kaffeine-1.2.2/debian/control --- kaffeine-1.1/debian/control 2010-06-04 04:06:18.000000000 +0200 +++ kaffeine-1.2.2/debian/control 2011-05-07 00:16:38.000000000 +0200 @@ -6,16 +6,16 @@ Uploaders: Fathi Boudra , Mark Purcell , Michael Meskes Build-Depends: debhelper (>= 7.4.15), cmake, pkg-kde-tools (>= 0.9.0), kdelibs5-dev (>= 4:4.4.4), libxine-dev, libx11-dev, libxss-dev -Standards-Version: 3.8.4 +Standards-Version: 3.9.2 Homepage: http://kaffeine.kde.org -Vcs-Browser: http://bazaar.launchpad.net/~kubuntu-members/kaffeine/ubuntu -Vcs-Svn: https://code.launchpad.net/~kubuntu-members/kaffeine/ubuntu +Vcs-Browser: http://bazaar.launchpad.net/~kubuntu-packagers/kaffeine/ubuntu +Vcs-Bzr: https://code.launchpad.net/~kubuntu-packagers/kaffeine/ubuntu Package: kaffeine Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libxine1-x, libqt4-sql-sqlite -Suggests: libxine1-ffmpeg +Suggests: libdvdcss2, libxine1-ffmpeg Description: versatile media player for KDE Kaffeine is a media player for KDE. While It supports multiple Phonon backends, its default backend is Xine, giving Kaffeine a wide variety of diff -Nru kaffeine-1.1/debian/kaffeine.docs kaffeine-1.2.2/debian/kaffeine.docs --- kaffeine-1.1/debian/kaffeine.docs 2010-02-12 00:29:51.000000000 +0100 +++ kaffeine-1.2.2/debian/kaffeine.docs 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -TODO diff -Nru kaffeine-1.1/debian/kaffeine.install kaffeine-1.2.2/debian/kaffeine.install --- kaffeine-1.1/debian/kaffeine.install 2010-06-02 09:50:01.000000000 +0200 +++ kaffeine-1.2.2/debian/kaffeine.install 2011-05-02 13:07:21.000000000 +0200 @@ -3,6 +3,8 @@ usr/bin/kaffeine usr/bin/kaffeine-xbu usr/share/applications/kde4/kaffeine.desktop +usr/share/icons/hicolor/*/apps/kaffeine.png +usr/share/icons/hicolor/scalable/apps/kaffeine.svgz usr/share/icons/oxygen/*/actions/audio-radio-encrypted.png usr/share/icons/oxygen/*/actions/video-television-encrypted.png usr/share/kde4/apps/kaffeine/scanfile.dvb diff -Nru kaffeine-1.1/debian/patches/debian-changes-1.1-0ubuntu2 kaffeine-1.2.2/debian/patches/debian-changes-1.1-0ubuntu2 --- kaffeine-1.1/debian/patches/debian-changes-1.1-0ubuntu2 2010-11-18 17:58:44.000000000 +0100 +++ kaffeine-1.2.2/debian/patches/debian-changes-1.1-0ubuntu2 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ -Description: Upstream changes introduced in version 1.1-0ubuntu2 - This patch has been created by dpkg-source during the package build. - Here's the last changelog entry, hopefully it gives details on why - those changes were made: - . - kaffeine (1.1-0ubuntu2) natty; urgency=low - . - * In kubuntu_01_kaffeine_restricted_install.diff install GStreamer - plugin instead of Xine - . - The person named in the Author field signed this changelog entry. -Author: Jonathan Riddell - ---- -The information above should follow the Patch Tagging Guidelines, please -checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here -are templates for supplementary fields that you might want to add: - -Origin: , -Bug: -Bug-Debian: http://bugs.debian.org/ -Bug-Ubuntu: https://launchpad.net/bugs/ -Forwarded: -Reviewed-By: -Last-Update: - ---- kaffeine-1.1.orig/src/main.cpp -+++ kaffeine-1.1/src/main.cpp -@@ -86,7 +86,7 @@ int main(int argc, char *argv[]) - "installRestricted"); - QList dbusargs; - dbusargs.append("Kaffeine"); -- dbusargs.append("gstreamer0.10-ffmpeg"); -+ dbusargs.append("libxine1-ffmpeg"); - m.setArguments(dbusargs); - bool queued = QDBusConnection::sessionBus().send(m); - diff -Nru kaffeine-1.1/debian/patches/kubuntu_01_kaffeine_restricted_install.diff kaffeine-1.2.2/debian/patches/kubuntu_01_kaffeine_restricted_install.diff --- kaffeine-1.1/debian/patches/kubuntu_01_kaffeine_restricted_install.diff 2010-11-18 17:58:19.000000000 +0100 +++ kaffeine-1.2.2/debian/patches/kubuntu_01_kaffeine_restricted_install.diff 2011-05-04 20:00:53.000000000 +0200 @@ -1,7 +1,7 @@ -Index: kaffeine-1.0/src/main.cpp +Index: kaffeine-1.2.2-1ubuntu1/src/main.cpp =================================================================== ---- kaffeine-1.0.orig/src/main.cpp 2010-06-04 04:15:06.075075795 +0200 -+++ kaffeine-1.0/src/main.cpp 2010-06-04 04:16:34.795695977 +0200 +--- kaffeine-1.2.2-1ubuntu1.orig/src/main.cpp 2011-05-04 19:59:49.028795894 +0200 ++++ kaffeine-1.2.2-1ubuntu1/src/main.cpp 2011-05-04 20:00:49.469814611 +0200 @@ -24,6 +24,8 @@ #include #include "mainwindow.h" diff -Nru kaffeine-1.1/debian/patches/series kaffeine-1.2.2/debian/patches/series --- kaffeine-1.1/debian/patches/series 2010-11-18 17:58:44.000000000 +0100 +++ kaffeine-1.2.2/debian/patches/series 2011-05-04 19:59:42.000000000 +0200 @@ -1,2 +1 @@ kubuntu_01_kaffeine_restricted_install.diff -debian-changes-1.1-0ubuntu2 diff -Nru kaffeine-1.1/deviceactions/kaffeine_play_audiocd.desktop kaffeine-1.2.2/deviceactions/kaffeine_play_audiocd.desktop --- kaffeine-1.1/deviceactions/kaffeine_play_audiocd.desktop 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/deviceactions/kaffeine_play_audiocd.desktop 2011-04-17 21:17:19.000000000 +0200 @@ -24,7 +24,7 @@ Name[hu]=Hang-CD lejátszása a Kaffeine-nel Name[is]=Spila hljóð-CD með Kaffeine Name[it]=Riproduci CD audio con Kaffeine -Name[km]=ចាក់​ស៊ីឌី​អូឌីយ៉ូ​ជាមួយ Kaffeine +Name[km]=ចាក់​ស៊ីឌី​អូឌីយ៉ូ​ដោយ​ប្រើ​ Kaffeine Name[ko]=Kaffeine으로 오디오 CD 재생하기 Name[lt]=Groti Audio CD su Kaffeine Name[lv]=Atskaņot Audio CD ar Kaffeine @@ -50,5 +50,6 @@ Name[uk]=Відтворити Аудіо-КД за допомогою Kaffeine Name[x-test]=xxPlay Audio CD with Kaffeinexx Name[zh_CN]=用 Kaffeine 播放音频 CD -Exec=kaffeine --audiocd %f +Name[zh_TW]=用 Kaffeine 播放音樂光碟 +Exec=kaffeine --audiocd %d Icon=kaffeine diff -Nru kaffeine-1.1/deviceactions/kaffeine_play_dvd.desktop kaffeine-1.2.2/deviceactions/kaffeine_play_dvd.desktop --- kaffeine-1.1/deviceactions/kaffeine_play_dvd.desktop 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/deviceactions/kaffeine_play_dvd.desktop 2011-04-17 21:17:19.000000000 +0200 @@ -24,7 +24,7 @@ Name[hu]=DVD lejátszása a Kaffeine-nel Name[is]=Spila DVD með Kaffeine Name[it]=Riproduci DVD con Kaffeine -Name[km]=ចាក់​ឌីវីឌី​ជាមួយ Kaffeine +Name[km]=ចាក់​ឌីវីឌី​ដោយ​ប្រើ​ Kaffeine Name[ko]=Kaffeine으로 DVD 재생하기 Name[lt]=Groti DVD su Kaffeine Name[lv]=Atskaņot DVD ar Kaffeine @@ -51,5 +51,5 @@ Name[x-test]=xxPlay DVD with Kaffeinexx Name[zh_CN]=用 Kaffeine 播放 DVD Name[zh_TW]=用 Kaffeine 播放 DVD -Exec=kaffeine --dvd %f +Exec=kaffeine --dvd %d Icon=kaffeine diff -Nru kaffeine-1.1/deviceactions/kaffeine_play_videocd.desktop kaffeine-1.2.2/deviceactions/kaffeine_play_videocd.desktop --- kaffeine-1.1/deviceactions/kaffeine_play_videocd.desktop 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/deviceactions/kaffeine_play_videocd.desktop 2011-04-17 21:17:19.000000000 +0200 @@ -42,5 +42,6 @@ Name[uk]=Відтворити відео-КД за допомогою Kaffeine Name[x-test]=xxPlay Video CD with Kaffeinexx Name[zh_CN]=用 Kaffeine 播放视频 CD -Exec=kaffeine --videocd %f +Name[zh_TW]=用 Kaffeine 播放影像光碟 +Exec=kaffeine --videocd %d Icon=kaffeine Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hi128-apps-kaffeine.png and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hi128-apps-kaffeine.png differ Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hi16-apps-kaffeine.png and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hi16-apps-kaffeine.png differ Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hi22-apps-kaffeine.png and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hi22-apps-kaffeine.png differ Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hi32-apps-kaffeine.png and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hi32-apps-kaffeine.png differ Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hi48-apps-kaffeine.png and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hi48-apps-kaffeine.png differ Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hi64-apps-kaffeine.png and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hi64-apps-kaffeine.png differ Binary files /tmp/u48DqO00dB/kaffeine-1.1/icons/hisc-apps-kaffeine.svgz and /tmp/ElebIofE1T/kaffeine-1.2.2/icons/hisc-apps-kaffeine.svgz differ diff -Nru kaffeine-1.1/INSTALL kaffeine-1.2.2/INSTALL --- kaffeine-1.1/INSTALL 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -------------------- -Installing Kaffeine -------------------- - -You need development headers for QT 4.4, KDE 4.2 (minimum versions), xine-lib, -libXss and libX11. For the translations gettext is needed. - -Create an empty build dir and do the following steps: -# cmake -# make -# make install - -Useful options include -DCMAKE_INSTALL_PREFIX= (installation prefix -for Kaffeine), -DCMAKE_BUILD_TYPE= and -DKDE4_ENABLE_FINAL=ON. - -For further information look for generic KDE4 / cmake instructions. diff -Nru kaffeine-1.1/po/ar/kaffeine.po kaffeine-1.2.2/po/ar/kaffeine.po --- kaffeine-1.1/po/ar/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ar/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-07-31 13:25+0400\n" "Last-Translator: Zayed Al-Saidi \n" "Language-Team: Arabic \n" @@ -17,7 +17,7 @@ "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "كافيين" @@ -25,312 +25,373 @@ msgid "A media player for KDE with digital TV support." msgstr "مشغل وسائط لكدي مع دعم التلفاز الرقمي." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 مؤلفو كافيين" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "مسئول الصيانة" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 شغّل ملف" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 شغّل القرص الصوتي" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 شغّل فيديو سي دي" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 شغّل فيديو ديفيدي" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 تلفاز رقمي" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "اضبط كافيين" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "الوضع الأدنى" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "الوضع الأدنى" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "وضع ملء الشاشة" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "مدة القفزة القصيرة:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "مدّة القفزة الطويلة:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&ملف" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "افتح عنوان" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "شغّل قرص صوتي" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "شغّل فيديو سي دي" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "شغّل ديفيدي" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "شغّل ديفيدي" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "الت&شغل" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&قائمة التشغيل" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "ال&تلفاز" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "إ&عدادات" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "ابدأ" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "التشغيل" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "قائمة التشغيل" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "التلفاز" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "ابدأ في نمط ملء الشاشة" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(خيار مهمل)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "شغّل قناة تلفاز" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "شغّل آخر قناة تلفاز مضبوطة" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "أفرغ بيانات دي في دي (خيار التنقيح)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "تشغيل ملفات أو عناوين" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "افتح عنوان" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "أدخل عنواناً:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "اقفز إلى موضع" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "أدخل موضع:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "السابق" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "شغّل" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "قف مؤقتاً" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "توقّف" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "التالي" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "وضع ملء الشاشة" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "الوضع الأدنى" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "إيقاف" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "الصوت" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "زد مستوى الصوت" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "اخفض مستوى الصوت" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "اكتم الصوت" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "فيديو" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "تشابك" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "نسبة الإرتفاع" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "آلي" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "مناسب للنافذه " -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "إعادة التحجيم بشكل آلي" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "متوقف" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "الحجم الأصلي" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "ضعف الحجم الأصلي" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "مزلاق مستوى الصوت" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "اقفز إلى موضع" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "تخطّى" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "تخطي %1ث إلى الوراء" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "تخطي %1ث إلى الأمام" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "مزلاق المشاهدة" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "قائمة التبديل" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "العنوان" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "الفصل" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "الزاوية" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "التبديل بين عرض الوقت المنقضي والوقت المتبقي" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "ملفات الوسائط المدعومة" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "جميع الملفات" @@ -345,7 +406,7 @@ msgid "Exit Minimal Mode" msgstr "اخرج من وضع الحد الأدنى" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "موقوف" @@ -396,163 +457,191 @@ msgid "Your emails" msgstr "zayed.alsaidi@gmail.com, basem@linuxac.org" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "من فضلك قم بتنصيب إضافة Qt SQLite." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "غير قادر على فتح قاعدة بيانات SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "أداة داخلية للكافيين." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "أفقي" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "عمودي" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "تدوير لليسار" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "تدوير لليمين" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "الاسم" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "القناة" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "الرقم" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "حرّر" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "أزل" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "إعدادات القناة" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "أفقي" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "عمودي" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "تدوير لليسار" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "تدوير لليمين" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "القناة" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "الاسم:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "الرقم:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "المصدر:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "تردد (ميجاهرتز):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "معدل الرمز (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "التحوير:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "معدل FEC :" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "الاستقطاب:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "عرض النطاق:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC rate LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "وضع النقل:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "فاصل الحارس:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "التسلسل الهرمي:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "رقم تعريف العملية الخاص بـ PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "رقم تعريف العملية الخاص بالفديو:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "رقم تعريف العملية الخاص بالترجمة:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "رقم تعريف العملية الخاص بـ Teletext:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "رقم هوية الشبكة:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "رقم هوية سيل النقل:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "رقم هوية الخدمة:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "صوت القناة:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "التشفير:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "اضبط التلفاز" @@ -580,7 +669,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "استخدم الترميز ISO 8859-1 عوضاً عن الترميز ISO 6937 :" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "آخر تحديث لبيانات المسح تم في %1 " @@ -609,26 +698,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "خيارات عامة" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "جهاز %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "تحديث بيانات المسح من خلال الإنترنت" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "يتم تنزيل بيانات المسح" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "عملية تحديث بيانات المسح فشلت." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -636,273 +731,344 @@ "تحديث بيانات المسح تم بنجاح. والتغيرات سيسري \n" " مفعولها بعد إغلاقك قائمة الإعداد." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "الاسم: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "حرك لليسار" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "إعادة تعيين" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "أزل" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "حرك لليمين" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "الجهاز غير متصل." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "كايبل" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "أرضي" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "المسح آلي" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "المسح آلي بإزاحة قدرها 167 كيلو هرتز" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "المسح آلي استراليا" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "المسح آلي إيطاليا" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "المسح آلي تايوان" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "مهلة الضبط (م.ث):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "المصدر:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "لا يوجد مصدر" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "الاسم:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "الضبط:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC تبديل" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS دوار" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "تدوير المواضع" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "إعدادات LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "إعدادات LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "أضف قمر" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "القمر" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "الموضع" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "أزل القمر" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universal LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB مخصص" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "تغيير التردد (ميجا هرتز)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Low band LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "High band LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontal LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertical LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "البداية" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "المدة" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "العنوان" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "مرشد البرنامج" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "برنامج الجدولة" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "جدولة التسجيل" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "بحث:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "لا يوجد جهاز ." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "ابدأ" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "المدة" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "العنوان" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "القناة" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "لا يوجد جهاز ." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "لا يوجد جهاز ." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "جدولة التسجيل" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "جديد" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "الاسم" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "حرّر مدخلة الجدولة" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "الاسم:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "القناة:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "البداية:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "ابدأ" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "المدة:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "النهاية:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "التكرار:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "لا يوجد" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "يومي" @@ -923,99 +1089,129 @@ msgid "SNR" msgstr "نسبة الضجيج إلى الإشارة (SNR)" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "القنوات" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "امح" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "مسح القناة" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "ابدأ المسح" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "إشارة:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "نسبة الضجيج إلى الإشارة (SNR):" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "موالف الضبط:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "المُرشِّح" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "حرّ للبث" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "راديو" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "تلفاز" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "المزود:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "أضف مُرشَّح" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "أضف المُختار" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "نتائج المسح" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "الباقة الحالية" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "توقف عن المسح" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "مرشد البرنامج" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "عرض على الشاشة" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "جدولة التسجيل" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "تسجيل آني" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "اضبط التلفاز" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "بحث:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "القناة: %1_ " -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "التسجيل الآني ابتدأ" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "التسجيل الآني تَوقف" @@ -1060,26 +1256,26 @@ msgid "Random" msgstr "عشوائي" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "أضف ترجمة" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "أعد التسمية" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "قائمة تشغيل غير مسماة" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "ملفات الترجمة" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1090,6 +1286,51 @@ "*.m3u|M3U قائمة تشغيل\n" "*.pls|PLS قائمة تشغيل" +#~ msgid "Channel Settings" +#~ msgstr "إعدادات القناة" + +#~ msgid "Name" +#~ msgstr "الاسم" + +#~ msgid "Edit" +#~ msgstr "حرّر" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "أزل" + +#~ msgid "Remove" +#~ msgstr "أزل" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "البداية" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "البداية:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "جديد" + +#~ msgid "Duration" +#~ msgstr "المدة" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "برنامج الجدولة" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "الاسم" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "تحديث" diff -Nru kaffeine-1.1/po/ast/kaffeine.po kaffeine-1.2.2/po/ast/kaffeine.po --- kaffeine-1.1/po/ast/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ast/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,9 +7,9 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2009-12-07 17:19+0100\n" -"Last-Translator: astur \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2010-10-19 22:11+0100\n" +"Last-Translator: Iñigo Varela \n" "Language-Team: Asturian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,7 +18,7 @@ "X-Generator: Launchpad (build Unknown)\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -26,361 +26,364 @@ msgid "A media player for KDE with digital TV support." msgstr "Un reproductor de medio pa KDE con sofitu téunicu dixital de TV." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 -#, fuzzy -#| msgid "(C) 2007-2009 The Kaffeine Authors" +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" -msgstr "(C) 2007-2009 Los autores de Kaffeine" +msgstr "(C) 2007-2010 Los autores de Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Caltenimientu" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Reproducir ficheru" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Reproducir CD d'audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Reproducir CD de vídeo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Reproducir DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV Dixital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurar Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Mou de pantalla completa" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Short skip duration:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Long skip duration:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Ficheru" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Abrir URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Abrir URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reproducir CD d'audio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reproducir CD de vídeo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reproducir DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reproducir Carpeta DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "Re&producir" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Llista de reproducción" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisión" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "Axu&stes" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Aniciar" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Reproducción" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Llista de reproducción" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisión" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Aniciar en mou pantalla completa" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(opción obsoleta)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Reproducir canal de TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Reproducir caberu canal sintonizáu de TV" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Dump dvb data (debug option)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Ficheros de URL a reproducir" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Abrir URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Introducir una URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Salta a la posición" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Introducir posición:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Atrás" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reproducir" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Posar" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Parar" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Siguiente" -#: mediawidget.cpp:271 mediawidget.cpp:548 -#, fuzzy -#| msgid "Full Screen Mode" +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Mou de pantalla completa" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "off" -#: mediawidget.cpp:295 -#, fuzzy -#| msgid "Audio" +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 -#, fuzzy -#| msgid "Increase Volume" +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Xubir el volume" -#: mediawidget.cpp:304 -#, fuzzy -#| msgid "Decrease Volume" +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Baxar el volume" -#: mediawidget.cpp:309 -#, fuzzy -#| msgid "Mute Volume" +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Silenciar volume" -#: mediawidget.cpp:320 -#, fuzzy -#| msgid "Video PID:" +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" -msgstr "Pid del video:" +msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 -#, fuzzy -#| msgid "Aspect Ratio" +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Ratio d'aspeutu" -#: mediawidget.cpp:339 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "Automatic" +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automáticu" -#: mediawidget.cpp:345 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "Fit to Window" +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Axustar a la ventana" -#: mediawidget.cpp:350 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "4:3" +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "16:9" +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Redimensionar automáticamente" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Off" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Tamañu Orixinal" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Duble tamañu" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Eslizador de volume" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Salta a la posición..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Saltar" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Saltar %1s haza atrás" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Saltar %1s haza alantre" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Volume Slider" msgid "Seek Slider" msgstr "Eslizador de volume" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 -#, fuzzy -#| msgid "Title" +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Títulu" -#: mediawidget.cpp:470 -#, fuzzy -#| msgid "Chapter" +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capítulu" -#: mediawidget.cpp:476 -#, fuzzy -#| msgid "Angle" +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ángulu" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Camudar ente'l tiempu trescurríu y el restante" -#: mediawidget.cpp:531 -#, fuzzy -#| msgctxt "file filter description" -#| msgid "Supported media files" +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Ficheros multimedia permitíos" -#: mediawidget.cpp:532 -#, fuzzy -#| msgctxt "file filter description" -#| msgid "All files" +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Tolos ficheros" #: mediawidget.cpp:563 -#, fuzzy -#| msgid "Exit Full Screen Mode" msgctxt "'Playback' menu" msgid "Exit Full Screen Mode" msgstr "Colar del mou pantalla completa" @@ -390,7 +393,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Paráu" @@ -434,170 +437,196 @@ #: rc.cpp:1 msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr " ,Launchpad Contributions:,Iñigo Varela" +msgstr "Iñigo Varela" #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr ",,malditoastur@gmail.com" +msgstr "malditoastur@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Por favor, instala el plugin Qt SQLite" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Nun puede abrise la base de datos SQLite" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circular esquierda" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circular drecha" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nome" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Númberu" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Editar" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Desaniciar" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Configuración de la canal" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circular esquierda" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circular drecha" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Canal" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nome:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Númberu:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Orixe:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frecuencia (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symbol rate (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulación:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Tasa FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarización:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Anchor de banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC tasa LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Mou de tresmisión:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Intervalu de xixilancia:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Xerarquía:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID de PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Pid del video:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID de subtítulu:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Pid del teletextu:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID de rede:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID del fluxu de tresporte:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID del serviciu:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal d'audio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Mecíu:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurar televisión" @@ -625,7 +654,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Esplorar caberos datos anovaos en %1" @@ -654,26 +683,32 @@ msgid "[W -180 ... 180 E]" msgstr "[O -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opciones xenerales" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Preséu %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Anovar datos d'esploración sobro Internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Descargando datos d'esploración" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "L'anovamientu de datos de gueta falló." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -681,273 +716,344 @@ "Esploración de datos anovada correutamente. Los cambeos fadrán\n" "efeutu dempués que zarres el diálogu de configuración." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nome: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mover Esquierda" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Reset" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Desaniciar" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mover Drecha" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Preséu non coneutáu." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cable" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoesplorar" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoesplorar con 167 kHz Offsets" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoesplorar Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoesplorar Italia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoesplorar Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tiempu d'espera del sintonizador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Orixe:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Nun hai fonte" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuración:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC Switch" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Posición Rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Configuración LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Opciones de LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Amestar satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posición" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Desaniciar satélite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "Banda C LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "Banda C multipuntu LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalizáu" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Cambiar frecuencia (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Banda baxa LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Banda alta LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontal LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertical LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Aniciu" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Duración" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Títulu" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Guía de programa" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Afitar horariu de programa" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Grabando programación" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Guetar:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nun hai preseos disponibles." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Aniciar" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Duración" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Títulu" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nun hai preseos disponibles." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nun hai preseos disponibles." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Grabando programación" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nuevu" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nome" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Editar la llista d'Entrada" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Aniciu:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Aniciar" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Duración:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Fin:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Repetir:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Enxamás" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Diariamente" @@ -968,128 +1074,150 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canales" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Llimpiar" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Esplorar canal" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Aniciar esploración" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Señal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonizáu:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtru" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Emisión nel aire" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Proveedor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Amestar Filtraos" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Amestar esbilláu" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Resultaos de la gueta" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Trespondedor actual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Parar esploración" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guía de programa" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Grabando programación" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Grabación instantáneo" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurar televisión..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Guetar:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Aniciada la grabación instantánea" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Detúvose la grabación instantánea" #: playlist/playlistmodel.cpp:783 -#, fuzzy -#| msgid "Title" msgctxt "playlist track" msgid "Title" msgstr "Títulu" #: playlist/playlistmodel.cpp:785 -#, fuzzy -#| msgid "Atsc" msgctxt "playlist track" msgid "Artist" -msgstr "Atsc" +msgstr "Artista" #: playlist/playlistmodel.cpp:787 msgctxt "playlist track" msgid "Album" -msgstr "" +msgstr "Album" #: playlist/playlistmodel.cpp:789 -#, fuzzy -#| msgid "Number" msgctxt "playlist track" msgid "Track Number" -msgstr "Númberu" +msgstr "Númberu pista" #: playlist/playlistmodel.cpp:791 msgctxt "playlist track" @@ -1097,8 +1225,6 @@ msgstr "" #: playlist/playlisttab.cpp:367 -#, fuzzy -#| msgid "Temporary Playlist" msgctxt "playlist browser" msgid "Temporary Playlist" msgstr "Llista de reproducción temporal" @@ -1113,46 +1239,80 @@ msgid "Random" msgstr "Al debalu" -#: playlist/playlisttab.cpp:401 -#, fuzzy -#| msgid "Add Satellite" +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" -msgstr "Amestar satélite" +msgstr "Amestar subtítulu" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Renomar" -#: playlist/playlisttab.cpp:631 -#, fuzzy -#| msgid "Playlist" +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" -msgstr "Llista de reproducción" +msgstr "Llista de reproducción ensin nome" -#: playlist/playlisttab.cpp:837 -#, fuzzy -#| msgid "Subtitle PID:" +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" -msgstr "PID de subtítulu:" +msgstr "Ficheros de subtítulos:" -#: playlist/playlisttab.cpp:854 -#, fuzzy -#| msgid "" -#| "*.m3u|M3U Playlist\n" -#| "*.pls|PLS Playlist\n" -#| "*.xspf|XSPF Playlist" +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" +"*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" -"*.pls|PLS Playlist\n" -"*.xspf|XSPF Playlist" +"*.pls|PLS Playlist" + +#~ msgid "Channel Settings" +#~ msgstr "Configuración de la canal" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Edit" +#~ msgstr "Editar" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Desaniciar" + +#~ msgid "Remove" +#~ msgstr "Desaniciar" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Aniciu" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Aniciu:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nuevu" + +#~ msgid "Duration" +#~ msgstr "Duración" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Afitar horariu de programa" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nome" #~ msgctxt "epg" #~ msgid "Refresh" diff -Nru kaffeine-1.1/po/be/kaffeine.po kaffeine-1.2.2/po/be/kaffeine.po --- kaffeine-1.1/po/be/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/be/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: kaffeine4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2008-09-26 20:07+0300\n" "Last-Translator: Darafei Praliaskouski \n" "Language-Team: Belarusian \n" @@ -17,7 +17,7 @@ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "" @@ -25,334 +25,383 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 #, fuzzy msgid "&1 Play File" msgstr "Граць файл..." -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Файлы настаўленняў" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Поўнаэкранны рэжым" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Файлы настаўленняў" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Адкрыць URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "" + +#: mainwindow.cpp:322 #, fuzzy msgid "&Playback" msgstr "Прайгравальнік" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy msgctxt "menu bar" msgid "Play&list" msgstr "Граць" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Настаўленні" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 #, fuzzy msgid "Start" msgstr "Пачатковы" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy msgid "Playback" msgstr "Граць" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 #, fuzzy msgid "Playlist" msgstr "Граць" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Full Screen Mode" msgid "Start in full screen mode" msgstr "Поўнаэкранны рэжым" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Адкрыць URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Вызначце URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 #, fuzzy +msgctxt "@title:window" msgid "Jump to Position" msgstr "Пазіцыя" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 #, fuzzy #| msgid "Enter a URL:" msgid "Enter a position:" msgstr "Вызначце URL:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 #, fuzzy msgid "Previous" msgstr "Папярэдні" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 #, fuzzy msgid "Play" msgstr "Граць" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 #, fuzzy msgid "Pause" msgstr "Pause" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Спыніць" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 #, fuzzy msgid "Next" msgstr "Наступная" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Поўнаэкранны рэжым" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Radio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Радыё" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy msgctxt "'Playback' menu" msgid "Video" msgstr "&Паказаць" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Пазіцыя" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -369,7 +418,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -426,175 +475,189 @@ msgid "Your emails" msgstr "komzpa@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 #, fuzzy -msgid "Name" -msgstr "Назва" +#| msgid "Channels" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Каналы" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 #, fuzzy +msgctxt "@title:column tv channel" msgid "Number" msgstr "Лік" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +msgctxt "@action" msgid "Remove" -msgstr "" +msgstr "Назва" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 #, fuzzy #| msgid "Channels" -msgid "Channel Settings" +msgctxt "@title:window" +msgid "Edit Channel" msgstr "Каналы" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 #, fuzzy +msgctxt "@label tv channel" msgid "Name:" msgstr "Імя:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 #, fuzzy +msgctxt "@label tv channel" msgid "Number:" msgstr "Лік" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Крыніца:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 #, fuzzy msgid "Modulation:" msgstr "Файлы настаўленняў" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy msgid "Polarization:" msgstr "Пазіцыя" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 #, fuzzy #| msgid "Search:" msgid "Hierarchy:" msgstr "Шукаць:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 #, fuzzy msgid "Service ID:" msgstr "Прылада:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 #, fuzzy +msgctxt "@title:window" msgid "Configure Television" msgstr "Файлы настаўленняў" @@ -622,7 +685,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -651,315 +714,346 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, fuzzy, kde-format msgid "Device %1" msgstr "Прылада:" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, fuzzy, kde-format msgid "Name: %1" msgstr "Назва:" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -msgid "Remove" -msgstr "Назва" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Крыніца:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "Source:" msgid "No Source" msgstr "Крыніца:" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +#, fuzzy +msgid "Name:" +msgstr "Імя:" + +#: dvb/dvbconfigdialog.cpp:779 #, fuzzy msgid "Configuration:" msgstr "Файлы настаўленняў" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy msgid "Positions Rotor" msgstr "Пазіцыя" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "&Settings" msgid "LNB %1 Settings" msgstr "&Настаўленні" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "&Settings" msgid "LNB Settings" msgstr "&Настаўленні" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 #, fuzzy msgid "Add Satellite" msgstr "Дадаць выбраны" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 #, fuzzy msgid "Position" msgstr "Пазіцыя" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -#, fuzzy -msgid "Duration" -msgstr "Файлы настаўленняў" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Шукаць:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Пачатковы" + +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Файлы настаўленняў" + +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." msgstr "" -#: dvb/dvbrecording.cpp:267 -#, fuzzy -#| msgid "Channels" -msgid "Channel" -msgstr "Каналы" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "Новая" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +msgctxt "@title:column recording" +msgid "Name" +msgstr "Назва" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +msgctxt "@label recording" +msgid "Name:" +msgstr "Імя:" + +#: dvb/dvbrecordingdialog.cpp:384 #, fuzzy #| msgid "Channels" +msgctxt "@label tv show" msgid "Channel:" msgstr "Каналы" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +msgctxt "@label tv show" +msgid "Start:" +msgstr "Пачатковы" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 #, fuzzy +msgctxt "@label tv show" msgid "Duration:" msgstr "Файлы настаўленняў" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -981,109 +1075,138 @@ msgid "SNR" msgstr "" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Каналы" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channels" msgid "Channel Scan" msgstr "Каналы" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 #, fuzzy msgid "Start Scan" msgstr "Пачатковы" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 #, fuzzy msgid "Filter" msgstr "Фільтр" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Радыё" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 #, fuzzy msgid "Provider:" msgstr "Пастаўшчык: %1" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy msgid "Add Filtered" msgstr "Фільтр" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 #, fuzzy msgid "Add Selected" msgstr "Дадаць выбраны" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Stop" msgid "Stop Scan" msgstr "Спыніць" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Файлы настаўленняў" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Шукаць:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channels" msgctxt "osd" msgid "Channel: %1_" msgstr "Каналы" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1132,29 +1255,29 @@ msgid "Random" msgstr "Радыё" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy msgid "Add Subtitle" msgstr "Дадаць выбраны" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy msgctxt "rename an entry in a list" msgid "Rename" msgstr "Назва" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Граць" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1162,6 +1285,33 @@ "*.pls|PLS Playlist" msgstr "" +#, fuzzy +#~| msgid "Channels" +#~ msgid "Channel Settings" +#~ msgstr "Каналы" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Назва" + +#, fuzzy +#~ msgid "Remove" +#~ msgstr "Назва" + +#, fuzzy +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Новая" + +#, fuzzy +#~ msgid "Duration" +#~ msgstr "Файлы настаўленняў" + +#, fuzzy +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Назва" + #~ msgid "Open file" #~ msgstr "Адкрыць файл" diff -Nru kaffeine-1.1/po/bg/kaffeine.po kaffeine-1.2.2/po/bg/kaffeine.po --- kaffeine-1.1/po/bg/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/bg/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-07-03 01:21+0300\n" "Last-Translator: Yasen Pramatarov \n" "Language-Team: Bulgarian \n" @@ -17,7 +17,7 @@ "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -25,312 +25,365 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Авторите на Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Поддръжка" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Настройки на Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Режим на цял екран" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Файл" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Отваряне на адрес" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Изпълнение на звуков диск" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Изпълнение на видео диск" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Изпълнение на DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Изпълнение на DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Изпълнение" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Списък" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Телевизия" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Настройки" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Начало" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Изпълнение" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Списък" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Телевизия" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Зареждане на програмата на цял екран" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Отваряне на адрес" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Въведете адрес:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" -msgstr "" +msgstr "Позиция" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Предишно" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Изпълнение" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Пауза" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Спиране" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Следващо" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Режим на цял екран" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "изключено" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Аудио" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Увеличаване силата на звука" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Намаляване силата на звука" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Заглушаване на звука" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Видео" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Разплитане" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Съотношение" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Автоматично" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Напасване към прозореца" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Автоматично преоразмеряване" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Изключено" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Оригинален размер" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Двоен размер" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Пропускане" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Превключване на менюто" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Заглавие" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Глава" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ъгъл" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Всички файлове" @@ -345,7 +398,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Спряно" @@ -396,163 +449,191 @@ msgid "Your emails" msgstr "yasen@lindeas.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Хоризонтално" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Вертикално" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Име" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Канал" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Номер" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Редактиране" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Премахване" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Настройки на канал" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Хоризонтално" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Вертикално" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Канал" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Име:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Номер:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Източник:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Честота (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Модулация:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Поляризация:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Режим на предаване:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Йерархия:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Идентификатор на услугата:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Звуков канал:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Настройки на телевизията" @@ -580,7 +661,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -609,298 +690,364 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Общи настройки" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Устройство %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Име: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Придвижване наляво" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Възстановяване" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Премахване" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Придвижване надясно" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Устройството не е свързано." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Кабел" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Наземен" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Автоматично претърсване" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Автоматично претърсване с отмествания от 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Автоманично претърсване на Австралия" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Автоманично претърсване на Италия" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Автоманично претърсване на Тайван" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Изчакване на тунера (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Източник:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Няма източник" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Име:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Настройка:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Добавяне на спътник" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Спътник" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Позиция" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Премахване на спътник" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Начало" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Продължителност" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Заглавие" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Търсене:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Няма открити устройства." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Начало" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Продължителност" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Заглавие" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Канал" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Няма открити устройства." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Няма открити устройства." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgid "Recording folder:" +msgctxt "@title:window" msgid "Recording Schedule" -msgstr "" +msgstr "Папка за записи:" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Нов" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Име" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Име:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Канал:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Начало:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Начало" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Продължителност:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Край:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Повторение:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Никога" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Ежедневно" @@ -921,99 +1068,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Канали" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Изчистване" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Претърсване на каналите" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Начало на претърсването" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Сигнал:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Настроено:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Филтър" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Радио" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Телевизия" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Доставчик:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Добавяне на филтрираните" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Добавяне на избраните" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Резултати от претърсването" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Спиране на претърсването" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Настройки на телевизията" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Търсене:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Канал: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1058,26 +1235,26 @@ msgid "Random" msgstr "Случайно" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Добавяне на субтитри" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Преименуване" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Неозаглавен списък" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Файлове със субтитри" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1088,6 +1265,47 @@ "*.m3u|Списък M3U\n" "*.pls|Списък PLS" +#~ msgid "Channel Settings" +#~ msgstr "Настройки на канал" + +#~ msgid "Name" +#~ msgstr "Име" + +#~ msgid "Edit" +#~ msgstr "Редактиране" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Премахване" + +#~ msgid "Remove" +#~ msgstr "Премахване" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Начало" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Начало:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Нов" + +#~ msgid "Duration" +#~ msgstr "Продължителност" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Име" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Обновяване" diff -Nru kaffeine-1.1/po/ca/kaffeine.po kaffeine-1.2.2/po/ca/kaffeine.po --- kaffeine-1.1/po/ca/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ca/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -4,23 +4,25 @@ # # Manuel Tortosa , 2009. # Josep Ma. Ferrer , 2010. +# Joan Maspons , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-07-19 20:58+0200\n" -"Last-Translator: Josep Ma. Ferrer \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-02-03 01:26+0100\n" +"Last-Translator: Joan Maspons \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" "X-Language: ca_ES\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,363 +30,359 @@ msgid "A media player for KDE with digital TV support." msgstr "Un reproductor de suports pel KDE amb implementació de TV digital." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 -#, fuzzy -#| msgid "(C) 2007-2009 The Kaffeine Authors" +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" -msgstr "(C) 2007-2009 Els autors del Kaffeine" +msgstr "(C) 2007-2010 Els autors del Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Mantenidor" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Reprodueix fitxer" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Reprodueix CD d'àudio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Reprodueix CD de vídeo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Reprodueix DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV digital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configura Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Mode de visualització inicial:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Mode normal" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Mode mínim" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Mode de pantalla completa" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Recorda l'últim arranjament" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Mida del salt curt:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Mida del salt llarg:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fitxer" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Obre URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Obre l'URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reprodueix CD d'àudio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reprodueix CD de vídeo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reprodueix DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reprodueix la carpeta del DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "Re&producció" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Llista de reproducció" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisió" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "A&rranjament" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Inicia" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Reprodueix" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Llista de reproducció" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisió" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Inicia en mode de pantalla completa" -#: mainwindow.cpp:363 -#, fuzzy -#| msgctxt "playlist menu" -#| msgid "Repeat" +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" -msgstr "Repeteix" +msgstr "(Opció obsoleta)" -#: mainwindow.cpp:364 -#, fuzzy -#| msgid "Play TV channel" +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" -msgstr "Reprodueix canal de TV" +msgstr "Reprodueix el canal de TV" -#: mainwindow.cpp:365 -#, fuzzy -#| msgid "Play TV channel" +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" -msgstr "Reprodueix canal de TV" +msgstr "Reprodueix l'últim canal de TV sintonitzat" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Bolca la informació del DVD (opció del depurador)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Fitxers o URL a reproduir" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Obre l'URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Introduïu un URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Salta a la posició" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Introduïu una posició:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reprodueix" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausa" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Atura" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Següent" -#: mediawidget.cpp:271 mediawidget.cpp:548 -#, fuzzy -#| msgid "Full Screen Mode" +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Mode de pantalla completa" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" -msgstr "" +msgstr "Mode mínim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "desactivats" -#: mediawidget.cpp:295 -#, fuzzy -#| msgid "Audio" +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Àudio" -#: mediawidget.cpp:298 -#, fuzzy -#| msgid "Increase Volume" +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" -msgstr "Augmenta el volum" +msgstr "Puja el volum" -#: mediawidget.cpp:304 -#, fuzzy -#| msgid "Decrease Volume" +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" -msgstr "Redueix el volum" +msgstr "Baixa el volum" -#: mediawidget.cpp:309 -#, fuzzy -#| msgid "Mute Volume" +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" -msgstr "Apaga el volum" +msgstr "Silencia el volum" -#: mediawidget.cpp:320 -#, fuzzy -#| msgid "Video PID:" +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" -msgstr "PID de vídeo:" +msgstr "Vídeo" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" -msgstr "" +msgstr "Desentrellaça" -#: mediawidget.cpp:334 -#, fuzzy -#| msgid "Aspect Ratio" +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Relació d'aspecte" -#: mediawidget.cpp:339 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "Automatic" +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automàtica" -#: mediawidget.cpp:345 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "Fit to Window" +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Ajusta a la finestra" -#: mediawidget.cpp:350 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "4:3" +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "16:9" +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Reamidament automàtic" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Desactivat" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Mida original" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Mida doble" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Botó lliscador de volum" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Salta a la posició..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Salta" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Salta %1s enrere" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Salta %1s endavant" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Botó lliscador de cerca" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" -msgstr "" +msgstr "Commuta el menú" -#: mediawidget.cpp:464 -#, fuzzy -#| msgid "Title" +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Títol" -#: mediawidget.cpp:470 -#, fuzzy -#| msgid "Chapter" +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capítol" -#: mediawidget.cpp:476 -#, fuzzy -#| msgid "Angle" +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Angle" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Commuta el visor del temps entre passat i restant" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Fitxers de suports acceptats" -#: mediawidget.cpp:532 -#, fuzzy -#| msgctxt "file filter description" -#| msgid "All files" +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Tots els fitxers" #: mediawidget.cpp:563 -#, fuzzy -#| msgid "Exit Full Screen Mode" msgctxt "'Playback' menu" msgid "Exit Full Screen Mode" msgstr "Surt del mode de pantalla completa" @@ -392,9 +390,9 @@ #: mediawidget.cpp:567 msgctxt "'Playback' menu" msgid "Exit Minimal Mode" -msgstr "" +msgstr "Surt del mode mínim" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Aturat" @@ -418,12 +416,12 @@ #: mediawidget.cpp:1241 msgctxt "osd message" msgid "Deinterlacing On" -msgstr "" +msgstr "Desentrellaçat activat" #: mediawidget.cpp:1243 msgctxt "osd message" msgid "Deinterlacing Off" -msgstr "" +msgstr "Desentrellaçat desactivat" #: mediawidget.cpp:1288 msgctxt "osd" @@ -438,173 +436,202 @@ #: rc.cpp:1 msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "Manuel Tortosa Moreno" +msgstr "Manuel Tortosa Moreno,Joan Maspons Ventura" #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "manutortosa@gmail.com" +msgstr "manutortosa@gmail.com,joanmaspons@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Si us plau, instal·leu el connector Qt SQLite." -#: sqlhelper.cpp:65 -#, fuzzy -#| msgctxt "message box" -#| msgid "Can't open the SQLite database." +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." -msgstr "No s'ha pogut obrir la base de dades SQLite." +msgstr "No es pot obrir la base de dades SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." -msgstr "" - -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horitzontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" +msgstr "Utilitat interna pel Kaffeine" -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Cursor esquerre" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Cursor dret" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nom" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Número" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Edita" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Elimina" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"Els canals s'ordenaran per número per permetre arrossegar-los i deixar-los " +"anar.\n" +"Voleu continuar?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Paràmetres del canal" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horitzontal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Cursor esquerre" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Cursor dret" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Canal" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nom:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Número:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Font:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Freqüència (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Taxa de símbols (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulació:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Ràtio FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarització:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Amplada de banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Ràtio FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Mode de transmissió:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Interval de guàrdia:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Jerarquia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID de PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID de vídeo:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID de subtítols:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID de teletext:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID de xarxa:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID de flux de transport:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID de servei:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal d'àudio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Mesclat:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configura la televisió" @@ -622,24 +649,24 @@ #: dvb/dvbconfigdialog.cpp:81 msgid "Begin margin (minutes):" -msgstr "" +msgstr "Comença marge (minuts):" #: dvb/dvbconfigdialog.cpp:88 msgid "End margin (minutes):" -msgstr "" +msgstr "Acaba marge (minuts):" #: dvb/dvbconfigdialog.cpp:97 msgid "Use ISO 8859-1 charset instead of ISO 6937:" -msgstr "" +msgstr "Usa el joc de caràcters ISO 8859-1 en comptes de l'ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Dades d'exploració actualitzats per darrera vegada el %1" #: dvb/dvbconfigdialog.cpp:112 msgid "Update scan data over Internet" -msgstr "Actualització de dades d'exploració mitjançant internet" +msgstr "Actualització de dades d'exploració mitjançant Internet" #: dvb/dvbconfigdialog.cpp:120 msgid "Your position (only needed for USALS rotor)" @@ -651,7 +678,7 @@ #: dvb/dvbconfigdialog.cpp:124 msgid "[S -90 ... 90 N]" -msgstr "[S -90 ... 90 N]" +msgstr "[S -90... 90 N]" #: dvb/dvbconfigdialog.cpp:138 msgid "Longitude:" @@ -659,28 +686,34 @@ #: dvb/dvbconfigdialog.cpp:139 msgid "[W -180 ... 180 E]" -msgstr "[O -180 ... 180 E]" +msgstr "[O -180... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opcions generals" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositiu %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Actualització de dades d'exploració mitjançant Internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "S'estan baixant les dades d'exploració" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Ha fallat en actualitzar les dades d'exploració." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -688,273 +721,336 @@ "Les dades d'exploració s'han actualitzat amb èxit. Els canvis\n" "seran efectius una vegada que tanqueu el diàleg de configuració." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nom: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mou a l'esquerra" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Inicialitza" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Elimina" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mou a la dreta" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispositiu no connectat." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cable" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoscan" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoscan amb compensacions de 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoscan Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoscan Itàlia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoscan Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Temps d'espera del sintonitzador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Font:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Cap font" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nom:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuració:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Interruptor DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de posicions" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Arranjament de LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Arranjament de LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Afegeix satèl·lit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satèl·lit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posició" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Elimina satèl·lit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB de banda C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "LNB multipunt de banda C" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalitzat" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Freqüència d'intercanvi (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Banda baixa de LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Banda alta de LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horitzontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Inici" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Durada" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Títol" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guia de programes" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Planificació de programes" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Planificació d'enregistrament" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Cerca:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "No hi ha cap dispositiu disponible." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Inici" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Durada" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Títol" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "No hi ha cap dispositiu disponible." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "No hi ha cap dispositiu disponible." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Planificació d'enregistrament" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nou" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nom" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Edita l'entrada planificada" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nom:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Inici:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Inicia" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Durada:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Final:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Repeteix:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Mai" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Diàriament" @@ -975,137 +1071,161 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canals" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Neteja" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Exploració de canals" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Inicia l'exploració" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Senyal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonitzat:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtre" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "A l'aire lliure" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Proveïdor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Afegeix filtrat" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Afegeix seleccionat" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Resultats de l'exploració" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Transponedor actual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Atura l'exploració" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guia de programes" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Planificació d'enregistrament" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Enregistrament instantani" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configura la televisió..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Cerca:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Actualment el Kaffeine està gravant programes.\n" +"Segur que voleu tancar l'aplicació?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"El Kaffeine té gravacions programades.\n" +"Segur que voleu tancar l'aplicació?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "S'ha iniciat l'enregistrament instantani" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "S'ha aturat l'enregistrament instantani" #: playlist/playlistmodel.cpp:783 -#, fuzzy -#| msgid "Title" msgctxt "playlist track" msgid "Title" msgstr "Títol" #: playlist/playlistmodel.cpp:785 -#, fuzzy -#| msgid "Atsc" msgctxt "playlist track" msgid "Artist" -msgstr "Atsc" +msgstr "Artista" #: playlist/playlistmodel.cpp:787 msgctxt "playlist track" msgid "Album" -msgstr "" +msgstr "Àlbum" #: playlist/playlistmodel.cpp:789 -#, fuzzy -#| msgid "Number" msgctxt "playlist track" msgid "Track Number" -msgstr "Número" +msgstr "Número de peça" #: playlist/playlistmodel.cpp:791 msgctxt "playlist track" msgid "Length" -msgstr "" +msgstr "Durada" #: playlist/playlisttab.cpp:367 -#, fuzzy -#| msgid "Temporary Playlist" msgctxt "playlist browser" msgid "Temporary Playlist" msgstr "Llista de reproducció temporal" @@ -1116,52 +1236,82 @@ msgstr "Repeteix" #: playlist/playlisttab.cpp:397 -#, fuzzy -#| msgid "Radio" msgctxt "playlist menu" msgid "Random" -msgstr "Radio" +msgstr "Aleatòria" -#: playlist/playlisttab.cpp:401 -#, fuzzy -#| msgid "Add Satellite" +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" -msgstr "Afegeix satèl·lit" +msgstr "Afegeix subtítols" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Reanomena" -#: playlist/playlisttab.cpp:631 -#, fuzzy -#| msgid "Playlist" +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" -msgstr "Llista de reproducció" +msgstr "Llista de reproducció sense nom" -#: playlist/playlisttab.cpp:837 -#, fuzzy -#| msgid "Subtitle PID:" +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" -msgstr "PID de subtítols:" +msgstr "Fitxers de subtítols" -#: playlist/playlisttab.cpp:854 -#, fuzzy -#| msgid "" -#| "*.m3u|M3U Playlist\n" -#| "*.pls|PLS Playlist\n" -#| "*.xspf|XSPF Playlist" +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" -"*.m3u|M3U Llista de reproducció\n" -"*.pls|PLS Llista de reproducció\n" -"*.xspf|XSPF Llista de reproducció" +"*.xspf|Llista de reproducció XSPF\n" +"*.m3u|Llista de reproducció M3U\n" +"*.pls|Llista de reproducció PLS" + +#~ msgid "Channel Settings" +#~ msgstr "Paràmetres del canal" + +#~ msgid "Name" +#~ msgstr "Nom" + +#~ msgid "Edit" +#~ msgstr "Edita" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Elimina" + +#~ msgid "Remove" +#~ msgstr "Elimina" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Inici" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Inici:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nou" + +#~ msgid "Duration" +#~ msgstr "Durada" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Planificació de programes" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nom" #~ msgctxt "epg" #~ msgid "Refresh" diff -Nru kaffeine-1.1/po/ca@valencia/kaffeine.po kaffeine-1.2.2/po/ca@valencia/kaffeine.po --- kaffeine-1.1/po/ca@valencia/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ca@valencia/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -4,22 +4,25 @@ # # Manuel Tortosa , 2009. # Josep Ma. Ferrer , 2010. +# Joan Maspons , 2010. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-03-14 19:30+0100\n" -"Last-Translator: Josep Ma. Ferrer \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2010-12-15 00:34+0100\n" +"Last-Translator: Joan Maspons \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"Language: ca\n" +"X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" "X-Language: ca_ES\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -27,363 +30,368 @@ msgid "A media player for KDE with digital TV support." msgstr "Un reproductor de suports pel KDE amb implementació de TV digital." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 -#, fuzzy -#| msgid "(C) 2007-2009 The Kaffeine Authors" +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" -msgstr "(C) 2007-2009 Els autors del Kaffeine" +msgstr "(C) 2007-2010 Els autors del Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Mantenidor" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Reprodueix fitxer" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Reprodueix CD d'àudio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Reprodueix CD de vídeo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Reprodueix DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV digital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configura Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Mode mínim" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Mode mínim" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Mode de pantalla completa" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Mida del salt curt:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Mida del salt llarg:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fitxer" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Obri URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Obri l'URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reprodueix CD d'àudio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reprodueix CD de vídeo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reprodueix DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reprodueix la carpeta del DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "Re&producció" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Llista de reproducció" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisió" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "A&rranjament" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Inicia" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Reprodueix" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Llista de reproducció" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisió" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Inicia en mode de pantalla completa" -#: mainwindow.cpp:363 -#, fuzzy -#| msgctxt "playlist menu" -#| msgid "Repeat" +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" -msgstr "Repeteix" +msgstr "(Opció obsoleta)" -#: mainwindow.cpp:364 -#, fuzzy -#| msgid "Play TV channel" +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" -msgstr "Reprodueix canal de TV" +msgstr "Reprodueix el canal de TV" -#: mainwindow.cpp:365 -#, fuzzy -#| msgid "Play TV channel" +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" -msgstr "Reprodueix canal de TV" +msgstr "Reprodueix l'últim canal de TV sintonitzat" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Bolca la informació del DVD (opció del depurador)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Fitxers o URL a reproduir" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Obri l'URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Introduïu un URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Salta a la posició" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Introduïu una posició:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reprodueix" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausa" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Atura" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Següent" -#: mediawidget.cpp:271 mediawidget.cpp:548 -#, fuzzy -#| msgid "Full Screen Mode" +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Mode de pantalla completa" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" -msgstr "" +msgstr "Mode mínim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "desactivats" -#: mediawidget.cpp:295 -#, fuzzy -#| msgid "Audio" +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Àudio" -#: mediawidget.cpp:298 -#, fuzzy -#| msgid "Increase Volume" +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" -msgstr "Augmenta el volum" +msgstr "Puja el volum" -#: mediawidget.cpp:304 -#, fuzzy -#| msgid "Decrease Volume" +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" -msgstr "Redueix el volum" +msgstr "Baixa el volum" -#: mediawidget.cpp:309 -#, fuzzy -#| msgid "Mute Volume" +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" -msgstr "Apaga el volum" +msgstr "Silencia el volum" -#: mediawidget.cpp:320 -#, fuzzy -#| msgid "Video PID:" +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" -msgstr "PID de vídeo:" +msgstr "Vídeo" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" -msgstr "" +msgstr "Desentrellaça" -#: mediawidget.cpp:334 -#, fuzzy -#| msgid "Aspect Ratio" +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Relació d'aspecte" -#: mediawidget.cpp:339 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "Automatic" +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automàtica" -#: mediawidget.cpp:345 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "Fit to Window" +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Ajusta a la finestra" -#: mediawidget.cpp:350 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "4:3" +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 -#, fuzzy -#| msgctxt "aspect ratio" -#| msgid "16:9" +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Reamidament automàtic" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Desactivat" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Mida original" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Mida doble" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Botó lliscador de volum" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Salta a la posició..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Salta" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Salta %1s arrere" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Salta %1s avant" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Botó lliscador de cerca" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" -msgstr "" +msgstr "Commuta el menú" -#: mediawidget.cpp:464 -#, fuzzy -#| msgid "Title" +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Títol" -#: mediawidget.cpp:470 -#, fuzzy -#| msgid "Chapter" +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capítol" -#: mediawidget.cpp:476 -#, fuzzy -#| msgid "Angle" +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Angle" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Commuta el visor del temps entre passat i restant" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Fitxers de suports acceptats" -#: mediawidget.cpp:532 -#, fuzzy -#| msgctxt "file filter description" -#| msgid "All files" +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Tots els fitxers" #: mediawidget.cpp:563 -#, fuzzy -#| msgid "Exit Full Screen Mode" msgctxt "'Playback' menu" msgid "Exit Full Screen Mode" msgstr "Ix del mode de pantalla completa" @@ -391,9 +399,9 @@ #: mediawidget.cpp:567 msgctxt "'Playback' menu" msgid "Exit Minimal Mode" -msgstr "" +msgstr "Ix del mode mínim" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Aturat" @@ -417,12 +425,12 @@ #: mediawidget.cpp:1241 msgctxt "osd message" msgid "Deinterlacing On" -msgstr "" +msgstr "Desentrellaçat activat" #: mediawidget.cpp:1243 msgctxt "osd message" msgid "Deinterlacing Off" -msgstr "" +msgstr "Desentrellaçat desactivat" #: mediawidget.cpp:1288 msgctxt "osd" @@ -437,173 +445,202 @@ #: rc.cpp:1 msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "Manuel Tortosa Moreno" +msgstr "Manuel Tortosa Moreno,Joan Maspons Ventura" #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "manutortosa@gmail.com" +msgstr "manutortosa@gmail.com,joanmaspons@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Per favor, instal·leu el connector Qt SQLite." -#: sqlhelper.cpp:65 -#, fuzzy -#| msgctxt "message box" -#| msgid "Can't open the SQLite database." +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." -msgstr "No s'ha pogut obrir la base de dades SQLite." +msgstr "No es pot obrir la base de dades SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." -msgstr "" - -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horitzontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" +msgstr "Utilitat interna pel Kaffeine" -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Cursor esquerre" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Cursor dret" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nom" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Número" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Edita" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Elimina" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"Els canals s'ordenaran per número per permetre arrossegar-los i deixar-los " +"anar.\n" +"Voleu continuar?" + +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horitzontal" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Paràmetres del canal" +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Cursor esquerre" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Cursor dret" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Canal" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nom:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Número:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Font:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Freqüència (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Taxa de símbols (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulació:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Ràtio FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarització:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Amplada de banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Ràtio FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Mode de transmissió:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Interval de guàrdia:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Jerarquia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID de PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID de vídeo:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID de subtítols:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID de teletext:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID de xarxa:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID de flux de transport:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID de servei:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal d'àudio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Mesclat:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configura la televisió" @@ -621,24 +658,24 @@ #: dvb/dvbconfigdialog.cpp:81 msgid "Begin margin (minutes):" -msgstr "" +msgstr "Comença marge (minuts):" #: dvb/dvbconfigdialog.cpp:88 msgid "End margin (minutes):" -msgstr "" +msgstr "Acaba marge (minuts):" #: dvb/dvbconfigdialog.cpp:97 msgid "Use ISO 8859-1 charset instead of ISO 6937:" -msgstr "" +msgstr "Usa el joc de caràcters ISO 8859-1 en comptes de l'ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Dades d'exploració actualitzats per darrera vegada el %1" #: dvb/dvbconfigdialog.cpp:112 msgid "Update scan data over Internet" -msgstr "Actualització de dades d'exploració mitjançant internet" +msgstr "Actualització de dades d'exploració mitjançant Internet" #: dvb/dvbconfigdialog.cpp:120 msgid "Your position (only needed for USALS rotor)" @@ -650,7 +687,7 @@ #: dvb/dvbconfigdialog.cpp:124 msgid "[S -90 ... 90 N]" -msgstr "[S -90 ... 90 N]" +msgstr "[S -90... 90 N]" #: dvb/dvbconfigdialog.cpp:138 msgid "Longitude:" @@ -658,28 +695,34 @@ #: dvb/dvbconfigdialog.cpp:139 msgid "[W -180 ... 180 E]" -msgstr "[O -180 ... 180 E]" +msgstr "[O -180... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opcions generals" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositiu %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Actualització de dades d'exploració mitjançant Internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "S'estan baixant les dades d'exploració" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Ha fallat en actualitzar les dades d'exploració." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -687,273 +730,336 @@ "Les dades d'exploració s'han actualitzat amb èxit. Els canvis\n" "seran efectius una vegada que tanqueu el diàleg de configuració." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nom: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mou a l'esquerra" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Inicialitza" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Elimina" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mou a la dreta" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispositiu no connectat." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cable" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoscan" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoscan amb compensacions de 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoscan Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoscan Itàlia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoscan Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Temps d'espera del sintonitzador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Font:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Cap font" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nom:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuració:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Interruptor DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de posicions" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Arranjament de LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Arranjament de LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Afig satèl·lit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satèl·lit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posició" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Elimina satèl·lit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB de banda C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "LNB multipunt de banda C" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalitzat" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Freqüència d'intercanvi (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Banda baixa de LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Banda alta de LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horitzontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Inici" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Durada" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Títol" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guia de programes" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Planificació de programes" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Planificació d'enregistrament" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Cerca:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "No hi ha cap dispositiu disponible." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Inici" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Durada" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Títol" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "No hi ha cap dispositiu disponible." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "No hi ha cap dispositiu disponible." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Planificació d'enregistrament" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nou" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nom" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" -msgstr "Edita la entrada planificada" +msgstr "Edita l'entrada planificada" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nom:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Inici:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Inicia" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Durada:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Final:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Repeteix:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Mai" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Diàriament" @@ -974,137 +1080,161 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canals" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Neteja" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Exploració de canals" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Inicia l'exploració" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Senyal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonitzat:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtre" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "A l'aire lliure" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Proveïdor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Afig filtrat" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Afig seleccionat" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Resultats de l'exploració" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Transponedor actual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Atura l'exploració" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guia de programes" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Planificació d'enregistrament" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Enregistrament instantani" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configura la televisió..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Cerca:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Actualment el Kaffeine està gravant programes.\n" +"Segur que voleu tancar l'aplicació?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"El Kaffeine té gravacions programades.\n" +"Segur que voleu tancar l'aplicació?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "S'ha iniciat l'enregistrament instantani" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "S'ha aturat l'enregistrament instantani" #: playlist/playlistmodel.cpp:783 -#, fuzzy -#| msgid "Title" msgctxt "playlist track" msgid "Title" msgstr "Títol" #: playlist/playlistmodel.cpp:785 -#, fuzzy -#| msgid "Atsc" msgctxt "playlist track" msgid "Artist" -msgstr "Atsc" +msgstr "Artista" #: playlist/playlistmodel.cpp:787 msgctxt "playlist track" msgid "Album" -msgstr "" +msgstr "Àlbum" #: playlist/playlistmodel.cpp:789 -#, fuzzy -#| msgid "Number" msgctxt "playlist track" msgid "Track Number" -msgstr "Número" +msgstr "Número de peça" #: playlist/playlistmodel.cpp:791 msgctxt "playlist track" msgid "Length" -msgstr "" +msgstr "Durada" #: playlist/playlisttab.cpp:367 -#, fuzzy -#| msgid "Temporary Playlist" msgctxt "playlist browser" msgid "Temporary Playlist" msgstr "Llista de reproducció temporal" @@ -1115,52 +1245,82 @@ msgstr "Repeteix" #: playlist/playlisttab.cpp:397 -#, fuzzy -#| msgid "Radio" msgctxt "playlist menu" msgid "Random" -msgstr "Radio" +msgstr "Aleatòria" -#: playlist/playlisttab.cpp:401 -#, fuzzy -#| msgid "Add Satellite" +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" -msgstr "Afig satèl·lit" +msgstr "Afig subtítols" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Reanomena" -#: playlist/playlisttab.cpp:631 -#, fuzzy -#| msgid "Playlist" +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" -msgstr "Llista de reproducció" +msgstr "Llista de reproducció sense nom" -#: playlist/playlisttab.cpp:837 -#, fuzzy -#| msgid "Subtitle PID:" +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" -msgstr "PID de subtítols:" +msgstr "Fitxers de subtítols" -#: playlist/playlisttab.cpp:854 -#, fuzzy -#| msgid "" -#| "*.m3u|M3U Playlist\n" -#| "*.pls|PLS Playlist\n" -#| "*.xspf|XSPF Playlist" +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" -"*.m3u|M3U Llista de reproducció\n" -"*.pls|PLS Llista de reproducció\n" -"*.xspf|XSPF Llista de reproducció" +"*.xspf|Llista de reproducció XSPF\n" +"*.m3u|Llista de reproducció M3U\n" +"*.pls|Llista de reproducció PLS" + +#~ msgid "Channel Settings" +#~ msgstr "Paràmetres del canal" + +#~ msgid "Name" +#~ msgstr "Nom" + +#~ msgid "Edit" +#~ msgstr "Edita" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Elimina" + +#~ msgid "Remove" +#~ msgstr "Elimina" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Inici" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Inici:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nou" + +#~ msgid "Duration" +#~ msgstr "Durada" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Planificació de programes" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nom" #~ msgctxt "epg" #~ msgid "Refresh" diff -Nru kaffeine-1.1/po/CMakeLists.txt kaffeine-1.2.2/po/CMakeLists.txt --- kaffeine-1.1/po/CMakeLists.txt 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/CMakeLists.txt 2011-04-17 21:17:19.000000000 +0200 @@ -1,13 +1,13 @@ find_package(Gettext REQUIRED) -if(NOT GETTEXT_MSGMERGE_EXECUTABLE) - MESSAGE(FATAL_ERROR "Please install the msgmerge binary") -endif(NOT GETTEXT_MSGMERGE_EXECUTABLE) - IF(NOT GETTEXT_MSGFMT_EXECUTABLE) MESSAGE(FATAL_ERROR "Please install the msgfmt binary") endif(NOT GETTEXT_MSGFMT_EXECUTABLE) +if(NOT GETTEXT_MSGMERGE_EXECUTABLE) + MESSAGE(FATAL_ERROR "Please install the msgmerge binary") +endif(NOT GETTEXT_MSGMERGE_EXECUTABLE) + add_subdirectory(ar) add_subdirectory(ast) add_subdirectory(be) diff -Nru kaffeine-1.1/po/cs/kaffeine.po kaffeine-1.2.2/po/cs/kaffeine.po --- kaffeine-1.1/po/cs/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/cs/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,23 +1,24 @@ # translation of kaffeine.po to # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Vít Pelčák , 2010. +# Vít Pelčák , 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-06-09 13:00+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-02-14 16:02+0100\n" "Last-Translator: Vít Pelčák \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Lokalize 1.1\n" +"X-Generator: Lokalize 1.2\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Přehrávač Kaffeine" @@ -25,312 +26,354 @@ msgid "A media player for KDE with digital TV support." msgstr "Přehrávač multimédií pro KDE s podporou digitální TV." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(c) 2007-2010, Autoři Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Správce" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Přehrát soubor" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Přehrát audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Přehrát video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Přehrát DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitální TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Nastavit Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normální režim" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimální režim" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Celoobrazovkový režim" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Zapamatovat si poslední nastavení" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Časová délka krátkého krokování:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Časová délka dlouhého krokování:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Soubor" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Otevřít URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Otevřít URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Přehrát audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Přehrát video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Přehrát DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Přehrát složku DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Přehrávání" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Seznam sk&ladeb" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televize" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "Nastav&ení" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Spustit" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Přehrávání" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Seznam skladeb" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televize" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Spustit v celoobrazovkovém režimu" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(nedoporučovaná volba)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Přehrávat TV kanál" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Přehrávat naposledy naladěný TV kanál" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Zahazovat dvb data (ladicí volba)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Soubory nebo URL pro přehrání" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Otevřít URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Zadejte URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Skočit na pozici" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Zadejte pozici:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Předchozí" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Přehrát" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pozastavit" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Zastavit" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Další" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Celoobrazovkový režim" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimální režim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "vypnuto" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Zvuk" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Zvýšit hlasitost" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Snížit hlasitost" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Ztlumit hlasitost" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Zrušit proklad" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Poměr stran" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automaticky" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Přizpůsobit velikosti okna" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatická změna velikosti" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Vypnuto" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Původní velikost" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dvojnásobná velikost" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Posuvník hlasitosti" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Skočit na pozici..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Přeskočit" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Přeskočit %1 sekund zpět" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Přeskočit o %1 sekund vpřed" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Posuvník přehrávání" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Vysunout/Zasunout menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Název" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapitola" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Úhel" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Přepnout mezi zobrazením uplynulého a zbývajícího času" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Podporované multimediální soubory" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Všechny soubory" @@ -345,7 +388,7 @@ msgid "Exit Minimal Mode" msgstr "Ukončit minimální režim" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Zastaveno" @@ -398,164 +441,188 @@ "vit@pelcak.org, kolibac@gmail.com, pavelfric@seznam.cz, hynek." "janousek@seznam.cz" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Prosím, nainstalujte modul SQLite." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Nepovedlo se otevřít databázi SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Interní nástroj Kaffeinu." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Vodorovné" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Svislé" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Prováděný v kruzích vlevo" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Prováděný v kruzích vpravo" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Název" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanál" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Číslo" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Upravit" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Odstranit" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Nastavení kanálů" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Vodorovné" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Svislé" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Prováděný v kruzích vlevo" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Prováděný v kruzích vpravo" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanál" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Název:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Číslo:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Zdroj:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Kmitočet (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Rychlost symbolu (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulace:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Rychlost FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizace:" # jde o volbu plynuleho tlumeni zvuku od urcite nastavene frekvence -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Utlumení:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Šířka vlnového pásma:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "LP rychlost FEC:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Režim přenosu:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Rozmezí hlídání:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchie:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID videa:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID titulků:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID teletextu:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID sítě:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID přenosového proudu:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID služby:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Zvukový kanál:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Pomíchaný:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Nastavit televizi" @@ -583,7 +650,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Použít kódování ISO 8859-1 namísto ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Data z prohledávání byla naposledy obnovena %1" @@ -612,26 +679,32 @@ msgid "[W -180 ... 180 E]" msgstr "[Z -180 ... 180 V]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Obecné volby" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Zařízení %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Obnovit data z prohledávání přes internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Stahují se data z prohledávání" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Obnova dat z prohledávání selhala." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -639,273 +712,336 @@ "Dat z prohledávání byla úspěšně obnovena.\n" "Změny se projeví po uzavření dialogu s nastavením." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Název: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Posunout doleva" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Vynulovat" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Odstranit" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Posunout doprava" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Zařízení nepřipojeno." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Pozemní" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automatické prohledávání" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automatické prohledávání s vyrovnáním 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automatické prohledávat Austrálii" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automatické prohledávat Itálii" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automatické prohledávat Tchajwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Vypršení tuneru (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Zdroj:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Žádný zdroj" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Název:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Nastavení:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Přepínač DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Poziční rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 nastavení" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB nastavení" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Přidat satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelitní" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Poloha" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Odstranit satelit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Všeobecný LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-Band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-Band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Vlastní LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Přepnout kmitočet (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Dolní propust LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Horní propust LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Vodorovný LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Svislý LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Začátek" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Doba trvání" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Název" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Průvodce programy" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Naplánovat program" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Plán nahrávání" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Hledat:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nenalezeno vhodné zařízení." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Spustit" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Doba trvání" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Název" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanál" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nenalezeno vhodné zařízení." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nenalezeno vhodné zařízení." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Plán nahrávání" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nový" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Název" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Upravit údaje v plánu" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Název:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanál:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Začátek:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Spustit" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Doba trvání:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Konec:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Opakovat:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nikdy" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Denně" @@ -926,99 +1062,127 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanály" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Vyprázdnit" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Prohledávání kanálů" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Spustit vyhledávání" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signál:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Naladěno:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtr" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Volně do éteru" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Rádio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Poskytovatel:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Přidat filtrované" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Přidat vybrané" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Prohledat výsledky" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Současný rádiový odpovídač" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Ukončit vyhledávání" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Průvodce programy" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Plán nahrávání" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Okamžité nahrávání" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Nastavit televizi..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Hledat:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanál: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Okamžité nahrávání zahájeno" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Okamžité nahrávání zastaveno" @@ -1063,26 +1227,26 @@ msgid "Random" msgstr "Náhodně" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Přidat titulky" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Přejmenovat" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Nepojmenovaný seznam skladeb" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Soubory titulků" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1093,6 +1257,49 @@ "*.m3u|Seznam skladeb M3U\n" "*.pls|Seznam skladeb PLS" +#~ msgid "Channel Settings" +#~ msgstr "Nastavení kanálů" + +#~ msgid "Name" +#~ msgstr "Název" + +#~ msgid "Edit" +#~ msgstr "Upravit" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Odstranit" + +#~ msgid "Remove" +#~ msgstr "Odstranit" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Začátek" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Začátek:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nový" + +#~ msgid "Duration" +#~ msgstr "Doba trvání" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Naplánovat program" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Název" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Obnovit" diff -Nru kaffeine-1.1/po/da/kaffeine.po kaffeine-1.2.2/po/da/kaffeine.po --- kaffeine-1.1/po/da/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/da/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,22 +1,23 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Martin Schlander , 2009, 2010. +# Martin Schlander , 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-14 09:41+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-04-02 11:44+0200\n" "Last-Translator: Martin Schlander \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language: da\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -24,312 +25,354 @@ msgid "A media player for KDE with digital TV support." msgstr "En medieafspiller til KDE med understøttelse af digitalt tv." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Kaffeine-udviklerne" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Vedligeholder" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Afspil fil" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Afspil lyd-cd" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Afspil video-cd" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Afspil dvd" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitalt tv" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Indstil Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Visningstilstand ved opstart:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normal tilstand" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimaltilstand" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Fuldskærmtilstand" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Husk seneste indstilling" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Kort springlængde:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Lang springlængde:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fil" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Åbn URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Åbn URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Afspil lyd-cd" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Afspil video-cd" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Afspil dvd" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Afspil dvd-mappe" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "Afs&pilning" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Spille&liste" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Fjernsyn" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Indstillinger" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Start" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Afspilning" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Spilleliste" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Fjernsyn" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Start i fuldskærmtilstand" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(forældet indstilling)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Afspil tv-kanal" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Afspil senest indstillede tv-kanal" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Dump dvd-data (fejlretningsindstilling)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Filer eller URL'er der skal afspilles" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Åbn URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Angiv en URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Spring til position" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Angiv en position:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Forrige" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Afspil" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pause" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stop" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Næste" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Fuldskærmtilstand" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimaltilstand" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "fra" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Lyd" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Forøg lydstyrke" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Formindsk lydstyrke" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Sæt på lydløs" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Deinterlace" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Aspektforhold" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatisk" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Tilpas til vindue" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Tilpas størrelse automatisk " -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Fra" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Oprindelig størrelse" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dobbelt størrelse" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Skydeknap til lydstyrke" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Spring til position..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Spring" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Spring %1s tilbage" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Spring %1s frem" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Skydeknap til søgning" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Slå menu til/fra" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapitel" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Vinkel" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Skift mellem visning af forløbet tid og tilbageværende tid" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Understøttede mediefiler" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Alle filer" @@ -344,7 +387,7 @@ msgid "Exit Minimal Mode" msgstr "Afslut minimaltilstand" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Stoppet" @@ -395,57 +438,47 @@ msgid "Your emails" msgstr "mschlander@opensuse.org" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Installér venligst Qt SQLite-pluginet." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Kan ikke åbne SQLite-databasen." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Internt værktøj til Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horisontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikal" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Cirkulær til venstre" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Cirkulær til højre" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Navn" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" msgstr "Nummer" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Redigér" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Fjern" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -453,107 +486,127 @@ "Kanalerne vil blive sorteret efter nummer for at muliggøre træk og slip.\n" "Vil du fortsætte?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanalindstillinger" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horisontal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikal" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Cirkulær til venstre" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Cirkulær til højre" + +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Redigér kanal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Navn:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "Nummer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Kilde:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekvens (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symbolrate (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulering:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC-rate:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisering:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Båndbredde:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC-rate LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Sendetilstand:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Guard-interval:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarki:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT-PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video-PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Undertekst-PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Tekst-tv-PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Netværks-id:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Transport-stream-id:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Tjeneste-id:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Lydkanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Scramblet:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Indstil fjernsyn" @@ -581,7 +634,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Brug tegnsættet ISO 8859-1 i stedet for ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Scanningsdata senest opdateret %1" @@ -610,26 +663,30 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Generelle indstillinger" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Enhed %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Opdatér scanningsdata" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Downloader scanningsdata" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Opdatering af scanningsdata mislykkedes." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -637,277 +694,296 @@ "Opdatering af scanningsdata gennemført. Ændringer træder\n" "i kraft efter du har lukket konfigurationsdialogen." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Navn: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Flyt til venstre" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Nulstil" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Fjern" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Flyt til højre" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Enheden er ikke tilsluttet." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Jordantenne" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoscan" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoscan med 167 kHz forskydninger" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoscan Australien" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoscan Italien" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoscan Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tidsudløb for tuner (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Kilde:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Ingen kilde" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Navn:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Konfiguration:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC-omskifter" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS-rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Positionsrotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Indstilling af LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-indstillinger" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Tilføj satellit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Position" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Fjern satellit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universel LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB med C-bånd" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "Multipunkt-LNB med C-bånd" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Tilpasset LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Skiftefrekvens (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "LOF med lavt bånd (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "LOF med højt bånd (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horisontal LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertikal LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Start" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Varighed" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Programguide" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Skemalæg program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Optag udsendelse" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Søg:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Ingen tilgængelig enhed fundet." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Start" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine optager i øjeblikket programmer.\n" -"Vil du virkelig lukke programmet?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Varighed" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine har skemalagte optagelser.\n" -"Vil du virkelig lukke programmet?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titel" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "Alle enheder bruges til optagelser." + +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "Ingen enhed fundet." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Ingen tilgængelig enhed fundet." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Optagelsesskema" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "Ny" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Navn" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Redigér skemaindgang" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Navn:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Start:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "Varighed:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Slut:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Gentag:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Aldrig" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Dagligt" @@ -928,99 +1004,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanaler" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Ryd" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanalscanning" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Start scanning" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Tunet:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Ukrypteret (FTA)" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Tv" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Udbyder:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Tilføj filtrerede" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Tilføj markerede" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Scanningsresultater" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Nuværende transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Stop scanning" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programguide" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Optagelsesskema" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Optag straks" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Indstil fjernsyn..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Søg:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine optager i øjeblikket programmer.\n" +"Vil du virkelig lukke programmet?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine har skemalagte optagelser.\n" +"Vil du virkelig lukke programmet?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Optag straks startet" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Optag straks stoppet" @@ -1065,26 +1173,26 @@ msgid "Random" msgstr "Tilfældig" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Tilføj undertekst" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Omdøb" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Unavngiven spilleliste" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Undertekstfiler" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1095,6 +1203,49 @@ "*.m3u|M3U-spilleliste\n" "*.pls|PLS-spilleliste" +#~ msgid "Channel Settings" +#~ msgstr "Kanalindstillinger" + +#~ msgid "Name" +#~ msgstr "Navn" + +#~ msgid "Edit" +#~ msgstr "Redigér" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Fjern" + +#~ msgid "Remove" +#~ msgstr "Fjern" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Start" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Start:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Ny" + +#~ msgid "Duration" +#~ msgstr "Varighed" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Skemalæg program" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Navn" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Genopfrisk" diff -Nru kaffeine-1.1/po/de/kaffeine.po kaffeine-1.2.2/po/de/kaffeine.po --- kaffeine-1.1/po/de/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/de/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -17,8 +17,8 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-07-28 22:33+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2010-09-24 18:49+0200\n" "Last-Translator: Panagiotis Papadopoulos \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -27,7 +27,7 @@ "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -35,319 +35,377 @@ msgid "A media player for KDE with digital TV support." msgstr "Eine KDE-Medienwiedergabe mit Unterstützung für digitales Fernsehen." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2009 Die Kaffeine-Autoren" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Betreuer" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Datei abspielen" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Audio-CD abspielen" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Video-CD abspielen" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 DVD abspielen" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitales Fernsehen" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kaffeine einrichten" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +#, fuzzy +#| msgid "Start playing immediately" +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Sofort abspielen" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgid "Normal mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normaler Modus" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimaler Modus" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Vollbildmodus" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 #, fuzzy #| msgid "Saturation" msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Sättigung" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Konfiguration:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Datei" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Adresse öffnen" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Adresse öffnen ..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Audio-CD abspielen" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Video-CD abspielen" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD abspielen" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD abspielen" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Wiedergabe" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Wiedergabe&liste" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Fernsehen" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Einstellungen" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Start" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Wiedergabe" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Wiedergabeliste" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Fernsehen" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Im Vollbildmodus starten" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(veraltete Einstellung)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "TV-Kanal abspielen" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Zuletzt eingestellten TV-Kanal abspielen" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 #, fuzzy msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Ausgabe der DVB-Daten (Debug-Option)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Abzuspielende Dateien oder Adressen" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Adresse öffnen" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Adresse eingeben:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Zu Position gehen" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Position eingeben:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Zurück" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Abspielen" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pause" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stopp" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Weiter" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Vollbildmodus" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimaler Modus" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "aus" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Lautstärke erhöhen" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Lautstärke verringern" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Stumm" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Deinterlace" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Seitenverhältnis" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatisch" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "An Fenster anpassen" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatische Größenänderung" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Aus" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Orginalgröße" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Doppelte Größe" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Lautstärkeregler" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Zu Position gehen" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Überspringen" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "%1 Sekunden zurück" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "%1 Sekunden vorwärts" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Lautstärkeregler" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 #, fuzzy #| msgid "Toggle Minimal Mode" msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Minimal-Modus umschalten" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapitel" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Winkel" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Zwischen abgelaufener und verbleibender Zeitanzeige umschalten" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Unterstützte Medienformate" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Alle Dateien" @@ -362,7 +420,7 @@ msgid "Exit Minimal Mode" msgstr "Minimalen Modus verlassen" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Angehalten" @@ -413,163 +471,191 @@ msgid "Your emails" msgstr "tr@erdfunkstelle.de" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Bitte installieren Sie das SQLite-Modul für Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Die SQLite-Datenbank kann nicht geöffnet werden." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Internes Werkzeug für Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikal" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Zirkular links" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Zirkular rechts" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Name" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Nummer" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Bearbeiten" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Entfernen" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanaleinstellungen" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikal" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Zirkular links" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Zirkular rechts" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanal bearbeiten" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Name:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Nummer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Quelle:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequenz (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symbolrate (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulation:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Fehlerkorrekturrate:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisation:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-Off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Bandbreite:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Fehlerkorrekturrate LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Übertragungsmodus:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Schutzintervall:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchie:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT-PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video-PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Untertitel-PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teletext-PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Netzwerk-ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Transportstrom-ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Service-ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Audiokanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Verschlüsselt:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Fernsehen einrichten" @@ -601,7 +687,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Den Zeichensatz ISO 8859-1 anstelle von ISO 6937 verwenden:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Suchlaufdaten zuletzt am %1 aktualisiert" @@ -630,26 +716,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 O]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Allgemeine Einstellungen" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Gerät %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Suchlaufdaten über Internet aktualisieren" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Suchlaufdaten werden heruntergeladen" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Die Aktualisierung der Suchlaufdaten ist fehlgeschlagen." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -657,277 +749,343 @@ "Die Suchlaufdaten wurden erfolgreich aktualisiert. Die\n" "Änderungen werden aktiv, sobald Sie den Einrichtungsdialog schließen." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Name: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Nach links" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Zurücksetzen" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Entfernen" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Nach rechts" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Gerät nicht angeschlossen." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestrisch" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automatischer Suchlauf" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automatischer Suchlauf mit 167-kHz-Versatz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automatischer Suchlauf für Australien" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automatischer Suchlauf für Italien" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automatischer Suchlauf für Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tuner-Timeout (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Quelle:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Keine Quelle" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Name:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Konfiguration:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC-Schalter" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS-Rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Positionen-Rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Einstellungen von LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-Einstellungen" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Satelliten hinzufügen" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Position" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Satelliten entfernen" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universal-LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-Band-LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-Band-Mehrfach-LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Benutzerdefinierter LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Umschaltfrequenz (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Lowband-Zwischenfrequenz (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Highband-Zwischenfrequenz (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontale Zwischenfrequenz (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertikale Zwischenfrequenz (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "Zwischenfrequenz (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Anfang" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Dauer" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Programmführer" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Programm zur Aufnahme planen" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgid "Record as:" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Aufnehmen als:" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Suchen:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 – %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Kein passendes Gerät gefunden." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Start" -#: dvb/dvbrecording.cpp:156 +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 #, fuzzy -#| msgid "Kaffeine is still recording. Do you really want to quit?" -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "Kaffeine zeichnet gerade auf. Soll wirklich beendet werden?" +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Dauer" -#: dvb/dvbrecording.cpp:166 +#: dvb/dvbepgdialog.cpp:362 #, fuzzy -#| msgid "Kaffeine is still recording. Do you really want to quit?" -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "Kaffeine zeichnet gerade auf. Soll wirklich beendet werden?" +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titel" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Kein passendes Gerät gefunden." + +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Kein passendes Gerät gefunden." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Aufnahmeplan" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Neu" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Name" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Einträg ändern" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Name:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Anfang:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Start" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Dauer:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Ende:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Wiederholung:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Niemals" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Täglich" @@ -948,99 +1106,133 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanäle" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Löschen" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanalsuche" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Suchlauf starten" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Eingestellt:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Freie Programme" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Fernsehen" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Anbieter:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Gefilterte hinzufügen" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Ausgewählte hinzufügen" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Suchergebnisse" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Aktueller Transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Suchlauf anhalten" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programmführer" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Aufnahmeplan" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Sofortaufnahme" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Fernsehen einrichten" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Suchen:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +#, fuzzy +#| msgid "Kaffeine is still recording. Do you really want to quit?" +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "Kaffeine zeichnet gerade auf. Soll wirklich beendet werden?" + +#: dvb/dvbtab.cpp:301 +#, fuzzy +#| msgid "Kaffeine is still recording. Do you really want to quit?" +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "Kaffeine zeichnet gerade auf. Soll wirklich beendet werden?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Sofortaufnahme gestartet" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Sofortaufnahme angehalten" @@ -1085,26 +1277,26 @@ msgid "Random" msgstr "Zufällig" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Untertitel hinzufügen" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Umbenennen" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Unbenannte Wiedergabeliste " -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Untertitel-Dateien" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1115,6 +1307,54 @@ "*.pls|PLS-Wiedergabeliste\n" "*.xspf|XSPF-Wiedergabeliste" +#~ msgid "Channel Settings" +#~ msgstr "Kanaleinstellungen" + +#~ msgid "Name" +#~ msgstr "Name" + +#~ msgid "Edit" +#~ msgstr "Bearbeiten" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Entfernen" + +#~ msgid "Remove" +#~ msgstr "Entfernen" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Anfang" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Anfang:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Neu" + +#~ msgid "Channel" +#~ msgstr "Kanal" + +#~ msgid "Duration" +#~ msgstr "Dauer" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Programm zur Aufnahme planen" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Name" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Aktualisieren" @@ -1200,9 +1440,6 @@ #~ msgid "Channel search" #~ msgstr "Kanalsuche" -#~ msgid "Edit channel" -#~ msgstr "Kanal bearbeiten" - #~ msgid "Change icon" #~ msgstr "Symbol ändern" @@ -1244,9 +1481,6 @@ #~ msgid "Add to Timers" #~ msgstr "Zu Aufnahmezeiten hinzufügen" -#~ msgid "Record as:" -#~ msgstr "Aufnehmen als:" - #~ msgid "None" #~ msgstr "Nichts" @@ -2080,9 +2314,6 @@ #~ msgid "Disable all checking" #~ msgstr "Alles Ausgewählte abschalten" -#~ msgid "Normal mode" -#~ msgstr "Normaler Modus" - #~ msgid "Paranoia mode" #~ msgstr "Paranoia Modus" @@ -2174,9 +2405,6 @@ #~ msgid "Clear recent files list" #~ msgstr "Liste der zuletzt geöffneten Dateien leeren" -#~ msgid "Start playing immediately" -#~ msgstr "Sofort abspielen" - #~ msgid "Set audio driver" #~ msgstr "Audiotreiber einstellen" @@ -2238,9 +2466,6 @@ #~ msgid "%1 not found in search path." #~ msgstr "%1 nicht im Suchpfad gefunden." -#~ msgid "Open &URL..." -#~ msgstr "&Adresse öffnen ..." - #~ msgid "Open D&irectory..." #~ msgstr "Verze&ichnis öffnen ..." diff -Nru kaffeine-1.1/po/el/kaffeine.po kaffeine-1.2.2/po/el/kaffeine.po --- kaffeine-1.1/po/el/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/el/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2009-02-17 18:13+0200\n" "Last-Translator: Toussis Manolis \n" "Language-Team: Greek \n" @@ -16,7 +16,7 @@ "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 #, fuzzy #| msgid "Kaffeine Player" msgid "Kaffeine" @@ -29,364 +29,416 @@ msgstr "" "Ένας αναπαραγωγέας πολυμέσων για το KDE με υποστήριξη ψηφιακής τηλεόρασης" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(c) 2007, Οι συγγραφείς του Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 #, fuzzy #| msgid "Play File" msgid "&1 Play File" msgstr "Αναπαραγωγή αρχείου" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 #, fuzzy #| msgid "Play Audio CD" msgid "&2 Play Audio CD" msgstr "Αναπαραγωγή CD ήχου" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 #, fuzzy #| msgid "Play Video CD" msgid "&3 Play Video CD" msgstr "Αναπαραγωγή βίντεο CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 #, fuzzy #| msgid "Play DVD" msgid "&4 Play DVD" msgstr "Αναπαραγωγή DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 #, fuzzy #| msgid "Digital TV" msgid "&5 Digital TV" msgstr "Ψηφιακή τηλεόραση" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configure channels" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Ρύθμιση καναλιών" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Λειτουργία πλήρους οθόνης" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Ρυθμίσεις:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Αρχείο" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "'Άνοιγμα URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Αναπαραγωγή CD ήχου" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Αναπαραγωγή βίντεο CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Αναπαραγωγή DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Αναπαραγωγή DVD" + +#: mainwindow.cpp:322 #, fuzzy #| msgid "Play" msgid "&Playback" msgstr "Αναπαραγωγή" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy #| msgid "Play" msgctxt "menu bar" msgid "Play&list" msgstr "Αναπαραγωγή" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Ρυθμίσεις" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Έναρξη" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy #| msgid "Play" msgid "Playback" msgstr "Αναπαραγωγή" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 #, fuzzy #| msgid "Play" msgid "Playlist" msgstr "Αναπαραγωγή" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Start in fullscreen mode" msgid "Start in full screen mode" msgstr "Έναρξη σε λειτουργία πλήρους οθόνης" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgid "Delete all" msgctxt "command line option" msgid "(deprecated option)" msgstr "Διαγραφή όλων" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play TV channel" msgstr "Διαγραφή καναλιού" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Διαγραφή καναλιού" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 #, fuzzy #| msgid "File or url to play" msgid "Files or URLs to play" msgstr "Αρχείο ή url για αναπαραγωγή" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "'Άνοιγμα URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Εισάγετε ένα URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 #, fuzzy #| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Θέση" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 #, fuzzy #| msgid "Enter a URL:" msgid "Enter a position:" msgstr "Εισάγετε ένα URL:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Προηγούμενο" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Αναπαραγωγή" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Παύση" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Σταμάτημα" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Επόμενο" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Λειτουργία πλήρους οθόνης" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Radio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Ραδιόφωνο" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Play Video CD" msgctxt "'Playback' menu" msgid "Video" msgstr "Αναπαραγωγή βίντεο CD" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgid "Radio" msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Ραδιόφωνο" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 #, fuzzy #| msgid "Radio" msgid "Automatic Resize" msgstr "Ραδιόφωνο" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Θέση" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select source:" msgid "Seek Slider" msgstr "Επιλογή πηγής:" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "&File" msgctxt "dvd navigation" msgid "Title" msgstr "&Αρχείο" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -403,7 +455,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -461,191 +513,211 @@ msgid "Your emails" msgstr "manolis@koppermind.homelinux.org" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 #, fuzzy -#| msgid "Horizontal LOF (MHz)" -msgid "Horizontal" -msgstr "Οριζόντιο LOF (MHz)" +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Κανάλι" -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:108 #, fuzzy -#| msgid "Terrestrial" -msgid "Vertical" -msgstr "Επίγεια" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Όνομα" - -#: dvb/dvbchannelui.cpp:302 +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Αριθμός" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Επεξεργασία" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 #, fuzzy #| msgid "Remove" -msgctxt "remove an item from a list" +msgctxt "@action" msgid "Remove" msgstr "Αφαίρεση" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:402 #, fuzzy -#| msgid "Channels" -msgid "Channel Settings" -msgstr "Κανάλια" +#| msgid "Horizontal LOF (MHz)" +msgid "Horizontal" +msgstr "Οριζόντιο LOF (MHz)" + +#: dvb/dvbchanneldialog.cpp:403 +#, fuzzy +#| msgid "Terrestrial" +msgid "Vertical" +msgstr "Επίγεια" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Επεξεργασία καναλιού" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Όνομα:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 #, fuzzy #| msgid "Number" +msgctxt "@label tv channel" msgid "Number:" msgstr "Αριθμός" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Πηγή:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 #, fuzzy #| msgid "Switch frequency (MHz)" msgid "Frequency (MHz):" msgstr "Συχνότητα εναλλαγής (MHz)" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 #, fuzzy #| msgid "Duration:" msgid "Modulation:" msgstr "Διάρκεια:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy #| msgid "Position" msgid "Polarization:" msgstr "Θέση" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 #, fuzzy #| msgid "Search:" msgid "Hierarchy:" msgstr "Αναζήτηση:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 #, fuzzy #| msgid "Play Video CD" msgid "Video PID:" msgstr "Αναπαραγωγή βίντεο CD" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 #, fuzzy #| msgid "Play Video CD" msgid "Subtitle PID:" msgstr "Αναπαραγωγή βίντεο CD" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 #, fuzzy #| msgid "Device %1" msgid "Service ID:" msgstr "Συσκευή %1" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 #, fuzzy #| msgid "Edit channel" msgid "Audio channel:" msgstr "Επεξεργασία καναλιού" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 #, fuzzy #| msgid "Configure Channels" +msgctxt "@title:window" msgid "Configure Television" msgstr "Ρύθμιση καναλιών" @@ -677,7 +749,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, fuzzy, kde-format #| msgid "Scan file last updated
on %1" msgid "Scan data last updated on %1" @@ -707,333 +779,380 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Συσκευή %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 #, fuzzy #| msgid "Scan file last updated
on %1" msgid "Scan data update failed." msgstr "Τα αρχείο σάρωσης ενημερώθηκε
στις %1" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Όνομα: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgid "Remove" -msgid "Remove" -msgstr "Αφαίρεση" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 #, fuzzy #| msgid "device not connected" msgid "Device not connected." msgstr "συσκευή μη συνδεδεμένη" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 #, fuzzy #| msgid "DVB-S" msgid "DVB-S2" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Καλωδιακή" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Επίγεια" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 #, fuzzy #| msgid "Stop scan" msgid "Autoscan" msgstr "Σταμάτημα σάρωσης" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Χρονικό όριο δέκτη (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Πηγή:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "No source" msgid "No Source" msgstr "Καμία πηγή" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Όνομα:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Ρυθμίσεις:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 #, fuzzy #| msgid "DiSEqC switch" msgid "DiSEqC Switch" msgstr "εναλλαγή DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 #, fuzzy #| msgid "USALS rotor" msgid "USALS Rotor" msgstr "ρότορας USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy #| msgid "Positions rotor" msgid "Positions Rotor" msgstr "Ρότορας θέσεων" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "LNB %1 settings" msgid "LNB %1 Settings" msgstr "Ρυθμίσεις LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "LNB settings" msgid "LNB Settings" msgstr "Ρυθμίσεις LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 #, fuzzy #| msgid "Add satellite" msgid "Add Satellite" msgstr "Προσθήκη δορυφόρου" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Δορυφόρος" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Θέση" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 #, fuzzy #| msgid "Remove satellite" msgid "Remove Satellite" msgstr "Αφαίρεση δορυφόρου" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Καθολικό LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-Band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 #, fuzzy #| msgid "C-band multipoint LNB" msgid "C-band Multipoint LNB" msgstr "C-band multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Προσαρμοσμένο LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Συχνότητα εναλλαγής (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Χαμηλού εύρους LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Υψηλού εύρους LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Οριζόντιο LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Κατακόρυφο LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Αρχή" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Διάρκεια" - -#: dvb/dvbepg.cpp:269 -#, fuzzy -#| msgid "&File" -msgid "Title" -msgstr "&Αρχείο" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgid "Recordings" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Εγγραφές" + +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Αναζήτηση:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 #, fuzzy -#| msgid "No suitable device found." -msgctxt "message box" -msgid "No available device found." -msgstr "Δε βρέθηκε κατάλληλη συσκευή." +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Έναρξη" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Διάρκεια" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "&File" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "&Αρχείο" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Κανάλι" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "@info" +msgid "No device found." +msgstr "Δε βρέθηκε κατάλληλη συσκευή." + +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "message box" +msgid "No available device found." +msgstr "Δε βρέθηκε κατάλληλη συσκευή." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 +#: dvb/dvbrecordingdialog.cpp:42 #, fuzzy #| msgid "Recordings" -msgctxt "dialog" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Εγγραφές" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy #| msgid "New" -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "Νέο" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Όνομα" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Όνομα:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Κανάλι:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Αρχή:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Έναρξη" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Διάρκεια:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Τέλος:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -1054,116 +1173,148 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Κανάλια" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 #, fuzzy #| msgid "Cable" msgctxt "remove all items from a list" msgid "Clear" msgstr "Καλωδιακή" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channel" msgid "Channel Scan" msgstr "Κανάλι" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 #, fuzzy #| msgid "Start scan" msgid "Start Scan" msgstr "Έναρξη σάρωσης" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Σήμα:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Σε συντονισμό:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Φίλτρο" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Ελεύθερα" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Ραδιόφωνο" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Πάροχος:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy #| msgid "Add filtered" msgid "Add Filtered" msgstr "Προσθήκη φιλτραρισμένων" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 #, fuzzy #| msgid "Add selected" msgid "Add Selected" msgstr "Προσθήκη επιλογής" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 #, fuzzy #| msgid "Scan results" msgid "Scan Results" msgstr "Αποτελέσματα σάρωσης" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 #, fuzzy #| msgid "Current transponder" msgid "Current Transponder" msgstr "Τρέχων αναμεταδότης" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Stop scan" msgid "Stop Scan" msgstr "Σταμάτημα σάρωσης" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +#, fuzzy +#| msgid "Recordings" +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Εγγραφές" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Channels" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Ρύθμιση καναλιών" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Αναζήτηση:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channel:" msgctxt "osd" msgid "Channel: %1_" msgstr "Κανάλι:" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1218,34 +1369,34 @@ msgid "Random" msgstr "Ραδιόφωνο" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add satellite" msgid "Add Subtitle" msgstr "Προσθήκη δορυφόρου" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgid "Remove" msgctxt "rename an entry in a list" msgid "Rename" msgstr "Αφαίρεση" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Play" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Αναπαραγωγή" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Play Video CD" msgctxt "file filter" msgid "Subtitle Files" msgstr "Αναπαραγωγή βίντεο CD" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1254,6 +1405,58 @@ msgstr "" #, fuzzy +#~| msgid "Channels" +#~ msgid "Channel Settings" +#~ msgstr "Κανάλια" + +#~ msgid "Name" +#~ msgstr "Όνομα" + +#~ msgid "Edit" +#~ msgstr "Επεξεργασία" + +#, fuzzy +#~| msgid "Remove" +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Αφαίρεση" + +#, fuzzy +#~| msgid "Remove" +#~ msgid "Remove" +#~ msgstr "Αφαίρεση" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Αρχή" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Αρχή:" + +#, fuzzy +#~| msgid "New" +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Νέο" + +#~ msgid "Channel" +#~ msgstr "Κανάλι" + +#~ msgid "Duration" +#~ msgstr "Διάρκεια" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Όνομα" + +#, fuzzy #~| msgid "Scan file last updated
on %1" #~ msgctxt "program guide" #~ msgid "Program successfully scheduled." @@ -1317,9 +1520,6 @@ #~ msgid "Channel search" #~ msgstr "Αναζήτηση καναλιού" -#~ msgid "Edit channel" -#~ msgstr "Επεξεργασία καναλιού" - #~ msgid "Change icon" #~ msgstr "Τροποποίηση εικονιδίου" diff -Nru kaffeine-1.1/po/en_GB/kaffeine.po kaffeine-1.2.2/po/en_GB/kaffeine.po --- kaffeine-1.1/po/en_GB/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/en_GB/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,22 +1,23 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Andrew Coles , 2009, 2010. +# Andrew Coles , 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-08 17:42+0100\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-02-05 17:26+0000\n" "Last-Translator: Andrew Coles \n" "Language-Team: British English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language: en_GB\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -24,312 +25,354 @@ msgid "A media player for KDE with digital TV support." msgstr "A media player for KDE with digital TV support." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 The Kaffeine Authors" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Maintainer" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Play File" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Play Audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Play Video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Play DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digital TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configure Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Startup display mode:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normal Mode" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimal Mode" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Full Screen Mode" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Remember Last Setting" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Short skip duration:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Long skip duration:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&File" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Open URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Open URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Play Audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Play Video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Play DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Play DVD Folder" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Playback" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Play&list" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Television" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Settings" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Start" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Playback" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Playlist" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Television" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Start in full screen mode" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(deprecated option)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Play TV channel" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Play last tuned TV channel" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Dump dvb data (debug option)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Files or URLs to play" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Open URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Enter a URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Jump to Position" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Enter a position:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Previous" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Play" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pause" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stop" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Next" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Full Screen Mode" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimal Mode" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "off" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Increase Volume" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Decrease Volume" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Mute Volume" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Deinterlace" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Aspect Ratio" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatic" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Fit to Window" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatic Resize" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Off" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Original Size" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Double Size" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Volume Slider" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Jump to Position..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Skip" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Skip %1s Backwards" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Skip %1s Forwards" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Seek Slider" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Toggle Menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Title" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Chapter" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Angle" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Switch between elapsed and remaining time display" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Supported Media Files" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "All Files" @@ -344,7 +387,7 @@ msgid "Exit Minimal Mode" msgstr "Exit Minimal Mode" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Stopped" @@ -395,163 +438,194 @@ msgid "Your emails" msgstr "andrew_coles@yahoo.co.uk" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Please install the Qt SQLite plugin." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Cannot open the SQLite database." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Internal utility for Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circular left" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circular right" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Name" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Channel" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Number" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Edit" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Remove" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"The channels will be sorted by number to allow drag and drop.\n" +"Do you want to continue?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Channel Settings" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circular left" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circular right" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Edit channel" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Name:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Number:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Source:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequency (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symbol rate (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulation:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC rate:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisation:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Bandwidth:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC rate LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Transmission mode:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Guard interval:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchy:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Subtitle PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teletext PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Network ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Transport stream ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Service ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Audio channel:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Scrambled:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configure Television" @@ -579,7 +653,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Use ISO 8859-1 charset instead of ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Scan data last updated on %1" @@ -608,26 +682,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "General Options" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Device %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Update scan data over Internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Downloading scan data" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Scan data update failed." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -635,277 +715,336 @@ "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialogue." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Name: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Move Left" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Reset" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Remove" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Move Right" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Device not connected." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cable" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestrial" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoscan" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoscan with 167 kHz Offsets" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoscan Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoscan Italy" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoscan Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tuner timeout (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Source:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "No Source" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Name:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuration:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC Switch" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS Rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Positions Rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 Settings" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB Settings" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Add Satellite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Position" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Remove Satellite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universal LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Custom LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Switch frequency (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Low band LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "High band LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontal LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertical LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Begin" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Duration" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Title" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" -msgstr "Program Guide" +msgstr "Programme Guide" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Schedule Programme" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Recording Schedule" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Search:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Start" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine is currently recording programmes.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Duration" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Title" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Channel" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "No available device found." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "No available device found." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Recording Schedule" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "New" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Name" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Edit Schedule Entry" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Name:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Channel:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Start" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Duration:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "End:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Repeat:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Never" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Daily" @@ -926,99 +1065,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Channels" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Clear" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Channel Scan" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Start Scan" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Tuned:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Free to air" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Provider:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Add Filtered" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Add Selected" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Scan Results" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Current Transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Stop Scan" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Program Guide" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Recording Schedule" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Instant Record" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configure Television..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Search:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Channel: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine is currently recording programmes.\n" +"Do you really want to close the application?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Instant Record Started" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Instant Record Stopped" @@ -1063,26 +1234,26 @@ msgid "Random" msgstr "Random" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Add Subtitle" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Rename" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Unnamed Playlist" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Subtitle Files" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1093,6 +1264,52 @@ "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" +#~ msgid "Channel Settings" +#~ msgstr "Channel Settings" + +#~ msgid "Name" +#~ msgstr "Name" + +#~ msgid "Edit" +#~ msgstr "Edit" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Remove" + +#~ msgid "Remove" +#~ msgstr "Remove" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Begin" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Begin:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "New" + +#~ msgid "Channel" +#~ msgstr "Channel" + +#~ msgid "Duration" +#~ msgstr "Duration" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Schedule Programme" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Name" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Refresh" @@ -1168,9 +1385,6 @@ #~ msgid "Channel search" #~ msgstr "Channel search" -#~ msgid "Edit channel" -#~ msgstr "Edit channel" - #~ msgid "Change icon" #~ msgstr "Change icon" diff -Nru kaffeine-1.1/po/eo/kaffeine.po kaffeine-1.2.2/po/eo/kaffeine.po --- kaffeine-1.1/po/eo/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/eo/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2009-11-15 12:06+0100\n" "Last-Translator: Axel Rousseau \n" "Language-Team: esperanto \n" @@ -15,7 +15,7 @@ "X-Generator: pology\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -23,235 +23,278 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Prizorganto" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Dosiero" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Malfermu URLon" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "A&gordo" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Lanĉi" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Ludado" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Ludlisto" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Malfermu URLon" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Entajpu URLon:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" -msgstr "" +msgstr "Pozicio" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Antaŭa" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Ludi" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Paŭzi" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Halti" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Sekva" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Audio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Sono" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 #, fuzzy #| msgid "Increase Volume" msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Pliigi la laŭtecon" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 #, fuzzy #| msgid "Decrease Volume" msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Malpliigi la laŭtecon" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 #, fuzzy #| msgid "Mute Volume" msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Mutigi la laŭtecon" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 #, fuzzy #| msgctxt "aspect ratio" #| msgid "4:3" @@ -259,7 +302,7 @@ msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 #, fuzzy #| msgctxt "aspect ratio" #| msgid "16:9" @@ -267,88 +310,93 @@ msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select Folder" msgid "Seek Slider" msgstr "Elekti leterujon" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "Title" msgctxt "dvd navigation" msgid "Title" msgstr "Titolo" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 #, fuzzy #| msgid "Angle" msgctxt "dvd navigation" msgid "Angle" msgstr "Angulo" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -363,7 +411,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "" @@ -414,163 +462,187 @@ msgid "Your emails" msgstr "axel@esperanto-jeunes.org" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontala" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikala" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nomo" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanalo" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Numero" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Redakti" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" -msgstr "" +msgstr "Forigi" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontala" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikala" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanalo" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nomo:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Nombro:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "" @@ -598,7 +670,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -627,302 +699,351 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Ĝeneralaj opcioj" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, fuzzy, kde-format #| msgid "Pages: %1" msgid "Name: %1" msgstr "Paĝoj: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Movi maldekstren" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Restarigu" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Forigi" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Movi dekstren" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nomo:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Pozicio" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Daŭro" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titolo" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Serĉi:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Lanĉi" + +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Daŭro" + +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titolo" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." msgstr "" -#: dvb/dvbrecording.cpp:166 +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +msgid "No available device found." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanalo" - -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nomo" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nomo:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanalo:" -#: dvb/dvbrecording.cpp:810 +#: dvb/dvbrecordingdialog.cpp:394 #, fuzzy -#| msgctxt "City name (optional, probably does not need a translation)" -#| msgid "Berlin" -msgid "Begin:" -msgstr "Berlino" +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Lanĉi" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Daŭro:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Fino:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Ripeto:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -944,99 +1065,127 @@ msgid "SNR" msgstr "" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanaloj" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtrilo" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Serĉi:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1089,31 +1238,63 @@ msgid "Random" msgstr "Radio" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Playlist" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Ludlisto" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" + +#~ msgid "Name" +#~ msgstr "Nomo" + +#~ msgid "Edit" +#~ msgstr "Redakti" + +#~ msgid "Remove" +#~ msgstr "Forigi" + +#, fuzzy +#~| msgctxt "City name (optional, probably does not need a translation)" +#~| msgid "Berlin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Berlino" + +#, fuzzy +#~| msgctxt "City name (optional, probably does not need a translation)" +#~| msgid "Berlin" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Berlino" + +#~ msgid "Duration" +#~ msgstr "Daŭro" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nomo" diff -Nru kaffeine-1.1/po/es/kaffeine.po kaffeine-1.2.2/po/es/kaffeine.po --- kaffeine-1.1/po/es/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/es/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -2,7 +2,7 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Javier Vinal , 2009, 2010. +# Javier Vinal , 2009, 2010, 2011. # javier Vinal , 2009, 2010. # Javier Viñal , 2010. # Eloy Cuadra , 2010. @@ -10,17 +10,18 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-17 09:40+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-12 22:57+0100\n" "Last-Translator: Javier Vinal \n" -"Language-Team: Español \n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language: es\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,312 +29,354 @@ msgid "A media player for KDE with digital TV support." msgstr "Un reproductor de medios para KDE que reconoce televisión digital." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007-2010 Los autores de Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Responsable" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Reproducir archivo" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Reproducir CD de audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Reproducir CD de vídeo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Reproducir DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV Digital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurar Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Modo de visualización de inicio:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Modo normal" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Modo mínimo" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Modo de pantalla completa" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Recordar la última configuración" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Acortar duración del salto:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Alargar duración del salto:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Archivo" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Abrir URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Abrir URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reproducir CD de audio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reproducir CD de vídeo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reproducir DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reproducir carpeta de DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "Re&producir" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Lista de reproducción" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisión" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Preferencias" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" -msgstr "Iniciar" +msgstr "Inicio" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" -msgstr "Reproducir" +msgstr "Reproducción" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lista de reproducción" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisión" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Inicio en modo de pantalla completa" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(opción obsoleta)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Reproducir canal de TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Reproducir el último canal de TV sintonizado" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Volcar datos de dvb (opción de depuración)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Archivos o URL a reproducir" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Abrir URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" -msgstr "Introducir una URL:" +msgstr "Introduzca una URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Saltar a posición" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Introduzca una posición:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reproducir" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausa" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Detener" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Siguiente" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Modo de pantalla completa" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Modo mínimo" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "desactivado" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Aumentar volumen" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Reducir volumen" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Silenciar volumen" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Vídeo" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" -msgstr "Des-entrelazar" +msgstr "Desentrelazar" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Relación de Aspecto" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automático" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Ajustar a la ventana" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Tamaño Automático" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Desactivado" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Tamaño original" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Tamaño doble" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Deslizador de volumen" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Saltar a posición..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Saltar" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Retroceder %1s" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Avanzar %1s" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Deslizador de búsqueda" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Conmutar menú" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Título" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capítulo" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ángulo" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" -msgstr "Intercambiar entre visualización de tiempo transcurrido y restante" +msgstr "Conmutar entre visualización de tiempo transcurrido y restante" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Archivos de medios admitidos" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Todos los archivos" @@ -348,7 +391,7 @@ msgid "Exit Minimal Mode" msgstr "Salir del modo mínimo" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Parado" @@ -372,12 +415,12 @@ #: mediawidget.cpp:1241 msgctxt "osd message" msgid "Deinterlacing On" -msgstr "Des-entrelazado activado" +msgstr "Desentrelazado activado" #: mediawidget.cpp:1243 msgctxt "osd message" msgid "Deinterlacing Off" -msgstr "Des-entrelazado desactivado" +msgstr "Desentrelazado desactivado" #: mediawidget.cpp:1288 msgctxt "osd" @@ -399,57 +442,58 @@ msgid "Your emails" msgstr "fjvinal@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Por favor instale el complemento de SQLite para Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "No se puede abrir la base de datos SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Utilidad interna para Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Cursor izquierdo" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Cursor derecho" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nombre" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Número" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Editar" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Eliminar" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -457,107 +501,135 @@ "Los canales se ordenarán por número para permitir arrastrar y soltar.\n" "¿Quiere usted continuar?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Preferencias de canales" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Cursor izquierdo" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Cursor derecho" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Canal" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nombre:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Número:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Origen:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frecuencia (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" -msgstr "Velocidad de símbolos (kS/s):" +msgstr "Tasa de símbolos (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulación:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Ratio FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarización:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Ancho de banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Ratio FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Modo de transmisión:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Intervalo de guardia:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Jerarquía:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID de vídeo:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID de subtítulos:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID de teletexto:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Id. de red:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Id. de flujo de transporte:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Id. de servicio:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal de audio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Mezclado:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurar televisión" @@ -585,7 +657,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Usar el juego de caracteres ISO 8859-1 en lugar de ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Datos de exploración actualizados por última vez el %1" @@ -604,7 +676,7 @@ #: dvb/dvbconfigdialog.cpp:124 msgid "[S -90 ... 90 N]" -msgstr "[S -90 ... 90 N]" +msgstr "[S -90... 90 N]" #: dvb/dvbconfigdialog.cpp:138 msgid "Longitude:" @@ -612,306 +684,361 @@ #: dvb/dvbconfigdialog.cpp:139 msgid "[W -180 ... 180 E]" -msgstr "[W -180 ... 180 E]" +msgstr "[W -180... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opciones generales" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositivo %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Actualizar datos de exploración " + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Descargando datos de exploración" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Fallo de la actualización de los datos de exploración." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -"La exploración de datos se ha actualizado satisfactoriamente. Los cambios " -"tendrán efecto una vez se cierre el diálogo de configuración." +"Exploración de datos actualizada satisfactoriamente. Los cambios tendrán\n" +"efecto una vez se cierre el diálogo de configuración." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nombre: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mover a la izquierda" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Reiniciar" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Eliminar" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mover a la derecha" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispositivo no conectado." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cable" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" -msgstr "Auto-exploración" +msgstr "Autoexploración" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" -msgstr "Auto-exploración con compensación de 167 Hz" +msgstr "Autoexploración con compensación de 167 Hz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" -msgstr "Auto-exploración Australia" +msgstr "Autoexploración Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" -msgstr "Auto-exploración Italia" +msgstr "Autoexploración Italia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" -msgstr "Auto-exploración Taiwan" +msgstr "Autoexploración Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tiempo de espera del sintonizador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Origen:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Sin origen" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nombre:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuración:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" -msgstr "Interruptor DiSEqC" +msgstr "Conmutador DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de posiciones" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Preferencias de LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Preferencias de LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Añadir satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posición" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" -msgstr "Borrar satélite" +msgstr "Eliminar satélite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB C-banda" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" -msgstr "LNB C-banda multi-punto" +msgstr "LNB C-banda multipunto" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalizado" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frecuencia de intercambio (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Banda baja de LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Banda alta de LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horizontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Inicio" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Duración" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Título" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guía de programas" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Planificar programa" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Mostrar registro" + +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Buscar:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "No se ha encontrado ningún dispositivo." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Inicio" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine está grabando programas en este momento.\n" -"¿Realmente quiere usted cerrar la aplicación?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Duración" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Título" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -"Kaffeine tiene grabaciones programadas.\n" -"¿Realmente quiere usted cerrar la aplicación?" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "No se ha encontrado ningún dispositivo." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "No se ha encontrado ningún dispositivo." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Calendario de grabación" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nuevo" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nombre" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Editar entrada de programa" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nombre:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Inicio:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Inicio" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Duración:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Fin:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Repetir:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nunca" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Diariamente" @@ -932,99 +1059,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canales" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" -msgstr "Limpiar" +msgstr "Borrar" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Exploración de canal" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Iniciar exploración" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Señal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonizado:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtro" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" -msgstr "Libre para publicar" +msgstr "Al aire libre" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Proveedor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Añadir filtrado" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Añadir seleccionado" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Resultados de la exploración" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Transponedor actual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Detener exploración" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guía de programas" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Calendario de grabación" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Grabación instantánea" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurar televisión..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Buscar:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine está grabando programas en este momento.\n" +"¿Realmente quiere usted cerrar la aplicación?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine tiene grabaciones programadas.\n" +"¿Realmente quiere usted cerrar la aplicación?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Grabación instantánea iniciada" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Grabación instantánea parada" @@ -1069,32 +1228,48 @@ msgid "Random" msgstr "Aleatorio" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Añadir subtítulo" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Cambiar nombre" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Lista de reproducción sin nombre" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Archivos de subtítulos:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" -"*.xspf|XSPF Playlist\n" -"*.m3u|M3U Playlist\n" -"*.pls|PLS Playlist" +"Lista de reproducción *.xspf|XSPF\n" +"Lista de reproducción *.m3u|M3U\n" +"Lista de reproducción *.pls|PLS" + +#~ msgid "Channel Settings" +#~ msgstr "Preferencias de canales" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Eliminar" + +#~ msgid "Begin" +#~ msgstr "Inicio" + +#~ msgid "Duration" +#~ msgstr "Duración" + +#~ msgid "Begin:" +#~ msgstr "Inicio:" diff -Nru kaffeine-1.1/po/et/kaffeine.po kaffeine-1.2.2/po/et/kaffeine.po --- kaffeine-1.1/po/et/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/et/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -2,22 +2,23 @@ # Copyright (C) 2008 This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Marek Laane , 2008-2009, 2010. +# Marek Laane , 2008-2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-05-24 16:42+0300\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-28 15:24+0300\n" "Last-Translator: Marek Laane \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"Language: et\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -25,312 +26,354 @@ msgid "A media player for KDE with digital TV support." msgstr "KDE multimeediamängija digi-TV toetusega." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010: Kaffeine autorid" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Hooldaja" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Faili esitamine" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Audio-CD esitamine" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Video-CD esitamine" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 DVD esitamine" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 DigiTV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kaffeine seadistamine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Režiim käivitamisel:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Tavaline režiim" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimaalne režiim" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Täisekraanirežiim" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Viimane seadistus jäetakse meelde" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Lühikese hüppe kestus:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Pika hüppe kestus:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fail" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Ava URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Ava URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Audio CD esitamine" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Video-CD esitamine" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD esitamine" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD kausta esitamine" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Esitus" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Esitusnimekiri" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisioon" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Seadistused" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Käivita" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Taasesitus" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Esitusnimekiri" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisioon" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Käivitamine täisekraanirežiim" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(iganenud võti)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Telekanali esitamine" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Viimati vaadatud telekanali esitamine" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "DVB andmete salvestamine (silumisvalik)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Esitatavad failid või URL-id" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL-i avamine" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Sisesta URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Hüpe asukohta" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Asukoht:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Eelmine" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Esitus" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Paus" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Peata" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Järgmine" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Täisekraanirežiim" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimaalne režiim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "väljas" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Heli" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Heli juurde" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Heli maha" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Heli tummaks" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Üleralaotuse eemaldamine" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Mastaap (kuvasuhe)" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automaatne" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Sobitamine aknasse" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automaatne suuruse muutmine" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Väljas" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Algsuurus" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Topeltsuurus" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Helitugevuse liugur" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Hüppa asukohta..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Jäta vahele" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Hüppa %1 sek tagasi" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Hüppa %1 sek edasi" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Otsimisliugur" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Menüü lülitamine" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Pealkiri" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Peatükk" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Nurk" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Lülitamine kulunud ja jäänud aja näitamise vahel" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Toetatud meediafailid" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Kõik failid" @@ -345,7 +388,7 @@ msgid "Exit Minimal Mode" msgstr "Välju minimaalsest režiimist" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Peatatud" @@ -396,163 +439,175 @@ msgid "Your emails" msgstr "bald@smail.ee" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Palun paigalda Qt SQLite'i plugin." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "SQLite'i andmebaasi avamine nurjus." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Kaffeine sisemine tööriist" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horisontaalne" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikaalne" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Ringpolarisatsioon vastupäeva" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Rngpolarisatsioon päripäeva" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nimi" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" msgstr "Number" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Muuda" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Eemalda" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"Kanalid sorditakse numbri järgi, et neid oleks võimalik lohistada.\n" +"Kas jätkata?" + +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horisontaalne" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikaalne" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Ringpolarisatsioon vastupäeva" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Rngpolarisatsioon päripäeva" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanali seadistused" +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanali muutmine" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Nimi:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "Number:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Allikas:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Sagedus (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Sümbolikiirus (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulatsioon:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC kiirus:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisatsioon:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Ribalaius:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC kiiruse LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Ülekandeviis:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Kaitseintervall:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarhia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Subtiitri PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teleteksti PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Võrgu ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Transpordivoo ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Teenuse ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Helikanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Kodeeritud:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "TV seadistamine" @@ -580,7 +635,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "ISO 8859-1 märgistiku kasutamine ISO 6937 asemel:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Uuringuandmeid uuendati viimati %1" @@ -609,26 +664,30 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Üldised valikud" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Seade %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Uuringuandmete uuendamine" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Uuringuandmete allalaadimine" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Uuringuandmete uuendamine nurjus." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -636,273 +695,299 @@ "Uuringuandmed said edukalt uuendatud.\n" "Muudatused rakenduvad pärast seadistustedialoogi sulgemist." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nimi: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Liiguta vasakule" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Lähtesta" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Eemalda" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Liiguta paremale" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "seade pole ühendatud." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kaabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Maapealne" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automaatuuring" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automaatuuring 167 kHz nihkega" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Austraalia automaatuurimine" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Itaalia automaatuurimine" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Taiwani automaatuurimine" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tuuneri ajaületus (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Allikas:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Allikas puudub" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nimi:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Seadistus:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC lüliti" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS rootor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Positsioonirootor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 seadistused" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB seadistused" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Lisa satelliit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelliit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Positsioon" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Eemalda satelliit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universaalne LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Kohandatud LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Lülitamissagedus (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" -msgstr "Madalsagedus-LOF (MHz)" +msgstr "Madalama sagedusriba LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" -msgstr "Kõrgsagedus-LOF (MHz)" +msgstr "Kõrgema sagedusriba LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horis. LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vert. LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Algus" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Kestus" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Pealkiri" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Telekava" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Lisa saade kavasse" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Salvesta saade" + +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Otsing:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Ühtegi seadet ei leitud." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Algus" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Kestus" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Pealkiri" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Ühtegi seadet ei leitud." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Ühtegi seadet ei leitud." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Kava salvestamine" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "Uus" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nimi" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Kavakirje muutmine" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Nimi:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Algus:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "Kestus:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Lõpp:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Kordus:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Mitte kunagi" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Iga päev" @@ -923,99 +1008,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanalid" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Puhasta" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanaliuuring" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Käivita uuring" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signaal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Häälestatud:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Tasuta vastuvõetav" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Raadio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Pakkuja:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Lisa filtreeritud" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Lisa valitud" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Uurimise tulemused" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Aktiivne transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Peata uuring" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Telekava" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Kava salvestamine" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Otsesalvestus" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "TV seadistamine..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Otsing:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine salvestab parajasti programme.\n" +"Kas tõesti rakendus sulgeda?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeinel on peagi ette nähtud salvestamine.\n" +"Kas tõesti rakendus sulgeda?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Otsesalvestus käivitatud" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Otsesalvestus peatatud" @@ -1060,26 +1177,26 @@ msgid "Random" msgstr "Juhuslik" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Lisa subtiitrid" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Nimeta ümber" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Nimetu esitusnimekiri" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Subtiitrifailid" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1090,6 +1207,52 @@ "*.m3u|M3U esitusnimekiri\n" "*.pls|PLS esitusnimekiri" +#~ msgid "Channel Settings" +#~ msgstr "Kanali seadistused" + +#~ msgid "Name" +#~ msgstr "Nimi" + +#~ msgid "Edit" +#~ msgstr "Muuda" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Eemalda" + +#~ msgid "Remove" +#~ msgstr "Eemalda" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Algus" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Algus:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Uus" + +#~ msgid "Channel" +#~ msgstr "Kanal" + +#~ msgid "Duration" +#~ msgstr "Kestus" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Lisa saade kavasse" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nimi" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Uuenda" @@ -1170,9 +1333,6 @@ #~ msgid "Channel search" #~ msgstr "Kanaliotsing" -#~ msgid "Edit channel" -#~ msgstr "Muuda kanalit" - #~ msgid "Change icon" #~ msgstr "Muuda ikooni" diff -Nru kaffeine-1.1/po/fi/kaffeine.po kaffeine-1.2.2/po/fi/kaffeine.po --- kaffeine-1.1/po/fi/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/fi/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-05-20 22:01+0300\n" "Last-Translator: Tommi Nieminen \n" "Language-Team: Suomi \n" @@ -18,7 +18,7 @@ "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -26,217 +26,271 @@ msgid "A media player for KDE with digital TV support." msgstr "KDE:n mediasoitin, jossa on digi-TV-tuki." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Kaffeinen tekijät" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Ylläpitäjä" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Toista tiedosto" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Toista äänilevy" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Toista video-CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Toista DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digi-TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kaffeinen asetukset" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Pienoistila" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Pienoistila" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Kokoruututila" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Lyhyen hyppäyksen kesto:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Pitkän hyppäyksen kesto:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Tiedosto" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Avaa verkko-osoite" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Toista äänilevy" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Toista video-CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Toista DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Toista DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Toista" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Soitto&lista" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisio" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Asetukset" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Aloita" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Toista" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Soittolista" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisio" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Käynnistä kokoruututilassa" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(vanhentunut valitsin)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Näytä TV-kanava" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Näytä viimeksi viritetty TV-kanava" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Tulosta DVB-data (vianjäljitys)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Toistettavat tiedostot tai verkko-osoitteet" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Avaa verkko-osoite" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Syötä verkko-osoite:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Hyppää sijaintiin" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Syötä sijainti:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Edellinen" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Toista" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Keskeytä" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Pysäytä" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Seuraava" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Kokoruututila" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Pienoistila" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "ei käytössä" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Äänet" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Lisää äänenvoimakkuutta" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Vähennä äänenvoimakkuutta" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Mykistä äänet" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video:" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Lomituksen poisto" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Kuvasuhde" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgctxt "aspect ratio" #| msgid "Automatic" @@ -244,97 +298,104 @@ msgid "Automatic" msgstr "Automaattinen" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Sovita ikkunaan" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automaattinen koon muutos" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Ei käytössä" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Alkuperäinen koko" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Kaksinkertainen koko" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Äänenvoimakkuuden säädin" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Hyppää sijaintiin" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Ohita" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Ohita %1 s taaksepäin" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Ohita %1 s eteenpäin" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Hakusäädin" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Näytä tai piilota valikko" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Otsikko" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Luku" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Kuvakulma" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Vaihda kuluneen ja jäljellä olevan ajan näytön välillä" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Tuetut mediatiedostot" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Kaikki tiedostot" @@ -349,7 +410,7 @@ msgid "Exit Minimal Mode" msgstr "Poistu pienoistilasta" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Pysäytetty" @@ -400,163 +461,191 @@ msgid "Your emails" msgstr "mikael.lammentausta+kdetrans@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Asenna Qt SQLite -liitännäinen." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "SQLite-tietokantaa ei voi avata." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Kaffeinen sisäinen apuohjelma." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Vaaka" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Pysty" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nimi" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanava" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Kanavapaikka" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Muokkaa" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Poista" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanava-asetukset" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Vaaka" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Pysty" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanava" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nimi:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Kanavapaikka:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Lähde:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Taajuus (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symbolitaajuus (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulaatio:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC-taajuus:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisaatio:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Kaistanleveys:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarkia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Videon PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Tekstitysten PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teletext-PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Verkon PID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Palvelun tunniste:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Äänikanava:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Salattu:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Määritä television asetukset" @@ -584,7 +673,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Viritysasetukset päivitettu %1" @@ -613,26 +702,32 @@ msgid "[W -180 ... 180 E]" msgstr "[L –180...180 I]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Yleiset asetukset" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Laite %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Hae viritysasetukset internetistä" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Haetaan viritysasetuksia" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Viritysasetusten haku epäonnistui." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -640,275 +735,346 @@ "Viritysasetukset noudettu. Uudet asetukset otetaan käyttöön, kun suljet " "tämän ikkunan." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nimi: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Siirrä vasemmalle" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Alusta" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Poista" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Siirrä oikealle" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Laitetta ei ole kytketty." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kaapeli" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Antenni" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automaattinen haku" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automaattihaku 167 kHz siirtymin" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automaattihaku, Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automaattihaku, Italia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automaattihaku, Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Virittimen aikakatkaisu (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Lähde:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Ei lähdettä" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nimi:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Asetukset:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS Rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Mikropään (LNB) %1 asetukset" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Mikropään (LNB) asetukset" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Lisää satelliitti" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelliitti" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Sijainti" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Poista satelliitti" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 #, fuzzy msgid "Universal LNB" msgstr "Mikropää (µ-LNB)" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-kaistan LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 #, fuzzy msgid "C-band Multipoint LNB" msgstr "C-kaistan LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Mukautettu LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Vaihda taajuutta (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Aloita" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Kesto" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Nimi" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Ohjelmaopas" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Ajasta ohjelma" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Ajastukset" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Haku:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Vastaanotinlaitetta ei löydy." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Aloita" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Kesto" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Nimi" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanava" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Vastaanotinlaitetta ei löydy." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Vastaanotinlaitetta ei löydy." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Ajastukset" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Uusi" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nimi" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Muokkaa ajastusta" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nimi:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanava:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Alku:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Aloita" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Kesto:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Loppu:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Toista:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Ei toistoa" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Päivittäin" @@ -929,99 +1095,129 @@ msgid "SNR" msgstr "Signaali–kohina-suhde" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanavat" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Tyhjennä" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanavahaku" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Aloita haku" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signaali:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "Signaali–kohina-suhde:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Viritetty:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Suodatus" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Ilmaiskanavat" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Kanavapaketti:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Lisää suodatetut" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Lisää valitut" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Haun tulokset" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Vastaanotin" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Pysäytä haku" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Ohjelmaopas" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "Ruutunäyttö" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Ajastukset" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Tallenna heti" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Määritä television asetukset" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Haku:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanava: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Tallennus aloitettu" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Tallennus pysäytetty" @@ -1066,30 +1262,30 @@ msgid "Random" msgstr "Satunnainen" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Lisää satelliitti" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Nimeä uudelleen" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Nimetön soittolista" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "Tekstitysten PID:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1100,6 +1296,51 @@ "*.m3u|M3U-soittolista\n" "*.pls|PLS-soittolista" +#~ msgid "Channel Settings" +#~ msgstr "Kanava-asetukset" + +#~ msgid "Name" +#~ msgstr "Nimi" + +#~ msgid "Edit" +#~ msgstr "Muokkaa" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Poista" + +#~ msgid "Remove" +#~ msgstr "Poista" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Aloita" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Alku:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Uusi" + +#~ msgid "Duration" +#~ msgstr "Kesto" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Ajasta ohjelma" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nimi" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Päivitä" diff -Nru kaffeine-1.1/po/fr/kaffeine.po kaffeine-1.2.2/po/fr/kaffeine.po --- kaffeine-1.1/po/fr/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/fr/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,16 +5,14 @@ # # Alain Sacky , 2008. # Sébastien Renard , 2008. -# Joëlle Cornavin , 2009. -# Joëlle Cornavin , 2009. -# Joëlle Cornavin , 2009, 2010. +# Joëlle Cornavin , 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-14 19:42+0200\n" -"Last-Translator: Joëlle Cornavin \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-02-26 06:50+0100\n" +"Last-Translator: Joëlle Cornavin \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,7 +20,7 @@ "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.0\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -32,315 +30,357 @@ "Un lecteur multimédia pour KDE avec prise en charge de la télévision " "numérique." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Les développeurs de Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Mainteneur" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Lire un fichier" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Lire un CD audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Lire un CD vidéo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Lire un DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV numérique" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurer Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Mode d'affichage au démarrage :" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Mode normal" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Mode minimal" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Mode plein écran" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Mémoriser le dernier réglage" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Durée de saut brève :" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Durée de saut longue :" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fichier" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Ouvrir un URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Ouvrir un URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Lire un CD audio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Lire un CD vidéo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Lire un DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Lire un dossier de DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Lire" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Liste de lecture" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Télévision" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Configuration" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Démarrer" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Lecture" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Liste de lecture" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Télévision" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Démarrer en mode plein écran" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(option déconseillée)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Lire le canal TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Lire le dernier canal TV syntonisé" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Vider les données DVB (option de débogage)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Fichiers ou URL à lire" +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Ouvrir un URL" + # unreviewed-context -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Saisissez un URL :" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Aller directement à une position" # unreviewed-context -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Saisissez une position :" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Précédent" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Lire" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pause" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Arrêt" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Suivant" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Mode plein écran" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Mode minimal" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "désactivé" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Augmenter le volume" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Diminuer le volume" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Couper le volume" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Vidéo" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Désentrelacer" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Rapport hauteur/largeur" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatique" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Ajuster à la fenêtre" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Redimensionnement automatique" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Désactivé" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Taille originale" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Taille double" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Curseur de volume" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Aller directement à une position..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Sauter" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Retour rapide de %1s" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Avance rapide de %1s" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Curseur de recherche" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "(Dés)Activer le menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titre" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Chapitre" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Angle" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" "Basculer entre l'affichage du temps écoulé et l'affichage du temps restant" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Fichiers multimédia pris en charge" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Tous les fichiers" @@ -355,7 +395,7 @@ msgid "Exit Minimal Mode" msgstr "Quitter le mode minimal" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Arrêté" @@ -405,59 +445,60 @@ #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "jcornavin@laposte.net,nouslesfrancais@yahoo.fr" +msgstr "jcornavin AT laposte DOT net,nouslesfrancais@yahoo.fr" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Veuillez installer le module externe SQLite pour Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Impossible d'ouvrir la base de données SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Utilitaire interne pour Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circulaire gauche" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circulaire droit" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nom" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Numéro" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Modifier" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Supprimer" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -465,109 +506,137 @@ "Les canaux seront triés par numéro pour permettre le glisser-déposer.\n" "Voulez-vous continuer ?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Paramètres des canaux" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circulaire gauche" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circulaire droit" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Canal" # unreviewed-context -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nom :" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Numéro :" # unreviewed-context -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Source :" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Fréquence (MHz) :" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Débit de symboles (kS/s) :" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulation :" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Taux de contrôle continu :" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisation :" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Affaiblissement :" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Largeur de bande :" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Taux de contrôle continu LP :" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Mode de transmission :" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Intervalle de garde :" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hiérarchie :" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID de la PMT :" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID de la vidéo :" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID du sous-titre :" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID du télétexte :" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID du réseau :" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID du flux de transport :" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID du service :" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal audio :" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Brouillé :" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurer la télévision" @@ -596,7 +665,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Utiliser le jeu de caractères ISO 8859-1 au lieu de ISO 6937 :" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Dernière mise à jour des données le %1" @@ -625,26 +694,30 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Options générales" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Périphérique %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Mise à jour des données de balayage" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Téléchargement des données de balayage" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "La mise à jour des données de balayage a échoué." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -654,279 +727,333 @@ "effet lorsque vous aurez fermé la boîte de dialogue de configuration." # unreviewed-context -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nom : %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Déplacer vers la gauche" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Réinitialiser" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Supprimer" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Déplacer vers la droite" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Périphérique non connecté." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Câble" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Recherche automatique de canaux" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Recherche automatique de canaux avec décalages de 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Recherche automatique de canaux pour l'Australie" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Recherche automatique de canaux pour l'Italie" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Recherche automatique de canaux pour Taïwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" # unreviewed-context -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Temps de réponse du tuner (ms) :" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +# unreviewed-context +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Source :" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Pas de source" -#: dvb/dvbconfigdialog.cpp:777 +# unreviewed-context +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nom :" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuration :" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Commutateur DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de positions" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Paramètres du LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Paramètres du LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Ajouter un satellite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Position" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Supprimer un satellite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universel" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB bande C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" -msgstr "LNB bande C multi-point" +msgstr "LNB bande C multipoint" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personnalisé" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Changer de fréquence (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "LOF de bande basse (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "LOF de bande haute (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horizontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Début" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Durée" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titre" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guide des programmes" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Programmer une émission" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Enregistrer une émission" + +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Rechercher :" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Impossible de trouver un périphérique disponible." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Démarrer" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine enregistre en ce moment des programmes.\n" -"Voulez-vous vraiment fermer l'application ?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Durée" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titre" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -"Kaffeine a programmé des enregistrements.\n" -"Voulez-vous vraiment fermer l'application ?" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Impossible de trouver un périphérique disponible." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Impossible de trouver un périphérique disponible." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Programmation d'un enregistrement" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nouveau" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nom" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Modifier l'élément de programme" -#: dvb/dvbrecording.cpp:800 +# unreviewed-context +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nom :" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal :" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Début :" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Démarrer" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Durée :" # unreviewed-context -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Fin :" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Répéter :" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Jamais" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Quotidiennement" @@ -949,103 +1076,135 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canaux" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Effacer" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Balayage des chaînes" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Démarrer le balayage" # unreviewed-context -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal :" # unreviewed-context -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR :" # unreviewed-context -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Réglé :" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtre" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Chaîne en clair" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" # unreviewed-context -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Fournisseur :" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Ajouter les filtrés" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Ajouter les sélectionnés" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Résultats du balayage" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Transpondeur actuel" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Arrêter le balayage" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guide des programmes" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Programmation d'un enregistrement" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Enregistrement immédiat" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurer la télévision..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Rechercher :" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal : %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine enregistre en ce moment des programmes.\n" +"Voulez-vous vraiment fermer l'application ?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine a programmé des enregistrements.\n" +"Voulez-vous vraiment fermer l'application ?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Enregistrement immédiat démarré" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Enregistrement immédiat arrêté" @@ -1090,26 +1249,26 @@ msgid "Random" msgstr "Aléatoire" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Ajouter un sous-titre" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Renommer" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Liste de lecture sans nom" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Fichiers de sous-titres" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1120,6 +1279,45 @@ "*.m3u|Liste de lecture M3U\n" "*.pls|Liste de lecture PLS" -#~ msgctxt "epg" -#~ msgid "Refresh" -#~ msgstr "Rafraîchir" +#~ msgid "Channel Settings" +#~ msgstr "Paramètres des canaux" + +#~ msgid "Name" +#~ msgstr "Nom" + +#~ msgid "Edit" +#~ msgstr "Modifier" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Supprimer" + +#~ msgid "Remove" +#~ msgstr "Supprimer" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Début" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Début :" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nouveau" + +#~ msgid "Duration" +#~ msgstr "Durée" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nom" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Programmer une émission" diff -Nru kaffeine-1.1/po/ga/kaffeine.po kaffeine-1.2.2/po/ga/kaffeine.po --- kaffeine-1.1/po/ga/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ga/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: extragear-multimedia/kaffeine.po\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2008-08-14 09:40-0500\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" @@ -16,7 +16,7 @@ "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " "3 : 4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 #, fuzzy #| msgid "Kaffeine Player" msgid "Kaffeine" @@ -28,364 +28,416 @@ msgid "A media player for KDE with digital TV support." msgstr "Seinnteoir meán KDE a thacaíonn le teilifís dhigiteach" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007 Údair Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Cothaitheoir" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 #, fuzzy #| msgid "Play File" msgid "&1 Play File" msgstr "Seinn Comhad" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 #, fuzzy #| msgid "Play Audio CD" msgid "&2 Play Audio CD" msgstr "Seinn Dlúthdhiosca Fuaime" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 #, fuzzy #| msgid "Play Video CD" msgid "&3 Play Video CD" msgstr "Seinn Dlúthdhiosca Físe" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 #, fuzzy #| msgid "Play DVD" msgid "&4 Play DVD" msgstr "Seinn DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 #, fuzzy #| msgid "Digital TV" msgid "&5 Digital TV" msgstr "Teilifís Dhigiteach" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configure channels" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Cumraigh cainéil" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Mód Lánscáileáin" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Cumraíocht:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Comhad" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Oscail URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Seinn Dlúthdhiosca Fuaime" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Seinn Dlúthdhiosca Físe" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Seinn DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Seinn DVD" + +#: mainwindow.cpp:322 #, fuzzy #| msgid "Play" msgid "&Playback" msgstr "Seinn" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy #| msgid "Play" msgctxt "menu bar" msgid "Play&list" msgstr "Seinn" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Socruithe" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Tosaigh" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy #| msgid "Play" msgid "Playback" msgstr "Seinn" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 #, fuzzy #| msgid "Play" msgid "Playlist" msgstr "Seinn" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Teilifís" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Start in fullscreen mode" msgid "Start in full screen mode" msgstr "Tosaigh sa mhód lánscáileáin" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgid "Delete all" msgctxt "command line option" msgid "(deprecated option)" msgstr "Scrios uile" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play TV channel" msgstr "Scrios an cainéal" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Scrios an cainéal" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 #, fuzzy #| msgid "File or url to play" msgid "Files or URLs to play" msgstr "Comhad nó URL le seinm" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Oscail URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Cuir isteach URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 #, fuzzy #| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Ionad" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 #, fuzzy #| msgid "General Options" msgid "Enter a position:" msgstr "Roghanna Ginearálta" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Siar" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Seinn" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Sos" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stad" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Ar Aghaidh" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Mód Lánscáileáin" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Radio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Raidió" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Play Video CD" msgctxt "'Playback' menu" msgid "Video" msgstr "Seinn Dlúthdhiosca Físe" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgid "Radio" msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Raidió" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 #, fuzzy #| msgid "Radio" msgid "Automatic Resize" msgstr "Raidió" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Ionad" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select source:" msgid "Seek Slider" msgstr "Roghnaigh foinse:" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "&File" msgctxt "dvd navigation" msgid "Title" msgstr "&Comhad" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -402,7 +454,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -460,179 +512,203 @@ msgid "Your emails" msgstr "kscanne at gmail dot com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Cothrománach" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Ingearach" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Ainm" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Cainéal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Uimhir" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Eagar" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 #, fuzzy #| msgid "Remove" -msgctxt "remove an item from a list" +msgctxt "@action" msgid "Remove" msgstr "Bain" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Cothrománach" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Ingearach" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Cuir an cainéal in eagar" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Ainm:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Uimhir:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Foinse:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 #, fuzzy #| msgid "Duration:" msgid "Modulation:" msgstr "Aga:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy #| msgid "Position" msgid "Polarization:" msgstr "Ionad" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 #, fuzzy #| msgid "Search:" msgid "Hierarchy:" msgstr "Cuardaigh:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 #, fuzzy #| msgid "Play Video CD" msgid "Video PID:" msgstr "Seinn Dlúthdhiosca Físe" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 #, fuzzy #| msgid "Play Video CD" msgid "Subtitle PID:" msgstr "Seinn Dlúthdhiosca Físe" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 #, fuzzy #| msgid "Device %1" msgid "Service ID:" msgstr "Gléas %1" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 #, fuzzy #| msgid "Configure Channels" +msgctxt "@title:window" msgid "Configure Television" msgstr "Cumraigh Cainéil" @@ -662,7 +738,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -691,321 +767,368 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Roghanna Ginearálta" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Gléas %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Ainm: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Bog Faoi Chlé" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Athshocraigh" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgid "Remove" -msgid "Remove" -msgstr "Bain" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Bog Faoi Dheis" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 #, fuzzy #| msgid "DVB-S" msgid "DVB-S2" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cábla" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 #, fuzzy #| msgid "Radio" msgid "Autoscan" msgstr "Raidió" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Foinse:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "Source:" msgid "No Source" msgstr "Foinse:" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Ainm:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Cumraíocht:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy #| msgid "Position" msgid "Positions Rotor" msgstr "Ionad" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "LNB settings" msgid "LNB %1 Settings" msgstr "Socruithe LNB" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "LNB settings" msgid "LNB Settings" msgstr "Socruithe LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 #, fuzzy #| msgid "Satellite" msgid "Add Satellite" msgstr "Satailít" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satailít" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Ionad" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 #, fuzzy #| msgid "Satellite" msgid "Remove Satellite" msgstr "Satailít" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Tosaigh" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Aga" - -#: dvb/dvbepg.cpp:269 -#, fuzzy -#| msgid "&File" -msgid "Title" -msgstr "&Comhad" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgid "Recording folder:" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Fillteán taifid:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Cuardaigh:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Tosaigh" + +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Aga" + +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "&File" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "&Comhad" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." msgstr "" -#: dvb/dvbrecording.cpp:166 +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +msgid "No available device found." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Cainéal" - -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 +#: dvb/dvbrecordingdialog.cpp:42 #, fuzzy #| msgid "Recording folder:" -msgctxt "dialog" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Fillteán taifid:" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy #| msgid "New" -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "Nua" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Ainm" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Ainm:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Cainéal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Tosaigh:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Tosaigh" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Aga:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Deireadh:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Arís:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -1026,112 +1149,144 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Cainéil" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 #, fuzzy #| msgid "Cable" msgctxt "remove all items from a list" msgid "Clear" msgstr "Cábla" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channel" msgid "Channel Scan" msgstr "Cainéal" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 #, fuzzy #| msgid "Start scan" msgid "Start Scan" msgstr "Tosaigh an scanadh" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Comhartha:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Comhghléasta:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Scagaire" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Raidió" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Teilifís" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Soláthraí:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy #| msgid "Filter" msgid "Add Filtered" msgstr "Scagaire" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 #, fuzzy #| msgid "Add selected" msgid "Add Selected" msgstr "Cuir na cinn roghnaithe leis" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Start scan" msgid "Stop Scan" msgstr "Tosaigh an scanadh" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +#, fuzzy +#| msgid "Recording folder:" +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Fillteán taifid:" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Channels" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Cumraigh Cainéil" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Cuardaigh:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channel:" msgctxt "osd" msgid "Channel: %1_" msgstr "Cainéal:" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1186,34 +1341,34 @@ msgid "Random" msgstr "Raidió" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Satellite" msgid "Add Subtitle" msgstr "Satailít" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgid "Remove" msgctxt "rename an entry in a list" msgid "Rename" msgstr "Bain" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Play" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Seinn" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Play Video CD" msgctxt "file filter" msgid "Subtitle Files" msgstr "Seinn Dlúthdhiosca Físe" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1221,6 +1376,53 @@ "*.pls|PLS Playlist" msgstr "" +#~ msgid "Name" +#~ msgstr "Ainm" + +#~ msgid "Edit" +#~ msgstr "Eagar" + +#, fuzzy +#~| msgid "Remove" +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Bain" + +#, fuzzy +#~| msgid "Remove" +#~ msgid "Remove" +#~ msgstr "Bain" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Tosaigh" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Tosaigh:" + +#, fuzzy +#~| msgid "New" +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nua" + +#~ msgid "Channel" +#~ msgstr "Cainéal" + +#~ msgid "Duration" +#~ msgstr "Aga" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Ainm" + #~| msgid "Remove" #~ msgid "Remove All" #~ msgstr "Bain" @@ -1273,9 +1475,6 @@ #~ msgid "Channel search" #~ msgstr "Cuardaigh cainéal" -#~ msgid "Edit channel" -#~ msgstr "Cuir an cainéal in eagar" - #~ msgid "Change icon" #~ msgstr "Athraigh an deilbhín" diff -Nru kaffeine-1.1/po/gl/kaffeine.po kaffeine-1.2.2/po/gl/kaffeine.po --- kaffeine-1.1/po/gl/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/gl/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -8,17 +8,21 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2009-02-01 23:02+0100\n" "Last-Translator: mvillarino \n" "Language-Team: galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 #, fuzzy #| msgid "Kaffeine Player" msgid "Kaffeine" @@ -30,364 +34,416 @@ msgid "A media player for KDE with digital TV support." msgstr "Un reprodutor multimedia para KDE con soporte de tdt" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007 Os autores de Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 #, fuzzy #| msgid "Play File" msgid "&1 Play File" msgstr "Reproducir un ficheiro" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 #, fuzzy #| msgid "Play Audio CD" msgid "&2 Play Audio CD" msgstr "Reproducir un CD de Audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 #, fuzzy #| msgid "Play Video CD" msgid "&3 Play Video CD" msgstr "Reproducir un Video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 #, fuzzy #| msgid "Play DVD" msgid "&4 Play DVD" msgstr "Reproducir un DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 #, fuzzy #| msgid "Digital TV" msgid "&5 Digital TV" msgstr "TV dixital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configure channels" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurar as canles" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Modo a pantalla completa" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Configuración:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Ficheiro" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Abrir un URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reproducir un CD de Audio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reproducir un Video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reproducir un DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reproducir un DVD" + +#: mainwindow.cpp:322 #, fuzzy #| msgid "Play" msgid "&Playback" msgstr "Reproducir" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy #| msgid "Play" msgctxt "menu bar" msgid "Play&list" msgstr "Reproducir" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Configuración" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 #, fuzzy #| msgid "Start scan" msgid "Start" msgstr "Comezar o barrido" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy #| msgid "Play" msgid "Playback" msgstr "Reproducir" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 #, fuzzy #| msgid "Play" msgid "Playlist" msgstr "Reproducir" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Full Screen Mode" msgid "Start in full screen mode" msgstr "Modo a pantalla completa" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgid "Delete all" msgctxt "command line option" msgid "(deprecated option)" msgstr "Borrar todas" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play TV channel" msgstr "Borrar a canle" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Borrar a canle" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Abrir un URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Escreba o URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 #, fuzzy #| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Posición" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 #, fuzzy #| msgid "Enter a URL:" msgid "Enter a position:" msgstr "Escreba o URL:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reproducir" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausa" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Deter" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Seguinte" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Modo a pantalla completa" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Radio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Radio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Play Video CD" msgctxt "'Playback' menu" msgid "Video" msgstr "Reproducir un Video CD" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgid "Radio" msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Radio" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 #, fuzzy #| msgid "Radio" msgid "Automatic Resize" msgstr "Radio" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Posición" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select source:" msgid "Seek Slider" msgstr "Escolla a fonte:" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "&File" msgctxt "dvd navigation" msgid "Title" msgstr "&Ficheiro" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -404,7 +460,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -462,191 +518,209 @@ msgid "Your emails" msgstr "mvillarino@users.sourceforge.net" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 #, fuzzy -#| msgid "Horizontal LOF (MHz)" -msgid "Horizontal" -msgstr "LOF horizontal (MHz)" +#| msgid "Channels" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canles" -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:108 #, fuzzy -#| msgid "Terrestrial" -msgid "Vertical" -msgstr "Terrestre" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nome" - -#: dvb/dvbchannelui.cpp:302 +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Número" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 #, fuzzy #| msgid "Remove satellite" -msgctxt "remove an item from a list" +msgctxt "@action" msgid "Remove" msgstr "Eliminar o satélite" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:402 #, fuzzy -#| msgid "Channels" -msgid "Channel Settings" -msgstr "Canles" +#| msgid "Horizontal LOF (MHz)" +msgid "Horizontal" +msgstr "LOF horizontal (MHz)" + +#: dvb/dvbchanneldialog.cpp:403 +#, fuzzy +#| msgid "Terrestrial" +msgid "Vertical" +msgstr "Terrestre" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Editar a canle" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nome:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 #, fuzzy #| msgid "Number" +msgctxt "@label tv channel" msgid "Number:" msgstr "Número" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Orixe:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 #, fuzzy #| msgid "Switch frequency (MHz)" msgid "Frequency (MHz):" msgstr "Trocar a frecuencia (Hz)" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 #, fuzzy #| msgid "Configuration:" msgid "Modulation:" msgstr "Configuración:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy #| msgid "Position" msgid "Polarization:" msgstr "Posición" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 #, fuzzy #| msgid "Search:" msgid "Hierarchy:" msgstr "Procurar:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 #, fuzzy #| msgid "Play Video CD" msgid "Video PID:" msgstr "Reproducir un Video CD" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 #, fuzzy #| msgid "Play Video CD" msgid "Subtitle PID:" msgstr "Reproducir un Video CD" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 #, fuzzy #| msgid "Device %1" msgid "Service ID:" msgstr "Dispositivo %1" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 #, fuzzy #| msgid "Edit channel" msgid "Audio channel:" msgstr "Editar a canle" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 #, fuzzy #| msgid "Configure Channels" +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurar as canles" @@ -676,7 +750,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, fuzzy, kde-format #| msgid "Scan file last updated
on %1" msgid "Scan data last updated on %1" @@ -706,341 +780,376 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositivo %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 #, fuzzy #| msgid "Scan file last updated
on %1" msgid "Scan data update failed." msgstr "O ficheiro de barrido actualizouse
por última vez o %1" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nome: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgid "Remove satellite" -msgid "Remove" -msgstr "Eliminar o satélite" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 #, fuzzy #| msgid "device not connected" msgid "Device not connected." msgstr "dispositivo non conectado" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 #, fuzzy #| msgid "DVB-S" msgid "DVB-S2" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Fío" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 #, fuzzy #| msgid "Stop scan" msgid "Autoscan" msgstr "Deter o barrido" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tempo límite do sintonizador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Orixe:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "No source" msgid "No Source" msgstr "Sen fonte" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuración:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 #, fuzzy #| msgid "DiSEqC switch" msgid "DiSEqC Switch" msgstr "Switch DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 #, fuzzy #| msgid "USALS rotor" msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy #| msgid "Positions rotor" msgid "Positions Rotor" msgstr "Rotor de posicións" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "LNB %1 settings" msgid "LNB %1 Settings" msgstr "Configuración do LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "LNB settings" msgid "LNB Settings" msgstr "Configuración de LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 #, fuzzy #| msgid "Add satellite" msgid "Add Satellite" msgstr "Engadir un satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posición" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 #, fuzzy #| msgid "Remove satellite" msgid "Remove Satellite" msgstr "Eliminar o satélite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB de banda C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 #, fuzzy #| msgid "C-band multipoint LNB" msgid "C-band Multipoint LNB" msgstr "LNB multiponto de banda C" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalizado" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Trocar a frecuencia (Hz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "LOF de banda baixa (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "LOF de banda alta (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horizontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -#, fuzzy -#| msgid "Configuration:" -msgid "Duration" -msgstr "Configuración:" - -#: dvb/dvbepg.cpp:269 -#, fuzzy -#| msgid "&File" -msgid "Title" -msgstr "&Ficheiro" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Procurar:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 #, fuzzy -#| msgid "No suitable device found." -msgctxt "message box" -msgid "No available device found." -msgstr "Non se achou ningún dispositivo apropriado." +#| msgid "Start scan" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Comezar o barrido" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Configuration:" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Configuración:" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "&File" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "&Ficheiro" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 +#: dvb/dvbliveview.cpp:212 #, fuzzy -#| msgid "Channels" -msgid "Channel" -msgstr "Canles" +#| msgid "No suitable device found." +msgctxt "@info" +msgid "No device found." +msgstr "Non se achou ningún dispositivo apropriado." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "message box" +msgid "No available device found." +msgstr "Non se achou ningún dispositivo apropriado." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy #| msgid "New" -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "Novo" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nome" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbrecordingdialog.cpp:384 #, fuzzy #| msgid "Channels" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canles" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start scan" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Comezar o barrido" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 #, fuzzy #| msgid "Configuration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Configuración:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 #, fuzzy #| msgid "Tuned:" +msgctxt "@label tv show" msgid "End:" msgstr "Sintonizado:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -1061,116 +1170,146 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canles" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 #, fuzzy #| msgid "Cable" msgctxt "remove all items from a list" msgid "Clear" msgstr "Fío" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channels" msgid "Channel Scan" msgstr "Canles" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 #, fuzzy #| msgid "Start scan" msgid "Start Scan" msgstr "Comezar o barrido" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Sinal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonizado:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtro" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "En aberto" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Fornecedor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy #| msgid "Add filtered" msgid "Add Filtered" msgstr "Engadir filtrado" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 #, fuzzy #| msgid "Add selected" msgid "Add Selected" msgstr "Engadir a escollida" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 #, fuzzy #| msgid "Scan results" msgid "Scan Results" msgstr "Resultados do barrido" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 #, fuzzy #| msgid "Current transponder" msgid "Current Transponder" msgstr "Transpondedor actual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Stop scan" msgid "Stop Scan" msgstr "Deter o barrido" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Channels" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurar as canles" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Procurar:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channels" msgctxt "osd" msgid "Channel: %1_" msgstr "Canles" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1225,34 +1364,34 @@ msgid "Random" msgstr "Radio" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add satellite" msgid "Add Subtitle" msgstr "Engadir un satélite" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgid "Remove satellite" msgctxt "rename an entry in a list" msgid "Rename" msgstr "Eliminar o satélite" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Play" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Reproducir" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Play Video CD" msgctxt "file filter" msgid "Subtitle Files" msgstr "Reproducir un Video CD" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1261,6 +1400,47 @@ msgstr "" #, fuzzy +#~| msgid "Channels" +#~ msgid "Channel Settings" +#~ msgstr "Canles" + +#~ msgid "Name" +#~ msgstr "Nome" + +#, fuzzy +#~| msgid "Remove satellite" +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Eliminar o satélite" + +#, fuzzy +#~| msgid "Remove satellite" +#~ msgid "Remove" +#~ msgstr "Eliminar o satélite" + +#, fuzzy +#~| msgid "New" +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Novo" + +#, fuzzy +#~| msgid "Channels" +#~ msgid "Channel" +#~ msgstr "Canles" + +#, fuzzy +#~| msgid "Configuration:" +#~ msgid "Duration" +#~ msgstr "Configuración:" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nome" + +#, fuzzy #~| msgid "Scan file last updated
on %1" #~ msgctxt "program guide" #~ msgid "Program successfully scheduled." @@ -1320,9 +1500,6 @@ #~ msgid "Channel search" #~ msgstr "Procura de canle" -#~ msgid "Edit channel" -#~ msgstr "Editar a canle" - #~ msgid "Change icon" #~ msgstr "Mudar o ícone" diff -Nru kaffeine-1.1/po/hr/kaffeine.po kaffeine-1.2.2/po/hr/kaffeine.po --- kaffeine-1.1/po/hr/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/hr/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-01-24 16:34+0100\n" "Last-Translator: Andrej Dundovic \n" "Language-Team: Croatian \n" @@ -20,7 +20,7 @@ "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,314 +28,356 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007-2009 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2009 Autori Kaffeinea" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -350,7 +392,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "" @@ -401,163 +443,173 @@ msgid "Your emails" msgstr "" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" msgstr "" -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" +msgid "Number" msgstr "" -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" +msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" +msgid "Remove" msgstr "" -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" +msgid "" +"The channels will be sorted by number to allow drag and drop.\n" +"Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:302 -msgid "Number" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" msgstr "" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 -msgid "Edit" +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" -msgid "Remove" +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" msgstr "" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" -msgid "" -"The channels will be sorted by number to allow drag and drop.\n" -"Do you want to continue?" +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "" @@ -585,7 +637,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -614,298 +666,325 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "" - -#: dvb/dvbepg.cpp:269 -msgid "Title" +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" +msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 -msgid "Program Guide" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" msgstr "" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "" + +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -926,99 +1005,127 @@ msgid "SNR" msgstr "" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1063,26 +1170,26 @@ msgid "Random" msgstr "" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/hu/kaffeine.po kaffeine-1.2.2/po/hu/kaffeine.po --- kaffeine-1.1/po/hu/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/hu/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,25 +1,26 @@ # translation of kaffeine.po to Hungarian -# Barcza Károly , 2009. -# Arpad Biro , 2009, 2010. # Copyright (C) 2009 This_file_is_part_of_KDE # This file is distributed under the same license as the Kaffeine package. +# Barcza Károly , 2009. +# Arpad Biro , 2009, 2010. +# Kristóf Kiszel , 2010. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-05-12 23:46+0200\n" -"Last-Translator: Arpad Biro \n" -"Language-Team: Hungarian\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2010-09-26 21:13+0200\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Magyar \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Hungarian\n" "X-Poedit-Country: HUNGARY\n" -"X-Generator: KBabel 1.11.4\n" +"X-Generator: Lokalize 1.0\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -27,312 +28,369 @@ msgid "A media player for KDE with digital TV support." msgstr "Médialejátszó a KDE-hez digitálistévé-támogatással" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010, a Kaffeine szerzői" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Karbantartó" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Fájl lejátszása" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Hang-CD lejátszása" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Video CD lejátszása" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 DVD lejátszása" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitális tv" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "A Kaffeine beállítása" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Minimális mód" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimális mód" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Teljes képernyős mód" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Rövid ugrás mérete:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Hosszú ugrás mérete:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fájl" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "URL megnyitása" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "URL megnyitása…" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Hang-CD lejátszása" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Video CD lejátszása" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD lejátszása" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD lejátszása" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Lejátszás" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Lejátszólist&a" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televízió" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Beállítások" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Indítás" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Lejátszás" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lejátszólista" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televízió" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Indítás teljes képernyős módban" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(elavult opció)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Tv-csatorna lejátszása" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Legutóbb behangolt tv-csatorna lejátszása" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "DVB-adatok kiírása (hibakeresési opció)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Lejátszandó fájlok vagy URL-ek" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL megnyitása" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Adjon meg egy URL-t:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Ugrás egy helyre..." -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Adjon meg egy pozíciót:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Előző" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Lejátszás" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Szünet" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Leállítás" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Következő" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Teljes képernyős mód" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimális mód" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "kikapcsolva" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Hang" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "A hangerő növelése" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "A hangerő csökkentése" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Elnémítás" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Videó" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Váltottsor-mentesítés" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Méretarány" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatikus" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Illesztés az ablakhoz" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatikus átméretezés" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Kikapcsolva" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Eredeti méret" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dupla méret" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Hangerő-csúszka" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Ugrás egy helyre..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Ugrás" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Ugrás visszafelé ennyivel: %1s" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Ugrás előre ennyivel: %1s" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Pozíció-csúszka" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Menü bekapcsolása/kikapcsolása" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Cím" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Fejezet" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Szög" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Váltás az eltelt és a hátralevő idő mutatása között" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Támogatott médiafájlok" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Minden fájl" @@ -347,7 +405,7 @@ msgid "Exit Minimal Mode" msgstr "Kilépés a minimális módból" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Leállítva" @@ -391,174 +449,202 @@ #: rc.cpp:1 msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "Barcza Károly (www.blackpanther.hu), Bíró Árpád" +msgstr "Barcza Károly,Bíró Árpád,Kiszel Kristóf" #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "kbarcza@blackpanther.hu, biro.arpad gmail" +msgstr "kbarcza@blackpanther.hu,biro.arpad@gmail.com,ulysses@kubuntu.org" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Telepítse a Qt SQLite modult." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Nem sikerült megnyitni az SQLite-adatbázist." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Belső alkalmazás a Kaffeine-hez." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Vízszintes" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Függőleges" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Körkörös, balra" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Körkörös, jobbra" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Név" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Csatorna" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Szám" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Szerkesztés" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Eltávolítás" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Csatornabeállítások" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Vízszintes" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Függőleges" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Körkörös, balra" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Körkörös, jobbra" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Csatorna" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Név:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Szám:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Forrás:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekvencia (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Jelsebesség (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Moduláció:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC (hibajavítási)-ráta:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizáció:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Lekerekítés:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Sávszélesség:" # LP: low priority -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC-ráta, LP (alacsony prioritás):" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Átviteli mód:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Védelmi időköz:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchia:" # PMT: Program Map Table # PID: packet ID # http://en.wikipedia.org/wiki/MPEG_transport_stream -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT-PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video-PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Felirat-PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teletext-PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Hálózatazonosító:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Átviteli adatfolyam azonosítója:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Szolgáltatásazonosító:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Hangcsatorna:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Titkosított:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "A televízió beállítása" @@ -586,7 +672,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "A keresési adatok legutóbbi frissítése: %1" @@ -615,26 +701,32 @@ msgid "[W -180 ... 180 E]" msgstr "[Ny -180 ... 180 K]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Általános beállítások" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Eszköz: %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Keresési adatok frissítése az internetről" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Keresési adatok letöltése" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "A keresési adatok frissítése sikertelen." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -642,273 +734,344 @@ "A keresési adatok frissítése sikeres. A változások érvénybe\n" "lépnek, amikor bezárja a beállítási párbeszédablakot." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Név: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Elmozdítás balra" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Alapállapot" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Eltávolítás" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Elmozdítás jobbra" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Az eszköz nincs csatlakoztatva." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kábel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Földi" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automatikus keresés" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automatikus keresés 167 kHz-es eltolásokkal" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automatikus keresés - Ausztrália" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automatikus keresés - Olaszország" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automatikus keresés - Tajvan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tuner-időkorlát (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Forrás:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Nincs forrás" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Név:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Beállítás:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC-kapcsoló" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS-rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Pozíció-rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 beállításai" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-beállítások" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Műhold hozzáadása" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Műhold" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Pozíció" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Műhold eltávolítása" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Univerzális LNB (vevőfej)" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-sávos LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-sávos többpontos LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Egyéni LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Kapcsolófrekvencia (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Alsó sávos LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Felső sávos LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Vízszintes LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Függőleges LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (helyi oszcillátorfrekvencia) (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Kezdet" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Időtartam" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Cím" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Programismertető" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Program időzítése" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Felvétel-időzítés" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Keresés:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Elérhető eszköz nem található." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Indítás" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Időtartam" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Cím" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Csatorna" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Elérhető eszköz nem található." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Elérhető eszköz nem található." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Felvétel-időzítés" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Új" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Név" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Időzítési bejegyzés szerkesztése" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Név:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Csatorna:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Kezdet:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Indítás" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Időtartam:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Vég:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Ismétlés:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Soha" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Naponta" @@ -929,99 +1092,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Csatornák" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Törlés" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Csatornakeresés" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Keresés indítása" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Jel:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR (jel/zaj):" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Behangolva:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Szűrő" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Szabadon fogható" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Rádió" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Tv" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Szolgáltató:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Szűrt hozzáadása" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Kijelölt hozzáadása" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Keresési eredmények" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Jelenlegi transzponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Keresés leállítása" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programismertető" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Felvétel-időzítés" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Gyorsfelvétel" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "A televízió beállítása" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Keresés:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Csatorna: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Gyorsfelvétel elindítva" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Gyorsfelvétel leállítva" @@ -1066,30 +1259,30 @@ msgid "Random" msgstr "Véletlenszerű" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Műhold hozzáadása" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Átnevezés" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Névtelen lejátszólista" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "Felirat-PID:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1100,6 +1293,51 @@ "*.m3u|M3U-lejátszólista\n" "*.pls|PLS-lejátszólista" +#~ msgid "Channel Settings" +#~ msgstr "Csatornabeállítások" + +#~ msgid "Name" +#~ msgstr "Név" + +#~ msgid "Edit" +#~ msgstr "Szerkesztés" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Eltávolítás" + +#~ msgid "Remove" +#~ msgstr "Eltávolítás" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Kezdet" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Kezdet:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Új" + +#~ msgid "Duration" +#~ msgstr "Időtartam" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Program időzítése" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Név" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Frissítés" diff -Nru kaffeine-1.1/po/it/kaffeine.po kaffeine-1.2.2/po/it/kaffeine.po --- kaffeine-1.1/po/it/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/it/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,13 +1,13 @@ # translation of kaffeine.po to Italian # Copyright (C) 2008 Free Software Foundation, Inc. # -# Vincenzo Reale , 2008, 2009, 2010. +# Vincenzo Reale , 2008, 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-15 17:37+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-17 09:40+0100\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" @@ -17,9 +17,9 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Poedit-Language: Italian\n" "X-Poedit-Country: ITALY\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.2\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -27,312 +27,354 @@ msgid "A media player for KDE with digital TV support." msgstr "Un lettore multimediale per KDE con supporto per la TV digitale." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Gli autori di Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Responsabile" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Riproduci file" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Riproduci CD audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Riproduci CD video" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Riproduci DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV digitale" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configura Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Modalità di visualizzazione all'avvio:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Modalità normale" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Modalità minimale" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Modalità a schermo intero" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Ricorda le ultime impostazioni" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Durata del salto breve:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Durata del salto lungo:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&File" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Apri URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Apri URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Riproduci CD audio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Riproduci CD video" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Riproduci DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Riproduci cartella DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Riproduci" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Sca&letta" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisione" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "Impo&stazioni" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Avvio" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Riproduci" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Scaletta" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisione" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Avvia in modalità a schermo intero" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(opzione deprecata)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Riproduci canale TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Riproduci l'ultimo canale TV sintonizzato" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Estrai dati dvb (opzione di debug)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "File o URL da riprodurre" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Apri URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Inserisci URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" -msgstr "Salta a posizione" +msgstr "Salta alla posizione" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Inserisci una posizione:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Precedente" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Riproduci" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausa" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Ferma" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Successivo" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Modalità a schermo intero" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Modalità minimale" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "spento" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Aumenta volume" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Riduci volume" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Silenzia volume" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Deinterlaccia" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Proporzioni" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatico" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Adatta alla finestra" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Ridimensionamento automatico" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Spento" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Dimensioni originali" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dimensioni doppie" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Cursore del volume" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Salta alla posizione..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Salta" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Salta %1s all'indietro" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Salta %1s in avanti" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Cursore della posizione" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Attiva menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titolo" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capitolo" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Angolo" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Passa dalla visualizzazione del tempo trascorso a quello rimanente" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "File multimediali supportati" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Tutti i file" @@ -347,7 +389,7 @@ msgid "Exit Minimal Mode" msgstr "Esci dalla modalità minimale" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Fermato" @@ -398,57 +440,54 @@ msgid "Your emails" msgstr "smart2128@baslug.org" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Installa l'estensione SQLite per Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Impossibile aprire il database SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Utilità interna per Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Orizzontale" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Verticale" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circolare sinistro" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circolare destro" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nome" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canale" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Numero" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Modifica" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Rimuovi" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -457,107 +496,135 @@ "rilascio.\n" "Vuoi continuare?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Impostazioni del canale" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Orizzontale" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Verticale" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circolare sinistro" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circolare destro" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Canale" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nome:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Numero:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Sorgente:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequenza (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Velocità di simbolo (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulazione:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Rapporto FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizzazione:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Rapporto FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Modalità di trasmissione:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Intervallo di guardia:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Gerarchia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID video:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID sottotitoli:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID Televideo:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID rete:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID trasporto del flusso:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID servizio:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canale audio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Disturbato:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configura televisione" @@ -585,7 +652,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Usa set di caratteri ISO 8859-1 al posto di ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Dati di scansione aggiornati il %1" @@ -614,26 +681,30 @@ msgid "[W -180 ... 180 E]" msgstr "[O -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opzioni generali" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositivo %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Aggiorna i dati di scansione" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Scaricamento dati di scansione" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Aggiornamento dei dati di scansione non riuscito." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,277 +712,299 @@ "Dati di scansione aggiornati correttamente. I cambiamenti avranno\n" "effetto dopo che avrai chiuso la finestra di configurazione." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nome: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Sposta a sinistra" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Ripristina" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Rimuovi" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Sposta a destra" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispositivo non connesso." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cavo" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Scansione automatica" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Scansione automatica con scostamenti di 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Scansione automatica Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Scansione automatica Italia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Scansione automatica Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Fuori tempo massimo sintonizzatore (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Sorgente:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Nessuna sorgente" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configurazione:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Commutatore DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotore USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Posizioni del rotore" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Impostazioni LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Impostazioni LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Aggiungi satellite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posizione" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Rimuovi satellite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universale" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB banda C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "LNB banda C multipunto" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalizzato" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frequenza di commutazione (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "LOF banda bassa (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "LOF banda alta (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF orizzontale (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF verticale (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Inizio" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Durata" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titolo" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guida ai programmi" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Pianifica programma" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Registra spettacolo" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Cerca:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Non è stato trovato alcun dispositivo disponibile." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Avvio" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine sta registrando dei programmi.\n" -"Vuoi davvero chiudere l'applicazione?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Durata" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titolo" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -"Kaffeine ha delle registrazioni pianificate.\n" -"Vuoi davvero chiudere l'applicazione?" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canale" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Non è stato trovato alcun dispositivo disponibile." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Non è stato trovato alcun dispositivo disponibile." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Pianificazione di registrazione" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "Nuova" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nome" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Modifica voce di pianificazione" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Canale:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Inizio:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "Durata:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Fine:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Ripeti:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Mai" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Giornalmente" @@ -932,99 +1025,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canali" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Cancella" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Scansione del canale" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Avvia scansione" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Segnale:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonizzato:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtro" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "In chiaro" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Fornitore:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Aggiungi filtrati" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Aggiungi selezionati" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Risultati della scansione" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Trasponditore corrente" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Ferma scansione" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guida ai programmi" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Pianificazione di registrazione" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Registrazione immediata" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configura televisione..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Cerca:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canale: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine sta registrando dei programmi.\n" +"Vuoi davvero chiudere l'applicazione?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine ha delle registrazioni pianificate.\n" +"Vuoi davvero chiudere l'applicazione?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Registrazione immediata avviata" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Registrazione immediata fermata" @@ -1069,26 +1194,26 @@ msgid "Random" msgstr "Casuale" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Aggiungi sottotitoli" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Rinomina" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Scaletta senza nome" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "File di sottotitoli" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1099,6 +1224,49 @@ "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" +#~ msgid "Channel Settings" +#~ msgstr "Impostazioni del canale" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Edit" +#~ msgstr "Modifica" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Rimuovi" + +#~ msgid "Remove" +#~ msgstr "Rimuovi" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Inizio" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Inizio:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nuova" + +#~ msgid "Duration" +#~ msgstr "Durata" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Pianifica programma" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nome" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Aggiorna" diff -Nru kaffeine-1.1/po/ja/kaffeine.po kaffeine-1.2.2/po/ja/kaffeine.po --- kaffeine-1.1/po/ja/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ja/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,18 +7,19 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2008-10-09 21:31+0900\n" "Last-Translator: Yukiko Bando \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 #, fuzzy #| msgid "Kaffeine Player" msgid "Kaffeine" @@ -30,358 +31,410 @@ msgid "A media player for KDE with digital TV support." msgstr "デジタル TV 対応の KDE のメディアプレーヤー" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007, Kaffeine 作者" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 #, fuzzy #| msgid "Play File" msgid "&1 Play File" msgstr "ファイルを再生" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 #, fuzzy #| msgid "Play Audio CD" msgid "&2 Play Audio CD" msgstr "オーディオ CD を再生" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 #, fuzzy #| msgid "Play Video CD" msgid "&3 Play Video CD" msgstr "ビデオ CD を再生" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 #, fuzzy #| msgid "Play DVD" msgid "&4 Play DVD" msgstr "DVD を再生" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 #, fuzzy #| msgid "Digital TV" msgid "&5 Digital TV" msgstr "デジタル TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configure channels" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "チャンネルを設定" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "フルスクリーンモード" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "設定:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "ファイル(&F)" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "URL を開く" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "オーディオ CD を再生" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "ビデオ CD を再生" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD を再生" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD を再生" + +#: mainwindow.cpp:322 #, fuzzy #| msgid "&Player" msgid "&Playback" msgstr "プレーヤー(&P)" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy #| msgid "Play" msgctxt "menu bar" msgid "Play&list" msgstr "再生" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "設定(&S)" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "開始" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy #| msgid "Play" msgid "Playback" msgstr "再生" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "プレイリスト" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Full Screen Mode" msgid "Start in full screen mode" msgstr "フルスクリーンモード" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play TV channel" msgstr "チャンネルを削除" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "チャンネルを削除" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL を開く" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "URL を入力:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 #, fuzzy #| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "位置" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 #, fuzzy #| msgid "Enter a URL:" msgid "Enter a position:" msgstr "URL を入力:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "前へ" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "再生" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "一時停止" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "停止" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "次へ" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "フルスクリーンモード" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Radio" msgctxt "'Playback' menu" msgid "Audio" msgstr "ラジオ" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Play Video CD" msgctxt "'Playback' menu" msgid "Video" msgstr "ビデオ CD を再生" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgid "Radio" msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "ラジオ" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 #, fuzzy #| msgid "Radio" msgid "Automatic Resize" msgstr "ラジオ" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "位置" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select source:" msgid "Seek Slider" msgstr "ソースを選択:" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "&File" msgctxt "dvd navigation" msgid "Title" msgstr "ファイル(&F)" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -398,7 +451,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -456,183 +509,201 @@ msgid "Your emails" msgstr "ybando@k6.dion.ne.jp" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "" - -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 #, fuzzy -#| msgid "Terrestrial" -msgid "Vertical" -msgstr "地上波" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "名前" +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "チャンネル" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "番号" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 #, fuzzy #| msgid "Remove satellite" -msgctxt "remove an item from a list" +msgctxt "@action" msgid "Remove" msgstr "衛星を削除" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:403 #, fuzzy -#| msgid "Channels" -msgid "Channel Settings" +#| msgid "Terrestrial" +msgid "Vertical" +msgstr "地上波" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" msgstr "チャンネル" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "名前:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 #, fuzzy #| msgid "Number" +msgctxt "@label tv channel" msgid "Number:" msgstr "番号" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "ソース:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 #, fuzzy #| msgid "Configuration:" msgid "Modulation:" msgstr "設定:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy #| msgid "Position" msgid "Polarization:" msgstr "位置" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "帯域幅:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 #, fuzzy #| msgid "Search:" msgid "Hierarchy:" msgstr "検索:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "ビデオ PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 #, fuzzy #| msgid "Play Video CD" msgid "Subtitle PID:" msgstr "ビデオ CD を再生" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "テレテキスト PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "トランスポートストリーム ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "サービス ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 #, fuzzy #| msgid "Edit channel" msgid "Audio channel:" msgstr "チャンネルを編集" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 #, fuzzy #| msgid "Configure Channels" +msgctxt "@title:window" msgid "Configure Television" msgstr "チャンネルを設定" @@ -662,7 +733,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -691,323 +762,368 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "デバイス %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "名前: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "リセット" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgid "Remove satellite" -msgid "Remove" -msgstr "衛星を削除" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 #, fuzzy #| msgid "device not connected" msgid "Device not connected." msgstr "デバイスが接続されていません" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 #, fuzzy #| msgid "DVB-S" msgid "DVB-S2" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "ケーブル" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "地上波" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 #, fuzzy #| msgid "Stop scan" msgid "Autoscan" msgstr "スキャンを停止" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "チューナーのタイムアウト (ミリ秒):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "ソース:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "No source" msgid "No Source" msgstr "ソースなし" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "名前:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "設定:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy #| msgid "Position" msgid "Positions Rotor" msgstr "位置" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "LNB %1 settings" msgid "LNB %1 Settings" msgstr "LNB %1 の設定" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "LNB settings" msgid "LNB Settings" msgstr "LNB の設定" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 #, fuzzy #| msgid "Add satellite" msgid "Add Satellite" msgstr "衛星を追加" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "衛星" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "位置" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 #, fuzzy #| msgid "Remove satellite" msgid "Remove Satellite" msgstr "衛星を削除" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "カスタム LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "開始" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "時間" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "タイトル" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "検索:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 #, fuzzy -#| msgid "No suitable device found." -msgctxt "message box" -msgid "No available device found." -msgstr "適切なデバイスドライバが見つかりません。" +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "開始" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "時間" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "タイトル" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "チャンネル" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "@info" +msgid "No device found." +msgstr "適切なデバイスドライバが見つかりません。" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "message box" +msgid "No available device found." +msgstr "適切なデバイスドライバが見つかりません。" + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy #| msgid "New" -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "新規" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "名前" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "名前:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "チャンネル:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "開始:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "開始" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 #, fuzzy #| msgid "Configuration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "設定:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Reset" +msgctxt "@label recording" msgid "Repeat:" -msgstr "" +msgstr "リセット" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -1028,116 +1144,146 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "チャンネル" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 #, fuzzy #| msgid "Cable" msgctxt "remove all items from a list" msgid "Clear" msgstr "ケーブル" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channels" msgid "Channel Scan" msgstr "チャンネル" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 #, fuzzy #| msgid "Start scan" msgid "Start Scan" msgstr "スキャンを開始" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "シグナル:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "フィルタ" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "FTA (Free To Air)" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "ラジオ" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "テレビ" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "プロバイダ:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy #| msgid "Add filtered" msgid "Add Filtered" msgstr "フィルタされたものを追加" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 #, fuzzy #| msgid "Add selected" msgid "Add Selected" msgstr "選択したものを追加" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 #, fuzzy #| msgid "Scan results" msgid "Scan Results" msgstr "スキャン結果" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 #, fuzzy #| msgid "Current transponder" msgid "Current Transponder" msgstr "現在のトランスポンダ" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Stop scan" msgid "Stop Scan" msgstr "スキャンを停止" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "即時レコーディング" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Channels" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "チャンネルを設定" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "検索:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channels" msgctxt "osd" msgid "Channel: %1_" msgstr "チャンネル" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1192,37 +1338,77 @@ msgid "Random" msgstr "ラジオ" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add satellite" msgid "Add Subtitle" msgstr "衛星を追加" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgid "Remove satellite" msgctxt "rename an entry in a list" msgid "Rename" msgstr "衛星を削除" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Play" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "再生" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Play Video CD" msgctxt "file filter" msgid "Subtitle Files" msgstr "ビデオ CD を再生" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" + +#, fuzzy +#~| msgid "Channels" +#~ msgid "Channel Settings" +#~ msgstr "チャンネル" + +#~ msgid "Name" +#~ msgstr "名前" + +#, fuzzy +#~| msgid "Remove satellite" +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "衛星を削除" + +#, fuzzy +#~| msgid "Remove satellite" +#~ msgid "Remove" +#~ msgstr "衛星を削除" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "開始" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "開始:" + +#, fuzzy +#~| msgid "New" +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "新規" + +#~ msgid "Duration" +#~ msgstr "時間" diff -Nru kaffeine-1.1/po/km/kaffeine.po kaffeine-1.2.2/po/km/kaffeine.po --- kaffeine-1.1/po/km/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/km/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,376 +1,416 @@ # translation of kaffeine.po to Khmer # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. -# # Khoem Sokhem , 2008, 2009, 2010. # Seng Sutha, 2009. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-06-09 09:12+0700\n" "Last-Translator: Khoem Sokhem \n" "Language-Team: Khmer \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=1; plural=0;\n" +"X-Generator: KBabel 1.11.4\n" +"X-Language: km_KH\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" #: main.cpp:67 msgid "A media player for KDE with digital TV support." -msgstr "កម្មវិធី​ចាក់​មេឌៀ​សម្រាប់ KDE ដែល​មានការ​គាំទ្រទូរទស្សន៍​ឌីជីថល ។" +msgstr "កម្មវិធី​ចាក់​មេឌៀ​សម្រាប់ KDE ដែល​មានការ​គាំទ្រ​ទូរទស្សន៍​ឌីជីថល ។" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៧-២០១០ ដោយ​អ្នកនិពន្ធ Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "អ្នក​ថែទាំ" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "ឯកសារ​ចាក់​ ១" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "ចាក់​ស៊ីឌី​អូឌីយ៉ូ ២" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "ចាក់​ស៊ីឌី​វីដេអូ ៣" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" -msgstr "ឌីវីឌី​ចាក់ ៤" +msgstr "ចាក់​ឌីវីឌី ៤" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" -msgstr "ទូរទស្សន៍​ឌីជីថល ៥" +msgstr "ទូរទស្សន៍​ឌីជីថល​ ៥" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "កំណត់​រចនាសម្ព័ន្ធ Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "របៀប​តូច​បំផុត" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "របៀប​តូច​បំផុត" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "របៀប​ពេញ​អេក្រង់" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" -msgstr "ថិរវេលា​រំលងខ្លី ៖" +msgstr "ថិរវេលា​រំលង​ខ្លី ៖" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" -msgstr "ថរិវេលា​រំលង​វែង ៖" +msgstr "ថិរវេលា​​រំលង​វែង ៖" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "ឯកសារ" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "បើក URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "ចាក់​ស៊ីឌី​អូឌីយ៉ូ" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" -msgstr "ចាក់ វីដេអូ" +msgstr "ចាក់​ស៊ីឌី​វីដេអូ​" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "ចាក់​ឌីវីឌី" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "ចាក់​ថត​ឌីវីឌី" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "ចាក់​ឡើងវិញ" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "បញ្ជី​ចាក់" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "ទូរទស្សន៍" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "ការ​កំណត់" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "ចាប់ផ្ដើម" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "ចាក់​ឡើង​វិញ" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "បញ្ជី​ចាក់" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "ទូរទស្សន៍" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" -msgstr "ចាប់ផ្ដើម​ក្នុង​របៀប​ពេញអេក្រង់" +msgstr "ចាប់​​​​ផ្ដើម​ជា​របៀប​ពេញ​អេក្រង់" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(ជម្រើស​ដែល​បាន​បដិសេធ​)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "ចាក់​ប៉ុស្តិ៍​​ទូរទស្សន៍" -#: mainwindow.cpp:365 -#, fuzzy +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" -msgstr "ចាក់​ប៉ុស្តិ៍​ទូរទស្សន៍ដែលបាន​ដាក់បទភ្លេងចុងក្រោយ​" +msgstr "ចាក់​ប៉ុស្តិ៍​ទូរទស្សន៍​ដែល​បាន​រាវ​រក​លើក​​ចុងក្រោយ​" -#: mainwindow.cpp:366 -#, fuzzy +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" -msgstr "ទិន្នន័យ​ Dump dvb (ជម្រើស​បំ​បាត់​កំហុស)" +msgstr "ទិន្នន័យ​ Dump dvb (ជម្រើស​បំបាត់​​កំហុស)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" -msgstr "ឯកសារ ឬ​ URLs ដើម្បី​ចាក់" +msgstr "ឯកសារ ឬ​ URLs ត្រូវ​ចាក់" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "បើក URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" -msgstr "បញ្ចូល URL មួយ ៖" +msgstr "បញ្ចូល​ URL ៖" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "លោត​ទៅ​ទីតាំង" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "បញ្ចូល​ទីតាំង ៖" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "មុន" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "ចាក់" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "ផ្អាក" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "បញ្ឈប់" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "បន្ទាប់" -#: mediawidget.cpp:271 mediawidget.cpp:548 -#, fuzzy +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "របៀប​ពេញ​អេក្រង់" -#: mediawidget.cpp:277 mediawidget.cpp:552 -#, fuzzy +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" -msgstr "របៀបតូចបំផុត" +msgstr "របៀប​តូច​បំផុត" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "បិទ" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" -msgstr "អូឌីយ៉" +msgstr "អូឌីយ៉ូ" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "បង្កើន​​សំឡេង" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "បន្ថយ​សំឡេង" -#: mediawidget.cpp:309 -#, fuzzy +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" -msgstr "កម្រិតសំឡេង Mute" +msgstr "ធ្វើ​ឲ្យ​ស្ងាត់" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "វីដេអូ" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" -msgstr "មិនត្របាញ់​" +msgstr "មិន​ត្របាញ់​" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "សមាមាត្រ" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "ស្វ័យ​ប្រវត្តិ" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "សម​នឹង​បង្អួច" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "៤ ៖ ៣" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "១៦ ៖ ៩" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "ផ្លាស់ប្ដូរ​ទំហំ​ដោយ​ស្វ័យ​ប្រវត្តិ" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "បិទ" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "ទំហំ​ដើម" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "ទំហំទ្វេ" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" -msgstr "គ្រាប់រំកិល​សំឡេង" +msgstr "គ្រាប់​រំកិល​កម្រិត​​សំឡេង" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "លោត​ទៅ​ទី​​តាំង..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "រំលង" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 -#, fuzzy, no-c-format, kde-format +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 +#, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" -msgstr "រំលង %1 វិ. ត្រឡប់ក្រោយ" +msgstr "រំលង​ទៅ​ក្រោយ​ %1 វិនាទី" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 -#, fuzzy, no-c-format, kde-format +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 +#, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" -msgstr "រំលង %1 វិ. ទៅមុខ" +msgstr "រំលង​ទៅ​មុខ​ %1 វិនាទី" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" -msgstr "គ្រាប់រំកិល​ស្វែងរក" +msgstr "គ្រាប់​រំកិល​ស្វែងរក" -#: mediawidget.cpp:460 -#, fuzzy +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" -msgstr "ម៉ឺនុយ បិទ/​បើក " +msgstr "ម៉ឺនុយ​បិទ​បើក" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "ចំណង​ជើង" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "ជំពូក" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "មុំ" -#: mediawidget.cpp:482 -#, fuzzy +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "ប្ដូរ​រវាង​ការ​បង្ហាញ​ពេលវេលា​ដែល​នៅសល់ និង​កន្លង​ផុត" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" -msgstr "ឯកសារ​មេឌៀ​ដែលបានគាំទ្រ" +msgstr "ឯកសារ​មេឌៀ​ដែល​បាន​គាំទ្រ" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "ឯកសារ​ទាំង​អស់" #: mediawidget.cpp:563 -#, fuzzy msgctxt "'Playback' menu" msgid "Exit Full Screen Mode" msgstr "ចេញ​ពី​របៀប​ពេញ​អេក្រង់" #: mediawidget.cpp:567 -#, fuzzy msgctxt "'Playback' menu" msgid "Exit Minimal Mode" msgstr "ចេញពីរបៀបតូចបំផុត​" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "បាន​បញ្ឈប់" #: mediawidget.cpp:1205 -#, fuzzy msgctxt "osd" msgid "Mute On" -msgstr "បើក Mute " +msgstr "បើក​ស្ងាត់" #: mediawidget.cpp:1208 -#, fuzzy msgctxt "osd" msgid "Mute Off" -msgstr "បិទ Mute " +msgstr "បិទ​ស្ងាត់" #: mediawidget.cpp:1215 #, kde-format @@ -381,12 +421,12 @@ #: mediawidget.cpp:1241 msgctxt "osd message" msgid "Deinterlacing On" -msgstr "បិទការត្របាញ់" +msgstr "បើក​ការ​មិន​​ត្របាញ់" #: mediawidget.cpp:1243 msgctxt "osd message" msgid "Deinterlacing Off" -msgstr "បើកការត្របាញ់" +msgstr "បិទ​ការ​មិន​ត្របាញ់" #: mediawidget.cpp:1288 msgctxt "osd" @@ -408,166 +448,194 @@ msgid "Your emails" msgstr "khoemsokhem@khmeros.info,sutha@khmeros.info,mornmet@khmeros.info" -#: sqlhelper.cpp:50 -#, fuzzy +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." -msgstr "សូម​តំឡើងកម្មវិធីជំនួយ​ Qt SQLite ។" +msgstr "សូម​ដំឡើង​កម្មវិធី​ជំនួយ Qt SQLite ​។" -#: sqlhelper.cpp:65 -#, fuzzy +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." -msgstr "មិន​អាច​បើក​មូល​ដ្ឋាន​ទិន្នន័យ SQLite បាន​ឡើយ​ ។" +msgstr "មិន​អាច​បើក​មូលដ្ឋាន​ទិន្នន័យ​ SQLite ។" -#: backend-xine/xineapplication.cpp:989 -#, fuzzy +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." -msgstr "ឧបករណ៍ប្រើប្រាស់ខាងក្នុងសម្រាប់ Kaffeine ។" +msgstr "ឧបករណ៍​ប្រើប្រាស់​ខាង​ក្នុង​សម្រាប់ Kaffeine ។" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "ផ្ដេក" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "បញ្ឈរ" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "រង្វង់​ឆ្វេង" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "រង្វង់​ស្ដាំ" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "ឈ្មោះ" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "ប៉ុស្តិ៍" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "លេខ" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "កែសម្រួល" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "យកចេញ" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"ប៉ុស្តិ៍​​នឹង​ត្រូវ​បាន​​តម្រៀប​តាម​លេខ ដើម្បី​អនុញ្ញាត​ឲ្យ​អូស និង​ទម្លាក់​បាន​ ។\n" +"​តើ​អ្នក​ចង់​បន្ត​ឬ ?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "កា​រកំណត់​ឆានែល" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "ផ្ដេក" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "បញ្ឈរ" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "រង្វង់​ឆ្វេង" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "រង្វង់​ស្ដាំ" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "ប៉ុស្តិ៍​" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "ឈ្មោះ ៖" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "លេខ ៖" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" -msgstr "ប្រភពដើម ៖" +msgstr "ប្រភព ៖" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "​ប្រេកង់ (MHz) ៖" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" -msgstr "អត្រា​និមិត្តសញ្ញា (kS/s) ៖" +msgstr "អត្រា​និមិត្ត​សញ្ញា (kS/s) ៖" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" -msgstr "កា​របម្លែង ៖" +msgstr "លំនាំ​ឡើង​ចុះ ៖" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "អត្រា FEC ៖" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "ការ​ធ្វើ​ឲ្យ​បែក ៖" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off ៖" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "កម្រិត​បញ្ជូន ៖" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" -msgstr "អត្រា FEC LP ៖" +msgstr "LP អត្រា​ FEC ៖" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "របៀប​បញ្ជូន ៖" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "ចន្លោះ​ពេល​ការពារ ៖" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "តាម​ឋានានុក្រម ៖" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID ៖" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID វីដេអូ ៖" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID ចំណង​ជើង​រង ៖" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" -msgstr "Teletext PID ៖" +msgstr "PID ប្រមូល​យក​ព័ត៌មាន​ទូរទស្សន៍ ៖" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" -msgstr "លេខសម្គាល់​បណ្ដាញ ៖" +msgstr "លេខ​សម្គាល់​បណ្ដាញ ៖" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" -msgstr "លេខសម្គាល់​ស្ទ្រីម​បញ្ជូន ៖" +msgstr "លេខ​សម្គាល់​ស្ទ្រីម​បញ្ជូន ៖" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" -msgstr "លេខសម្គាល់​សេវា ៖" +msgstr "លេខ​សម្គាល់​សេវា ៖" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "ឆានែល​អូឌីយ៉ូ ៖" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "បាន​ច្របល់ ៖" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "កំណត់​រចនាសម្ព័ន្ធ​ទូរទស្សន៍" @@ -577,28 +645,25 @@ #: dvb/dvbconfigdialog.cpp:63 dvb/dvbconfigdialog.cpp:75 msgid "Select Folder" -msgstr "ជ្រើសថត" +msgstr "ជ្រើស​ថត" #: dvb/dvbconfigdialog.cpp:67 msgid "Time shift folder:" msgstr "ថត​ប្ដូរ​ពេលវេលា ៖" #: dvb/dvbconfigdialog.cpp:81 -#, fuzzy msgid "Begin margin (minutes):" -msgstr "ផ្តើម​រឹម​​ (នាទី​​) ៖" +msgstr "ដើម​រឹម​​ (នាទី​​) ៖" #: dvb/dvbconfigdialog.cpp:88 -#, fuzzy msgid "End margin (minutes):" -msgstr "ចុ​ង​រឹម​ (នាទី​​) ៖" +msgstr "ចុង​​រឹម​ (នាទី​​) ៖" #: dvb/dvbconfigdialog.cpp:97 -#, fuzzy msgid "Use ISO 8859-1 charset instead of ISO 6937:" -msgstr "ប្រើ​​ ISO 8859-1 សុំណុំ​តួអក្សរ​ដែលបានជំនួស​​ ISO 6937 ៖" +msgstr "ប្រើ​សំណុំ​តួ​អក្សរ ISO 8859-1 ជំនួស​ឲ្យ​ ISO 6937 ៖" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "វិភាគ​រក​ទិន្នន័យ​ដែល​បាន​ធ្វើ​បច្ចុប្បន្នភាព​​ចុងក្រោយ​នៅ %1" @@ -609,7 +674,7 @@ #: dvb/dvbconfigdialog.cpp:120 msgid "Your position (only needed for USALS rotor)" -msgstr "ទីតាំង​របស់​អ្នក (ចាំបាច់​តែ​សម្រាប់ USALS rotor)" +msgstr "ទីតាំង​របស់​អ្នក (ចាំបាច់​​សម្រាប់​តែ​ USALS rotor)" #: dvb/dvbconfigdialog.cpp:123 msgid "Latitude:" @@ -627,305 +692,369 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "ជម្រើស​ទូទៅ" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "ឧបករណ៍ %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "ធ្វើ​បច្ចុប្បន្នភាព​​ទិន្នន័យ​វិភាគ​រក​​លើ​អ៊ីនធឺណិត" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" -msgstr "ទាញយក​ទិន្នន័យ​វិភាគ​រក" +msgstr "ទាញ​យក​ទិន្នន័យ​វិភាគ​រក" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." -msgstr "បានបរាជ័យ​ក្នុងកា​រវិភាគរក​បច្ចុប្បន្នភាព ។" +msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​ទិន្នន័យ​វិភាគ​​រក ។" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -"វិភាគរក​ទិន្នន័យ​ដែលបាន​ធ្វើ​បច្ចុប្បន្នភាព​​ដោយ​ជោគជ័យ ។ ការ​ផ្លាស់ប្ដូរ\n" -"មាន​ប្រសិទ្ធភាព​បន្ទាប់ពី​អ្នក​បានបិទ​ប្រអប់​កំណត់​រចនាសម្ព័ន្ធ ។" +"បាន​​ធ្វើ​បច្ចុប្បន្នភាព​ទិន្នន័យ​វិភាគ​រក​ដោយ​ជោគ​ជ័យ ។ ការ​ផ្លាស់​ប្ដូរ​នឹង​​មាន​\n" +"ប្រសិទ្ធិភាព បន្ទាប់​ពី​អ្នក​បាន​បិទ​ប្រអប់​កំណត់​រចនាសម្ព័ន្ធ ។" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "ឈ្មោះ ៖ %1" -#: dvb/dvbconfigdialog.cpp:455 -#, fuzzy +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" -msgstr "ផ្លាស់ទី​ទៅឆ្វេង" +msgstr "ផ្លាស់ទី​ទៅ​ឆ្វេង" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "កំណត់​ឡើង​វិញ" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "យកចេញ" - -#: dvb/dvbconfigdialog.cpp:469 -#, fuzzy +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" -msgstr "ផ្លាស់​ទីទៅស្តាំ" +msgstr "ផ្លាស់​ទី​ទៅ​ស្តាំ" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." -msgstr "មិនបានតភ្ជាប់​ឧបករណ៍​ទេ ។" +msgstr "មិន​​​​​​​​​បាន​​តភ្ជាប់​ឧបករណ៍​ ។" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "ខ្សែ" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "ដែនដី" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" -msgstr "វិិភាគ​រ​ដោយ​ស្វ័យ​ប្រវត្តិក" +msgstr "វិភាគ​រ​​ក​ដោយ​ស្វ័យ​ប្រវត្តិ" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" -msgstr "វិភាគរក​ដោយ​ស្វ័យ​ប្រវត្តិ​ដោយ​មាន​អុហ្វសិត 167 kHz" +msgstr "វិភាគ​រក​ដោយ​ស្វ័យ​ប្រវត្តិ​ដោយ​មាន​អុហ្វសិត ១​៦​៧ គីឡូ​ហឺត" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" -msgstr "វិភាគរក​អូស្ត្រាលី​ដោយ​ស្វ័យ​ប្រវត្តិ" +msgstr "វិភាគ​រក​អូស្ត្រាលី​ដោយ​ស្វ័យ​ប្រវត្តិ" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "វិភាគ​រក​អ៊ីតាលី​ដោយ​ស្វ័យ​ប្រវត្តិ" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" -msgstr "វិភាគរក​តៃវ៉ាន់​ដោយ​ស្វ័យ​ប្រវត្តិ" +msgstr "វិភាគ​រក​តៃវ៉ាន់​ដោយ​ស្វ័យ​ប្រវត្តិ" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" -msgstr "អស់ពេល (មិល្លីវិនាទី) ៖" +msgstr "អស់​ពេល​សម្រាប់​ប្រដាប់​រាវ​ប៉ុស្តិ៍ (ម.វ.) ៖" + +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "ប្រភព ៖" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "គ្មាន​ប្រភព" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "ឈ្មោះ ៖" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "ការ​កំណត់​រចនាសម្ព័ន្ធ ៖" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "ការ​ប្ដូរ DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS Rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "ទីតាំង Rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "ការ​កំណត់ LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "ការ​កំណត់ LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "បន្ថែម​​ផ្កាយរណប" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "ផ្កាយរណប" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "ទីតាំង" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "យក​ផ្កាយរណប​ចេញ" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB សកល" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "ក្រុម C LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "ផ្ទាល់ខ្លួន" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "ប្ដូរ​ប្រេកង់ (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "ក្រុម​ទាប LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "ក្រុម​ខ្ពស់ LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF ផ្ដេក (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF បញ្ឈរ (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "ចាប់ផ្ដើម" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "ថិរវេលា" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "ចំណង​ជើង" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" -msgstr "មគ្គុទ្ទេសក៏​កម្មវិធី" +msgstr "មគ្គុទ្ទេសក៍​កម្មវិធី" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 +#: dvb/dvbepgdialog.cpp:60 #, fuzzy -msgctxt "program guide" -msgid "Schedule Program" -msgstr "កំណត់​ពេល​កម្ម​វិធី" +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "កាលវិភាគ​ថត" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "ស្វែងរក ៖" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -#, fuzzy -msgctxt "message box" -msgid "No available device found." -msgstr "រក​មិន​ឃើញ​ឧបករណ៍​ដែល​សមរម្យ ។" +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "ចាប់ផ្ដើម" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "ថិរវេលា" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "ចំណង​ជើង" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "ឆានែល" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "រក​មិន​ឃើញ​ឧបករណ៍​ដែល​អាច​ប្រើ​បាន ។" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "រក​មិន​ឃើញ​ឧបករណ៍​ដែល​អាច​ប្រើ​បាន ។" + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "កាលវិភាគ​ថត" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "ថ្មី" -#: dvb/dvbrecording.cpp:778 +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "ឈ្មោះ" + +#: dvb/dvbrecordingdialog.cpp:363 #, fuzzy -msgctxt "subdialog of 'Recording Schedule'" +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "កែសម្រួល​ធាតុ​កាលវិភាគ" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "ឈ្មោះ ៖" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" -msgstr "ឆានែល ៖" +msgstr "ប៉ុស្តិ៍ ៖" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "ចាប់ផ្ដើម ៖" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "ចាប់ផ្ដើម" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" -msgstr "ថិរ​វេលា ៖" +msgstr "ថិរវេលា ៖" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "បញ្ចប់ ៖" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "ធ្វើ​ម្ដង​ទៀត" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" -msgstr "មិន​ដែល" +msgstr "កុំ" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "ប្រចាំ​ថ្ងៃ" @@ -940,110 +1069,140 @@ #: dvb/dvbscandialog.cpp:209 msgid "Provider" -msgstr "ក្រុមហ៊ុនផ្ដល់" +msgstr "ក្រុម​ហ៊ុន​ផ្ដល់" #: dvb/dvbscandialog.cpp:211 msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" -msgstr "ឆានែល" +msgstr "ប៉ុស្តិ៍" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "ជម្រះ" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" -msgstr "វិភាគ​រក​ឆានែល" +msgstr "វិភាគ​រក​ប៉ុស្តិ៍" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" -msgstr "ចាប់ផ្ដើមវិភាករក" +msgstr "ចាប់​ផ្ដើម​វិភាគ​រក" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "សញ្ញា ៖" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR ៖" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" -msgstr "បានចាក់ ៖" +msgstr "បាន​រាវ​រក ៖" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "តម្រង" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "ផ្សាយ​ដោយ​សេរី" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "វិទ្យុ" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "ទូរទស្សន៍" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "ក្រុមហ៊ុន​ផ្ដល់ ៖" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "បន្ថែម​អ្វី​ដែល​បាន​ត្រង" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "បន្ថែម​អ្វី​ដែល​បាន​ជ្រើស" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" -msgstr "វិភាគរក​លទ្ធផល" +msgstr "វិភាគ​រក​លទ្ធផល" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" -msgstr "ឧបករណ៍​ទទួល​ទូរស័ព្ទ​បច្ចុប្បន្ន" +msgstr "ឧបករណ៍​ទទួល​សញ្ញា​​បច្ចុប្បន្ន" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" -msgstr "បញ្ឈប់​កា​រវិភាគ​រក" +msgstr "បញ្ឈប់​ការ​វិភាគ​រក" + +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "មគ្គុទ្ទេសក៍​កម្មវិធី" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "កាលវិភាគ​ថត" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "កំណត់​ត្រា​បន្ទាន់" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "កំណត់​រចនាសម្ព័ន្ធ​ទូរទស្សន៍" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "ស្វែងរក ៖" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" -msgstr "ឆានែល ៖ %1_" +msgstr "ប៉ុស្តិ៍ ៖ %1_" -#: dvb/dvbtab.cpp:335 -#, fuzzy +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"ឥឡូវ​នេះ Kaffeine កំពុង​តែ​ថត​ចម្លង​កម្មវិធី ។\n" +"​តើ​អ្នក​ពិត​ជា​ចង់​បិទ​កម្មវិធី​នេះ​ឬ ?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine បាន​កំណត់​ពេល​ការ​ថត​ចម្លង​ ។\n" +"​តើ​អ្នក​ពិត​ជា​ចង់​បិទ​កម្មវិធី​នេះ​ឬ ?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" -msgstr "ឆាប់​ផ្តើម​កំនត់​ត្រា​បន្ទាន់" +msgstr "បាន​ចាប់​ផ្ដើម​កំណត់​ត្រា​បន្ទាន់" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 -#, fuzzy +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" -msgstr "ឈប់​កំណត់​ត្រា​បន្ទាន់" +msgstr "បាន​បញ្ឈប់​កំណត់​ត្រា​បន្ទាន់" #: playlist/playlistmodel.cpp:783 msgctxt "playlist track" @@ -1061,20 +1220,19 @@ msgstr "អាល់ប៊ុម" #: playlist/playlistmodel.cpp:789 -#, fuzzy msgctxt "playlist track" msgid "Track Number" -msgstr "លេខ​តាម​ដាន" +msgstr "លេខ​បទ" #: playlist/playlistmodel.cpp:791 msgctxt "playlist track" msgid "Length" -msgstr "ប្រវែង​" +msgstr "រយៈ​ពេល" #: playlist/playlisttab.cpp:367 msgctxt "playlist browser" msgid "Temporary Playlist" -msgstr "បញ្ជីចាក់​បណ្តោះអាសន្ន​" +msgstr "បញ្ជី​ចាក់​បណ្ដោះអាសន្ន​" #: playlist/playlisttab.cpp:392 msgctxt "playlist menu" @@ -1086,31 +1244,26 @@ msgid "Random" msgstr "ចៃ​ដន្យ​" -#: playlist/playlisttab.cpp:401 -#, fuzzy -#| msgid "Add Satellite" +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" -msgstr "បន្ថែម​​ផ្កាយរណប" +msgstr "បន្ថែម​ចំណង​ជើង​រង" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" -msgstr "ប្តូរ​ឈ្មោះ​" +msgstr "ប្ដូរ​ឈ្មោះ​" -#: playlist/playlisttab.cpp:631 -#, fuzzy +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" -msgstr "មិន​មាន​ឈ្មោះ​បញ្ជីចាក់" +msgstr "បញ្ជី​ចាក់​ដែល​គ្មាន​ឈ្មោះ" -#: playlist/playlisttab.cpp:837 -#, fuzzy -#| msgid "Subtitle PID:" +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" -msgstr "PID ចំណង​ជើង​រង ៖" +msgstr "ឯកសារ​ចំណង​ជើង​រង" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1121,6 +1274,49 @@ "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" +#~ msgid "Channel Settings" +#~ msgstr "ការ​កំណត់​ប៉ុស្ដិ៍" + +#~ msgid "Name" +#~ msgstr "ឈ្មោះ" + +#~ msgid "Edit" +#~ msgstr "កែសម្រួល" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "យកចេញ" + +#~ msgid "Remove" +#~ msgstr "យកចេញ" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "ចាប់ផ្ដើម" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "ចាប់ផ្ដើម ៖" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "ថ្មី" + +#~ msgid "Duration" +#~ msgstr "ថិរវេលា" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "កំណត់​ពេល​កម្ម​វិធី" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "ឈ្មោះ" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "ធ្វើ​ឲ្យ​ស្រស់" diff -Nru kaffeine-1.1/po/ko/kaffeine.po kaffeine-1.2.2/po/ko/kaffeine.po --- kaffeine-1.1/po/ko/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ko/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,14 +1,14 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Park Shinjo , 2008, 2009. +# Park Shinjo , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2009-08-05 14:04+0900\n" -"Last-Translator: Park Shinjo \n" +"Last-Translator: Park Shinjo \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -16,7 +16,7 @@ "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -24,245 +24,292 @@ msgid "A media player for KDE with digital TV support." msgstr "디지털 TV를 지원하는 KDE 미디어 재생기." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007-2009 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2009 Kaffeine 작성자" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "관리자" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "파일 재생 (&1)" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "오디오 CD 재생 (&2)" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "비디오 CD 재생 (&3)" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "DVD 재생 (&4)" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "디지털 TV (&5)" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configure channels" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "채널 설정" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "전체 화면 모드" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "설정:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "파일(&F)" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "URL 열기" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "오디오 CD 재생" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "비디오 CD 재생" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD 재생" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD 재생" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "재생(&P)" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "재생 목록(&L)" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "텔레비전 (&T)" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "설정(&S)" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "시작" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "재생" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "재생 목록" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "텔레비전" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "전체 화면 모드로 시작하기" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgid "Delete all" msgctxt "command line option" msgid "(deprecated option)" msgstr "모두 삭제" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Play TV channel" msgctxt "command line option" msgid "Play TV channel" msgstr "TV 채널 재생하기" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Play TV channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "TV 채널 재생하기" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "재생할 파일이나 URL" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL 열기" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "URL 입력:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "위치로 가기" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "위치 입력:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "이전" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "재생" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "일시 정지" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "정지" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "다음" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "전체 화면 모드" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 #, fuzzy #| msgid "off" msgctxt "subtitle selection entry" msgid "off" msgstr "끔" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Audio" msgctxt "'Playback' menu" msgid "Audio" msgstr "오디오" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 #, fuzzy #| msgid "Increase Volume" msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "음량 증가" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 #, fuzzy #| msgid "Decrease Volume" msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "음량 감소" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 #, fuzzy #| msgid "Mute Volume" msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "음소거" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Video PID:" msgctxt "'Playback' menu" msgid "Video" msgstr "비디오 PID:" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 #, fuzzy #| msgid "Aspect Ratio" msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "화면 비율" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgctxt "aspect ratio" #| msgid "Automatic" @@ -270,7 +317,7 @@ msgid "Automatic" msgstr "자동" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 #, fuzzy #| msgctxt "aspect ratio" #| msgid "Fit to Window" @@ -278,7 +325,7 @@ msgid "Fit to Window" msgstr "창에 맞춤" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 #, fuzzy #| msgctxt "aspect ratio" #| msgid "4:3" @@ -286,7 +333,7 @@ msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 #, fuzzy #| msgctxt "aspect ratio" #| msgid "16:9" @@ -294,36 +341,43 @@ msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "자동 크기 조정" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "끔" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "원래 크기" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "두 배" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "음량 슬라이더" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "위치로 가기" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "건너뛰기" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, fuzzy, no-c-format, kde-format #| msgctxt "submenu of skip" #| msgid "Skip 10s Backward" @@ -331,8 +385,8 @@ msgid "Skip %1s Backward" msgstr "10초 뒤로 건너뛰기" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, fuzzy, no-c-format, kde-format #| msgctxt "submenu of skip" #| msgid "Skip 10s Forward" @@ -340,43 +394,43 @@ msgid "Skip %1s Forward" msgstr "10초 앞으로 건너뛰기" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Volume Slider" msgid "Seek Slider" msgstr "음량 슬라이더" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "Title" msgctxt "dvd navigation" msgid "Title" msgstr "제목" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 #, fuzzy #| msgid "Chapter" msgctxt "dvd navigation" msgid "Chapter" msgstr "챕터" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 #, fuzzy #| msgid "Angle" msgctxt "dvd navigation" msgid "Angle" msgstr "각도" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "지난 시간과 남은 시간 표시 바꾸기" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 #, fuzzy #| msgctxt "file filter description" #| msgid "Supported media files" @@ -384,7 +438,7 @@ msgid "Supported Media Files" msgstr "지원하는 미디어 파일" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 #, fuzzy #| msgctxt "file filter description" #| msgid "All files" @@ -404,7 +458,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "정지됨" @@ -453,165 +507,194 @@ #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "peremen@gmail.com" +msgstr "kde@peremen.name" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "수평" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "수직" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "원형 왼쪽" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "원형 오른쪽" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "이름" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "채널" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "번호" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "편집" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgctxt "remove an item from a list" +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "삭제" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "채널 설정" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "수평" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "수직" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "원형 왼쪽" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "원형 오른쪽" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "채널 편집" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "이름:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "번호:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "원본:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "주파수 (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "심볼 레이트 (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "변조 방식:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC 비율:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "극성:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "롤-오프:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "대역폭:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC 비율 LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "전송 모드:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "구조:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "비디오 PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "자막 PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "텔레텍스트 PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "네트워크 ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "전송 스트림 ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "서비스 ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "오디오 채널:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "암호화됨:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "텔레비전 설정" @@ -639,7 +722,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "마지막 검색 결과 업데이트: %1" @@ -668,26 +751,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "일반 옵션" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "장치 %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "검색 결과 인터넷으로 업데이트" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "검색 데이터 다운로드 중" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "검색 데이터를 업데이트하는 데 실패했습니다." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -695,287 +784,343 @@ "검색 데이터를 업데이트했습니다. 이 설정 대화상자를\n" "닫으면 변경 사항이 반영됩니다." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "이름: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 #, fuzzy #| msgctxt "playlist menu" #| msgid "Repeat" msgid "Reset" msgstr "반복" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgctxt "remove an item from a list" -#| msgid "Remove" -msgid "Remove" -msgstr "삭제" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "장치가 연결되지 않았습니다." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "케이블" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "지상파" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "자동 검색" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "167kHz 간격으로 자동 검색" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "오스트레일리아 자동 검색" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "이탈리아 자동 검색" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "대만 자동 검색" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "튜너 시간 제한(ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "원본:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "원본 없음" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "이름:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "설정:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC 스위치" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS 로터" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "위치 로터" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 설정" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB 설정" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "인공위성 추가" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "인공위성" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "위치" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "인공위성 삭제" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "유니버셜 LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-밴드 LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-밴드 다중 지점 LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "사용자 정의 LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "주파수 변경 (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "저대역 LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "고대역 LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "수평 LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "수직 LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "시작" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "기간" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "제목" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "프로그램 가이드" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "프로그램 예약" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "예약 녹화" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "검색:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 #, fuzzy -#| msgid "No suitable device found." -msgctxt "message box" -msgid "No available device found." -msgstr "적당한 장치가 없습니다." +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "시작" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "기간" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "제목" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "채널" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "@info" +msgid "No device found." +msgstr "적당한 장치가 없습니다." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "message box" +msgid "No available device found." +msgstr "적당한 장치가 없습니다." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "예약 녹화" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "새로 만들기" -#: dvb/dvbrecording.cpp:778 +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "이름" + +#: dvb/dvbrecordingdialog.cpp:363 #, fuzzy #| msgctxt "subdialog of recording schedule" #| msgid "Edit Schedule Entry" -msgctxt "subdialog of 'Recording Schedule'" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "예약 편집하기" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "이름:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "채널:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "시작:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "시작" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "시간:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "끝:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 #, fuzzy #| msgctxt "playlist menu" #| msgid "Repeat" +msgctxt "@label recording" msgid "Repeat:" msgstr "반복" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -996,99 +1141,129 @@ msgid "SNR" msgstr "신호대 잡음비" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "채널" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "지우기" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "채널 검색" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "검색 시작" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "신호:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "신호대 잡음비:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "조정됨:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "필터" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "공중파" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "라디오" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "공급자:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "필터에 추가" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "선택한 것 추가" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "검색 결과" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "현재 트랜스폰더" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "검색 중지" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "프로그램 가이드" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "예약 녹화" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "즉석 녹화" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "텔레비전 설정" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "검색:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "채널: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "즉석 녹화 시작됨" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "즉석 녹화 중지됨" @@ -1143,32 +1318,32 @@ msgid "Random" msgstr "라디오" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "인공위성 추가" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "이름 바꾸기" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Playlist" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "재생 목록" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "자막 PID:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 #, fuzzy #| msgid "" #| "*.m3u|M3U Playlist\n" @@ -1184,6 +1359,57 @@ "*.pls|PLS 재생 목록\n" "*.xspf|XSPF 재생 목록" +#~ msgid "Channel Settings" +#~ msgstr "채널 설정" + +#~ msgid "Name" +#~ msgstr "이름" + +#~ msgid "Edit" +#~ msgstr "편집" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "삭제" + +#, fuzzy +#~| msgctxt "remove an item from a list" +#~| msgid "Remove" +#~ msgid "Remove" +#~ msgstr "삭제" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "시작" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "시작:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "새로 만들기" + +#~ msgid "Channel" +#~ msgstr "채널" + +#~ msgid "Duration" +#~ msgstr "기간" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "프로그램 예약" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "이름" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "새로 고침" @@ -1264,9 +1490,6 @@ #~ msgid "Channel search" #~ msgstr "채널 찾기" -#~ msgid "Edit channel" -#~ msgstr "채널 편집" - #~ msgid "Change icon" #~ msgstr "아이콘 변경" diff -Nru kaffeine-1.1/po/ku/kaffeine.po kaffeine-1.2.2/po/ku/kaffeine.po --- kaffeine-1.1/po/ku/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ku/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2008-12-20 16:02+0200\n" "Last-Translator: Omer Ensari \n" "Language-Team: Kurdish \n" @@ -18,7 +18,7 @@ "X-Poedit-SourceCharset: utf8\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 #, fuzzy #| msgid "Kaffeine Player" msgid "Kaffeine" @@ -30,362 +30,414 @@ msgid "A media player for KDE with digital TV support." msgstr "Medya lêdarek ji bo KDE bi piştgirî ya dîjîtal tv re" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007 The Kaffeine Authors" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 #, fuzzy #| msgid "Play File" msgid "&1 Play File" msgstr "Pelê Lê Bide" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 #, fuzzy #| msgid "Play Audio CD" msgid "&2 Play Audio CD" msgstr "CD ya Muzîkê Lê Bide" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 #, fuzzy #| msgid "Play Video CD" msgid "&3 Play Video CD" msgstr "CD ya Vîdeoyê Lê Bide" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 #, fuzzy #| msgid "Play DVD" msgid "&4 Play DVD" msgstr "DVD Lê bide" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 #, fuzzy #| msgid "Digital TV" msgid "&5 Digital TV" msgstr "TV ya Dîjîtal" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configure channels" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kanalan veava bike" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Moda Dîmender Tijî" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Mîhengkirin:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Pel" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "URL Veke" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "CD ya Muzîkê Lê Bide" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "CD ya Vîdeoyê Lê Bide" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD Lê bide" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD Lê bide" + +#: mainwindow.cpp:322 #, fuzzy #| msgid "Play" msgid "&Playback" msgstr "Lê Bide" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy #| msgid "Play" msgctxt "menu bar" msgid "Play&list" msgstr "Lê Bide" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Mîheng" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Destpê bide " -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy #| msgid "Play" msgid "Playback" msgstr "Lê Bide" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 #, fuzzy #| msgid "Play" msgid "Playlist" msgstr "Lê Bide" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Full Screen Mode" msgid "Start in full screen mode" msgstr "Moda Dîmender Tijî" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgid "Delete all" msgctxt "command line option" msgid "(deprecated option)" msgstr "Hemûyan Jê Bibe" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play TV channel" msgstr "Kanalê jê bibe" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Kanalê jê bibe" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL Veke" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "URL'ekê binivîse:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 #, fuzzy #| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Derawa" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 #, fuzzy #| msgid "Enter a URL:" msgid "Enter a position:" msgstr "URL'ekê binivîse:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Paş" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Lê Bide" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Bide Sekinandin" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Rawestîne" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Pêş" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Moda Dîmender Tijî" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Radio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Radyo" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Play Video CD" msgctxt "'Playback' menu" msgid "Video" msgstr "CD ya Vîdeoyê Lê Bide" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgid "Radio" msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Radyo" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 #, fuzzy #| msgid "Radio" msgid "Automatic Resize" msgstr "Radyo" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Derawa" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select source:" msgid "Seek Slider" msgstr "Çavkanî hilbijêre:" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "&File" msgctxt "dvd navigation" msgid "Title" msgstr "&Pel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -402,7 +454,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -460,191 +512,209 @@ msgid "Your emails" msgstr "oensari@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 #, fuzzy -#| msgid "Horizontal LOF (MHz)" -msgid "Horizontal" -msgstr "LOF a berwarî (MHz)" +#| msgid "Channels" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:108 #, fuzzy -#| msgid "Terrestrial" -msgid "Vertical" -msgstr "Herêmî" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nav" - -#: dvb/dvbchannelui.cpp:302 +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Hejmar" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 #, fuzzy #| msgid "Remove satellite" -msgctxt "remove an item from a list" +msgctxt "@action" msgid "Remove" msgstr "Dûvelangê rake" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:402 #, fuzzy -#| msgid "Channels" -msgid "Channel Settings" -msgstr "Kanal" +#| msgid "Horizontal LOF (MHz)" +msgid "Horizontal" +msgstr "LOF a berwarî (MHz)" + +#: dvb/dvbchanneldialog.cpp:403 +#, fuzzy +#| msgid "Terrestrial" +msgid "Vertical" +msgstr "Herêmî" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanalê biguherîne" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nav:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 #, fuzzy #| msgid "Number" +msgctxt "@label tv channel" msgid "Number:" msgstr "Hejmar" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Çavkanî:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 #, fuzzy #| msgid "Switch frequency (MHz)" msgid "Frequency (MHz):" msgstr "Derbasbûna frekansê (MHz)" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 #, fuzzy #| msgid "Configuration:" msgid "Modulation:" msgstr "Mîhengkirin:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy #| msgid "Position" msgid "Polarization:" msgstr "Derawa" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 #, fuzzy #| msgid "Search:" msgid "Hierarchy:" msgstr "Lêgere:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 #, fuzzy #| msgid "Play Video CD" msgid "Video PID:" msgstr "CD ya Vîdeoyê Lê Bide" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 #, fuzzy #| msgid "Play Video CD" msgid "Subtitle PID:" msgstr "CD ya Vîdeoyê Lê Bide" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 #, fuzzy #| msgid "Device %1" msgid "Service ID:" msgstr "Cîhaza %1" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 #, fuzzy #| msgid "Edit channel" msgid "Audio channel:" msgstr "Kanalê biguherîne" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 #, fuzzy #| msgid "Configure Channels" +msgctxt "@title:window" msgid "Configure Television" msgstr "Kanal Mîhang Bike" @@ -674,7 +744,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, fuzzy, kde-format #| msgid "Scan file last updated
on %1" msgid "Scan data last updated on %1" @@ -704,341 +774,376 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Cîhaza %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 #, fuzzy #| msgid "Scan file last updated
on %1" msgid "Scan data update failed." msgstr "Pela lê nihêrîn ê dawî yê di
%1 de hate rojane kirin" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nav: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgid "Remove satellite" -msgid "Remove" -msgstr "Dûvelangê rake" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 #, fuzzy #| msgid "device not connected" msgid "Device not connected." msgstr "cîhaz nehat girêdan" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 #, fuzzy #| msgid "DVB-S" msgid "DVB-S2" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kablo" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Herêmî" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 #, fuzzy #| msgid "Stop scan" msgid "Autoscan" msgstr "Lê nihêrîn ê rawestîne " -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Dem bihurîna eyarker (mç):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Çavkanî:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "No source" msgid "No Source" msgstr "Çavkanî tune ye" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nav:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Mîhengkirin:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 #, fuzzy #| msgid "DiSEqC switch" msgid "DiSEqC Switch" msgstr "Derbasbûna DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 #, fuzzy #| msgid "USALS rotor" msgid "USALS Rotor" msgstr "Rotora USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy #| msgid "Positions rotor" msgid "Positions Rotor" msgstr "Rotor ê bicih bike" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "LNB %1 settings" msgid "LNB %1 Settings" msgstr "Mîhengên LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "LNB settings" msgid "LNB Settings" msgstr "Mîhengên LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 #, fuzzy #| msgid "Add satellite" msgid "Add Satellite" msgstr "Dûvelang lê zêde bike" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Dûvelang" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Derawa" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 #, fuzzy #| msgid "Remove satellite" msgid "Remove Satellite" msgstr "Dûvelangê rake" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB Gerdûnî " -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 #, fuzzy #| msgid "C-band multipoint LNB" msgid "C-band Multipoint LNB" msgstr "C-band LNB a pir-xal " -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB a bijare " -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Derbasbûna frekansê (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Banda hêdî ya LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Banda lêz ya LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF a berwarî (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF a tîkane (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -#, fuzzy -#| msgid "Configuration:" -msgid "Duration" -msgstr "Mîhengkirin:" - -#: dvb/dvbepg.cpp:269 -#, fuzzy -#| msgid "&File" -msgid "Title" -msgstr "&Pel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Lêgere:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 #, fuzzy -#| msgid "No suitable device found." -msgctxt "message box" -msgid "No available device found." -msgstr "Tu cihazên lêhatî nedît." +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Destpê bide " -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Configuration:" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Mîhengkirin:" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "&File" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "&Pel" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 +#: dvb/dvbliveview.cpp:212 #, fuzzy -#| msgid "Channels" -msgid "Channel" -msgstr "Kanal" +#| msgid "No suitable device found." +msgctxt "@info" +msgid "No device found." +msgstr "Tu cihazên lêhatî nedît." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +#, fuzzy +#| msgid "No suitable device found." +msgctxt "message box" +msgid "No available device found." +msgstr "Tu cihazên lêhatî nedît." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy #| msgid "New" -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "Nû" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nav" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nav:" + +#: dvb/dvbrecordingdialog.cpp:384 #, fuzzy #| msgid "Channels" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Destpê bide " -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 #, fuzzy #| msgid "Configuration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Mîhengkirin:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 #, fuzzy #| msgid "Tuned:" +msgctxt "@label tv show" msgid "End:" msgstr "Eyarkirî:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -1059,116 +1164,146 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanal" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 #, fuzzy #| msgid "Cable" msgctxt "remove all items from a list" msgid "Clear" msgstr "Kablo" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channels" msgid "Channel Scan" msgstr "Kanal" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 #, fuzzy #| msgid "Start scan" msgid "Start Scan" msgstr "Lê nihêrîn bide destpê kirin" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Sinyal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Eyarkirî:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Parzûn" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Azade ku bifire" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radyo" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Peydaker:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy #| msgid "Add filtered" msgid "Add Filtered" msgstr "Yên hatine parzûn kirin lê zêde bike" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 #, fuzzy #| msgid "Add selected" msgid "Add Selected" msgstr "Yê hilbijartî lê zêde bike" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 #, fuzzy #| msgid "Scan results" msgid "Scan Results" msgstr "Encamên Lê nihêrîn ê" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 #, fuzzy #| msgid "Current transponder" msgid "Current Transponder" msgstr "Bersîvdar(sînyalên radyo re) ê heyî" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Stop scan" msgid "Stop Scan" msgstr "Lê nihêrîn ê rawestîne " -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Channels" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Kanal Mîhang Bike" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Lêgere:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channels" msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1223,34 +1358,34 @@ msgid "Random" msgstr "Radyo" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add satellite" msgid "Add Subtitle" msgstr "Dûvelang lê zêde bike" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgid "Remove satellite" msgctxt "rename an entry in a list" msgid "Rename" msgstr "Dûvelangê rake" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Play" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Lê Bide" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Play Video CD" msgctxt "file filter" msgid "Subtitle Files" msgstr "CD ya Vîdeoyê Lê Bide" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1259,6 +1394,47 @@ msgstr "" #, fuzzy +#~| msgid "Channels" +#~ msgid "Channel Settings" +#~ msgstr "Kanal" + +#~ msgid "Name" +#~ msgstr "Nav" + +#, fuzzy +#~| msgid "Remove satellite" +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Dûvelangê rake" + +#, fuzzy +#~| msgid "Remove satellite" +#~ msgid "Remove" +#~ msgstr "Dûvelangê rake" + +#, fuzzy +#~| msgid "New" +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nû" + +#, fuzzy +#~| msgid "Channels" +#~ msgid "Channel" +#~ msgstr "Kanal" + +#, fuzzy +#~| msgid "Configuration:" +#~ msgid "Duration" +#~ msgstr "Mîhengkirin:" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nav" + +#, fuzzy #~| msgid "Scan file last updated
on %1" #~ msgctxt "program guide" #~ msgid "Program successfully scheduled." @@ -1316,9 +1492,6 @@ #~ msgid "Channel search" #~ msgstr "Lêgerîna kanalan" -#~ msgid "Edit channel" -#~ msgstr "Kanalê biguherîne" - #~ msgid "Change icon" #~ msgstr "Sembolê Biguherîne" diff -Nru kaffeine-1.1/po/lt/kaffeine.po kaffeine-1.2.2/po/lt/kaffeine.po --- kaffeine-1.1/po/lt/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/lt/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,17 +7,17 @@ msgstr "" "Project-Id-Version: l 10n\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2009-06-06 20:46+0300\n" "Last-Translator: Andrius Štikonas \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10==1 && n%100!=11 ? 1 : n" -"%10>=2 && (n%100<10 || n%100>=20) ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10==1 && n%100!=11 ? 1 : n%" +"10>=2 && (n%100<10 || n%100>=20) ? 2 : 3);\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -25,117 +25,154 @@ msgid "A media player for KDE with digital TV support." msgstr "KDE media grotuvas su skaitmeninės TV palaikymu." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007-2009 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2009 Kaffeine autoriai" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Prižiūrėtojas" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Groti failą" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Groti Audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Groti Video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Groti DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Skaitmeninė TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 #, fuzzy #| msgid "Configuration:" msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Konfigūracija:" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Viso ekrano veiksena" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 #, fuzzy #| msgid "Configuration:" msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Konfigūracija:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Failas" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Atverti URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Groti Audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Groti Video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Groti DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Groti DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Grojimas" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Grojaraštis" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televizija" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Nustatymai" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Pradėti" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Grojimas" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Grojaraštis" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televizija" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgctxt "playlist menu" #| msgid "Repeat" @@ -143,118 +180,126 @@ msgid "(deprecated option)" msgstr "Kartoti" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Atverti URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Įveskite URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Groti" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauzė" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stabdyti" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Viso ekrano veiksena" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Audio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 #, fuzzy #| msgid "Increase Volume" msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Pagarsinti" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 #, fuzzy #| msgid "Decrease Volume" msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Patildyti" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 #, fuzzy #| msgid "Mute Volume" msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Išjungti garsą" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgctxt "aspect ratio" #| msgid "Automatic" @@ -262,12 +307,12 @@ msgid "Automatic" msgstr "Automatinis" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 #, fuzzy #| msgctxt "aspect ratio" #| msgid "4:3" @@ -275,7 +320,7 @@ msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 #, fuzzy #| msgctxt "aspect ratio" #| msgid "16:9" @@ -283,83 +328,88 @@ msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dvigubas dydis" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Select Folder" msgid "Seek Slider" msgstr "Pasirinkite aplanką" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "&File" msgctxt "dvd navigation" msgid "Title" msgstr "&Failas" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 #, fuzzy #| msgid "Angle" msgctxt "dvd navigation" msgid "Angle" msgstr "Kampas" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 #, fuzzy #| msgctxt "file filter description" #| msgid "Supported media files" @@ -367,7 +417,7 @@ msgid "Supported Media Files" msgstr "Palaikomi media failai" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 #, fuzzy #| msgctxt "file filter description" #| msgid "All files" @@ -387,7 +437,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -440,163 +490,190 @@ msgid "Your emails" msgstr "stikonas@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontali" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikali" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Apskritiminė kairioji" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Apskritiminė dešinioji" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Pavadinimas" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanalas" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Numeris" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Keisti" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgctxt "remove an item from a list" +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Pašalinti" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanalo nustatymai" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontali" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikali" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Apskritiminė kairioji" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Apskritiminė dešinioji" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanalas" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Pavadinimas:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Numeris:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Dažnis (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Moduliacija:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Poliarizacija:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchija:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Konfigūruoti televiziją" @@ -624,7 +701,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -653,309 +730,359 @@ msgid "[W -180 ... 180 E]" msgstr "[V -180 ... 180 R]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Bendri nustatymai" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Įrenginys %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 #, fuzzy #| msgctxt "playlist menu" #| msgid "Repeat" msgid "Reset" msgstr "Kartoti" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgctxt "remove an item from a list" -#| msgid "Remove" -msgid "Remove" -msgstr "Pašalinti" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 #, fuzzy #| msgid "DVB-S" msgid "DVB-S2" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Antžeminė" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoskanavimas" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Pavadinimas:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Konfigūracija:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 nustatymai" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB nustatymai" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Pridėti palydovą" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Palydovas" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Pradėti" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Trukmė" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Ieškoti:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 – %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Pradėti" + +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Trukmė" + +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "&File" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "&Failas" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." msgstr "" -#: dvb/dvbrecording.cpp:166 +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +msgid "No available device found." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanalas" - -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Naujas" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Pavadinimas" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Pavadinimas:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanalas:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Pradėti:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Pradėti" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Trukmė:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Baigti:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 #, fuzzy #| msgctxt "playlist menu" #| msgid "Repeat" +msgctxt "@label recording" msgid "Repeat:" msgstr "Kartoti" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -976,100 +1103,130 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanalai" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Išvalyti" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanalų skanavimas" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Pradėti skanavimą" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signalas:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtras" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radijas" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Tiekėjas:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Stabdyti skanavimą" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Konfigūruoti televiziją" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Ieškoti:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channel:" msgctxt "osd" msgid "Channel: %1_" msgstr "Kanalas:" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1124,13 +1281,13 @@ msgid "Random" msgstr "Radijas" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Pridėti palydovą" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgctxt "remove an item from a list" #| msgid "Remove" @@ -1138,14 +1295,14 @@ msgid "Rename" msgstr "Pašalinti" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Playlist" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Grojaraštis" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgctxt "file filter description" #| msgid "All files" @@ -1153,7 +1310,7 @@ msgid "Subtitle Files" msgstr "Visi failai" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1161,6 +1318,50 @@ "*.pls|PLS Playlist" msgstr "" +#~ msgid "Channel Settings" +#~ msgstr "Kanalo nustatymai" + +#~ msgid "Name" +#~ msgstr "Pavadinimas" + +#~ msgid "Edit" +#~ msgstr "Keisti" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Pašalinti" + +#, fuzzy +#~| msgctxt "remove an item from a list" +#~| msgid "Remove" +#~ msgid "Remove" +#~ msgstr "Pašalinti" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Pradėti" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Pradėti:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Naujas" + +#~ msgid "Duration" +#~ msgstr "Trukmė" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Pavadinimas" + #~ msgctxt "playlist menu" #~ msgid "Shuffle" #~ msgstr "Maišyti" diff -Nru kaffeine-1.1/po/mai/kaffeine.po kaffeine-1.2.2/po/mai/kaffeine.po --- kaffeine-1.1/po/mai/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/mai/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2009-04-21 23:39+0530\n" "Last-Translator: Sangeeta Kumari \n" "Language-Team: Maithili \n" @@ -19,7 +19,7 @@ "\n" "\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "" @@ -27,348 +27,394 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "पूर्ण स्क्रीन मोड" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "फाइल (&F)" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "" + +#: mainwindow.cpp:322 #, fuzzy #| msgid "Play" msgid "&Playback" msgstr "बजाउ" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 #, fuzzy #| msgid "Play" msgctxt "menu bar" msgid "Play&list" msgstr "बजाउ" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "जमावट (&S)" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 #, fuzzy #| msgid "Play" msgid "Playback" msgstr "बजाउ" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 #, fuzzy #| msgid "Play" msgid "Playlist" msgstr "बजाउ" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 #, fuzzy #| msgid "Start in fullscreen mode" msgid "Start in full screen mode" msgstr "पूर्णस्क्रीन मोड आरंभ करू" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "(deprecated option)" msgstr "चैनल मेटाबू" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play TV channel" msgstr "चैनल मेटाबू" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 #, fuzzy #| msgid "Delete channel" msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "चैनल मेटाबू" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "यूआरएल भरू:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Position" +msgctxt "@title:window" msgid "Jump to Position" -msgstr "" +msgstr "स्थिति" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "पछिला" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "बजाउ" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "ठहरू" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "रोकू" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "अगिला" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "पूर्ण स्क्रीन मोड" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 #, fuzzy #| msgid "off" msgctxt "subtitle selection entry" msgid "off" msgstr "बन्न" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Audio" msgctxt "'Playback' menu" msgid "Audio" msgstr "ऑडियो" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "&View" msgctxt "'Playback' menu" msgid "Video" msgstr "दृश्य (&V)" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgid "Audio" msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "ऑडियो" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 #, fuzzy #| msgid "Audio" msgid "Automatic Resize" msgstr "ऑडियो" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 #, fuzzy #| msgid "off" msgctxt "automatic resize" msgid "Off" msgstr "बन्न" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "Title" msgctxt "dvd navigation" msgid "Title" msgstr "शीर्षक" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 #, fuzzy #| msgid "Chapter" msgctxt "dvd navigation" msgid "Chapter" msgstr "अध्याय" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 #, fuzzy #| msgid "Angle" msgctxt "dvd navigation" msgid "Angle" msgstr "कोण" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -385,7 +431,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 #, fuzzy #| msgid "Stop" msgctxt "osd" @@ -442,165 +488,189 @@ msgid "Your emails" msgstr "sangeeta09@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "क्षैतिज" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "लम्बवत" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "नाम" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "चैनल" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "संख्या" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "संपादन" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 #, fuzzy #| msgid "Remove" -msgctxt "remove an item from a list" +msgctxt "@action" msgid "Remove" msgstr "हटाबू" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "क्षैतिज" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "लम्बवत" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "चैनल" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "नाम:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number" +msgctxt "@label tv channel" msgid "Number:" -msgstr "" +msgstr "संख्या" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "श्रोत:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "" @@ -628,7 +698,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -657,311 +727,354 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "सामान्य विकल्प" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -#, fuzzy -#| msgid "Remove" -msgid "Remove" -msgstr "हटाबू" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 #, fuzzy #| msgid "Audio" msgid "Autoscan" msgstr "ऑडियो" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "श्रोत:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 #, fuzzy #| msgid "Source:" msgid "No Source" msgstr "श्रोत:" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "नाम:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 #, fuzzy #| msgid "Position" msgid "Positions Rotor" msgstr "स्थिति" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, fuzzy, kde-format #| msgid "&Settings" msgid "LNB %1 Settings" msgstr "जमावट (&S)" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 #, fuzzy #| msgid "&Settings" msgid "LNB Settings" msgstr "जमावट (&S)" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "स्थिति" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "शुरू करू" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "अवधि" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "शीर्षक" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "खोजू:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "अवधि" + +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "शीर्षक" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "चैनल" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 #, fuzzy #| msgid "New" -msgctxt "add a new item to a list" +msgctxt "@action" msgid "New" msgstr "नवीन" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "नाम" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "नाम:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "चैनलः" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Search:" +msgctxt "@label tv show" +msgid "Start:" +msgstr "खोजू:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "अवधिः" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "अंत:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -982,106 +1095,134 @@ msgid "SNR" msgstr "" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "चैनल" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 #, fuzzy #| msgid "Channel" msgid "Channel Scan" msgstr "चैनल" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "फिल्टर" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "रेडियो" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 #, fuzzy #| msgid "Filter" msgid "Add Filtered" msgstr "फिल्टर" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 #, fuzzy #| msgid "Stop" msgid "Stop Scan" msgstr "रोकू" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "खोजू:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, fuzzy, kde-format #| msgid "Channel:" msgctxt "osd" msgid "Channel: %1_" msgstr "चैनलः" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1134,30 +1275,30 @@ msgid "Random" msgstr "रेडियो" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 #, fuzzy #| msgid "Remove" msgctxt "rename an entry in a list" msgid "Rename" msgstr "हटाबू" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 #, fuzzy #| msgid "Play" msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "बजाउ" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1165,6 +1306,50 @@ "*.pls|PLS Playlist" msgstr "" +#~ msgid "Name" +#~ msgstr "नाम" + +#~ msgid "Edit" +#~ msgstr "संपादन" + +#, fuzzy +#~| msgid "Remove" +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "हटाबू" + +#, fuzzy +#~| msgid "Remove" +#~ msgid "Remove" +#~ msgstr "हटाबू" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "शुरू करू" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "शुरू करू" + +#, fuzzy +#~| msgid "New" +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "नवीन" + +#~ msgid "Duration" +#~ msgstr "अवधि" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "नाम" + #, fuzzy #~| msgid "Remove" #~ msgid "Remove All" diff -Nru kaffeine-1.1/po/nb/kaffeine.po kaffeine-1.2.2/po/nb/kaffeine.po --- kaffeine-1.1/po/nb/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/nb/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,26 +1,26 @@ # Translation of kaffeine to Norwegian Bokmål # # Bjørn Kvisli , 2008. -# Bjørn Steensrud , 2009, 2010. +# Bjørn Steensrud , 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: KDE 4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-13 05:47+0200\n" -"PO-Revision-Date: 2010-06-11 07:41+0200\n" +"POT-Creation-Date: 2011-03-25 03:24+0100\n" +"PO-Revision-Date: 2011-02-24 14:35+0100\n" "Last-Translator: Bjørn Steensrud \n" "Language-Team: Norwegian Bokmål \n" +"Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 1.0\n" -"Language: nb\n" +"X-Generator: Lokalize 1.1\n" "X-Environment: kde\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,312 +28,354 @@ msgid "A media player for KDE with digital TV support." msgstr "En mediaspiller for KDE med støtte for digital-TV." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2010 Kaffeine-forfatterne" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Vedlikeholder" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Spill av fil" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Spill lyd-CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Spill video-CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Spill DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digital-TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:204 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Sett opp Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:209 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Visningsmodus ved oppstart:" + +#: mainwindow.cpp:223 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normalmodus" + +#: mainwindow.cpp:225 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimal modus" + +#: mainwindow.cpp:227 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Fullskjermmodus" + +#: mainwindow.cpp:229 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Husk siste innstilling" + +#: mainwindow.cpp:234 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Varighet for kort hopp:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:242 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Varighet for langt hopp:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:281 msgid "&File" msgstr "&Fil" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Åpne URL" +#: mainwindow.cpp:288 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Åpne URL …" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:299 mainwindow.cpp:503 msgid "Play Audio CD" msgstr "Spill lyd-CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:303 mainwindow.cpp:504 msgid "Play Video CD" msgstr "Spill video-CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:307 mainwindow.cpp:505 msgid "Play DVD" msgstr "Spill DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:311 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Spill DVD-mappe" + +#: mainwindow.cpp:321 msgid "&Playback" msgstr "Avs&pilling" -#: mainwindow.cpp:225 +#: mainwindow.cpp:324 msgctxt "menu bar" msgid "Play&list" msgstr "Spi&lleliste" -#: mainwindow.cpp:229 +#: mainwindow.cpp:328 msgid "&Television" msgstr "&Fjernsyn" -#: mainwindow.cpp:233 +#: mainwindow.cpp:332 msgid "&Settings" msgstr "&Innstillinger" -#: mainwindow.cpp:253 +#: mainwindow.cpp:351 msgid "Start" msgstr "Start" -#: mainwindow.cpp:254 +#: mainwindow.cpp:352 msgid "Playback" msgstr "Avspilling" -#: mainwindow.cpp:255 +#: mainwindow.cpp:353 msgid "Playlist" msgstr "Spilleliste" -#: mainwindow.cpp:257 +#: mainwindow.cpp:355 msgid "Television" msgstr "Fjernsyn" -#: mainwindow.cpp:359 +#: mainwindow.cpp:502 msgid "Start in full screen mode" msgstr "Start med fullskjerm" -#: mainwindow.cpp:363 +#: mainwindow.cpp:506 msgctxt "command line option" msgid "(deprecated option)" msgstr "(frarådet valg)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:507 msgctxt "command line option" msgid "Play TV channel" msgstr "Spill TV-kanal" -#: mainwindow.cpp:365 +#: mainwindow.cpp:508 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Spill sist innstilte TV-kanal" -#: mainwindow.cpp:366 +#: mainwindow.cpp:509 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Dump dvb-data (feilsøkingsvalg)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:510 msgid "Files or URLs to play" msgstr "Filer eller URL-er som skal spilles" -#: mainwindow.cpp:511 +#: mainwindow.cpp:663 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Åpne URL" + +#: mainwindow.cpp:663 msgid "Enter a URL:" msgstr "Skriv inn en nettadresse:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Hopp til posisjon" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Oppgi en posisjon:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Forrige" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Spill" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pause" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stopp" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Neste" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Fullskjermmodus" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimal modus" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "av" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Lyd" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Øk lydstyrke" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Minsk lydstyrke" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Demp lyd" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Linjedobler" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Bredde/høyde-forhold" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatisk" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Tilpass til vinduet" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Endre størrelse automatisk" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Av" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Opprinnelig størrelse" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dobbelt størrelse" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Lydstyrke-glidebryter" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Hopp til posisjon …" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Hopp over" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Hopp %1s bakover" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Hopp %1s forover" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Søkeglider" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Slå meny av/på" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Tittel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapittel" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Vinkel" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Bytt mellom å vise forløpt og gjenstående tid" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Støttede mediafiler" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Alle Filer" @@ -348,7 +390,7 @@ msgid "Exit Minimal Mode" msgstr "Avslutt minimal modus" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Stoppet" @@ -399,163 +441,171 @@ msgid "Your emails" msgstr "bjorn.kvisli@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Installer SQLite-programtillegget for Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Kan ikke åpne SQLite-databasen." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Internt verktøy for Kaffeine." -#: dvb/dvbchannelui.cpp:82 +#: dvb/dvbchanneldialog.cpp:79 msgid "Horizontal" msgstr "Vannrett" -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:80 msgid "Vertical" msgstr "Loddrett" -#: dvb/dvbchannelui.cpp:84 +#: dvb/dvbchanneldialog.cpp:81 msgid "Circular left" msgstr "Sirkulært venstre" -#: dvb/dvbchannelui.cpp:85 +#: dvb/dvbchanneldialog.cpp:82 msgid "Circular right" msgstr "Sirkulært høyre" -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Navn" +#: dvb/dvbchanneldialog.cpp:270 dvb/dvbepgdialog.cpp:288 +#: dvb/dvbepgdialog.cpp:449 dvb/dvbrecordingdialog.cpp:189 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:272 msgid "Number" msgstr "Nummer" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:522 dvb/dvbrecordingdialog.cpp:62 +msgctxt "@action" msgid "Edit" -msgstr "Rediger" +msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:530 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:69 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" -msgstr "Fjern" +msgstr "" -#: dvb/dvbchannelui.cpp:739 +#: dvb/dvbchanneldialog.cpp:547 msgctxt "message box" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"Kanalene blir sortert etter nummer for at dra-og-slipp skal bli mulig.\n" +"Vil du fortsette?" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:596 msgid "Channel Settings" msgstr "Kanalinnstillinger" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:605 dvb/dvbconfigdialog.cpp:680 msgid "Name:" msgstr "Navn:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:614 msgid "Number:" msgstr "Nummer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:623 dvb/dvbconfigdialog.cpp:671 +#: dvb/dvbscandialog.cpp:269 msgid "Source:" msgstr "Kilde:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:631 dvb/dvbchanneldialog.cpp:653 +#: dvb/dvbchanneldialog.cpp:671 dvb/dvbchanneldialog.cpp:692 msgid "Frequency (MHz):" msgstr "Frekvens (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:634 dvb/dvbchanneldialog.cpp:655 msgid "Symbol rate (kS/s):" msgstr "Symbol rate (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:636 dvb/dvbchanneldialog.cpp:661 +#: dvb/dvbchanneldialog.cpp:676 dvb/dvbchanneldialog.cpp:695 msgid "Modulation:" msgstr "Modulasjon:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:638 dvb/dvbchanneldialog.cpp:657 +#: dvb/dvbchanneldialog.cpp:678 msgid "FEC rate:" msgstr "FEC-rate:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:651 msgid "Polarization:" msgstr "Polarisering:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:663 msgid "Roll-off:" msgstr "Demping:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:674 msgid "Bandwidth:" msgstr "Båndbredde:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:680 msgid "FEC rate LP:" msgstr "FEC-rate LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:682 msgid "Transmission mode:" msgstr "Overføringsmodus:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:684 msgid "Guard interval:" msgstr "Guard-intervall:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:686 msgid "Hierarchy:" msgstr "Hierarki:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:703 msgid "PMT PID:" msgstr "PMT-PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:710 msgid "Video PID:" msgstr "Video-PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:715 msgid "Subtitle PID:" msgstr "Undertekst-PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:725 msgid "Teletext PID:" msgstr "Teletekst-PID" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:736 msgid "Network ID:" msgstr "Nettverks-ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:743 msgid "Transport stream ID:" msgstr "Transportstrøm-ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:750 msgid "Service ID:" msgstr "Tjeneste-ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:757 msgid "Audio channel:" msgstr "Lydkanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:781 msgid "Scrambled:" msgstr "Omstokket:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Sett opp fjernsyn" @@ -612,26 +662,30 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 … 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Generelle valg" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Enhet: %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Oppdater skannedata" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Laster ned skannedata" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Feil ved oppdatering av skannedata." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -639,275 +693,280 @@ "Skannedata oppdatert. Endringer tas i bruk\n" "etter at oppsettsdialogen er lukket." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Navn: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Gå til venstre" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Tilbakestill" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Fjern" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Gå til høyre" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Enhet ikke tilkoblet." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Bakkesending" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoskann" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoskann med 167 kHz forskyvninger" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoskann Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoskann Italia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoskann Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tidsavbrudd (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Ingen kilde" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Oppsett:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC av/på" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Posisjonsrotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1-innstillinger" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-innstillinger" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Legg til satelitt" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelitt" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posisjon" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Fjern satelitt" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universell LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Selvvalgt LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Bytt frekvens (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Lavbånds LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Høybånds LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Vannrett LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Loddrett LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Begynnelse" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Varighet" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Tittel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:39 +msgctxt "@title:window" msgid "Program Guide" msgstr "Programliste" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Legg kjøreplan for programmet" +#: dvb/dvbepgdialog.cpp:58 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Ta opp programmet" + +#: dvb/dvbepgdialog.cpp:66 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Søk:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" -msgstr "%1
" +msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" -msgstr "%1
" +msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" -msgstr "%1 – %2

" +msgstr "%1 – %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 +#: dvb/dvbepgdialog.cpp:443 dvb/dvbrecordingdialog.cpp:191 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Start" + +#: dvb/dvbepgdialog.cpp:445 dvb/dvbrecordingdialog.cpp:193 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Varighet" + +#: dvb/dvbepgdialog.cpp:447 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Tittel" + +#: dvb/dvbliveview.cpp:207 dvb/dvbliveview.cpp:352 dvb/dvbscandialog.cpp:428 msgctxt "message box" msgid "No available device found." msgstr "Fant ingen tilgjengelig enhet." -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbrecordingdialog.cpp:41 +msgctxt "@title:window" +msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbrecordingdialog.cpp:55 playlist/playlisttab.cpp:416 +msgctxt "@action" +msgid "New" msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" - -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" -msgid "Recording Schedule" -msgstr "Timeplan for opptak" - -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" -msgid "New" -msgstr "Ny" +#: dvb/dvbrecordingdialog.cpp:187 +msgctxt "@title:column recording" +msgid "Name" +msgstr "" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:281 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" -msgstr "Rediger tidsplanoppføring" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:289 +msgctxt "@label recording" +msgid "Name:" +msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:302 +msgctxt "@label tv show" msgid "Channel:" -msgstr "Kanal:" +msgstr "" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Begynnelse:" +#: dvb/dvbrecordingdialog.cpp:312 +msgctxt "@label tv show" +msgid "Start:" +msgstr "" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:320 +msgctxt "@label tv show" msgid "Duration:" -msgstr "Varighet:" +msgstr "" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:329 +msgctxt "@label tv show" msgid "End:" -msgstr "Slutt:" +msgstr "" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:333 +msgctxt "@label recording" msgid "Repeat:" -msgstr "Gjenta:" +msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:337 +msgctxt "@action next to 'Repeat:'" msgid "Never" -msgstr "Aldri" +msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:341 +msgctxt "@action next to 'Repeat:'" msgid "Daily" -msgstr "Daglig" +msgstr "" #: dvb/dvbscandialog.cpp:46 msgid "0%" @@ -926,99 +985,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanaler" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:256 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Tøm" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:266 msgid "Channel Scan" msgstr "Kanalskanning" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:274 dvb/dvbscandialog.cpp:387 msgid "Start Scan" msgstr "Start skanning" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:286 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:291 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:296 msgid "Tuned:" msgstr "Innstillt:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:309 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:312 msgid "Free to air" msgstr "Fri til luft" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:315 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:318 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:321 msgid "Provider:" msgstr "Leverandør:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:329 msgid "Add Filtered" msgstr "Legg til filtrert" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:333 msgid "Add Selected" msgstr "Legg til utvalgte" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:339 msgid "Scan Results" msgstr "Skanneresultater" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:355 msgid "Current Transponder" msgstr "Gjeldende transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:433 msgid "Stop Scan" msgstr "Stopp skann" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programliste" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Timeplan for opptak" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Øyeblikksopptak" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Sett opp fjernsyn …" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Søk:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:278 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:290 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine holder på med programopptak.\n" +"Er du sikker på at du vil lukke programmet?" + +#: dvb/dvbtab.cpp:300 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine har programopptak på planen.\n" +"Er du sikker på at du vil lukke programmet?" + +#: dvb/dvbtab.cpp:359 msgctxt "osd" msgid "Instant Record Started" msgstr "Øyeblikksopptak startet" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:363 dvb/dvbtab.cpp:373 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Øyeblikksopptak stoppet" @@ -1063,26 +1154,26 @@ msgid "Random" msgstr "Tilfeldig" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Legg til undertekst" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Gi nytt navn" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Spilleliste uten navn" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Undertekst-filer" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/nds/kaffeine.po kaffeine-1.2.2/po/nds/kaffeine.po --- kaffeine-1.1/po/nds/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/nds/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: kaffeine4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-07-10 07:33+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2010-12-17 08:33+0100\n" "Last-Translator: Manfred Wiese \n" "Language-Team: Low Saxon \n" "MIME-Version: 1.0\n" @@ -17,8 +17,9 @@ "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language: nds\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -26,312 +27,363 @@ msgid "A media player for KDE with digital TV support." msgstr "En Medienspeler för KDE, de Digitaalfeernsehn ünnerstütt" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007-2010, de Kaffeine-Schrievers" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Pleger" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Datei afspelen" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Klang-CD afspelen" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Video-CD afspelen" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 DVD afspelen" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitaalfeernsehn" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kaffeine instellen" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Minimaalbedrief" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimaalbedrief" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Heelschirmbedrief" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Kort Jumpduer:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Lang Jumpduer:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Datei" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "URL opmaken" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Adress opmaken..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Audio-CD afspelen" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Video-CD afspelen" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD afspelen" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD-Orner afspelen" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Afspelen" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Afspee&llist" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Feernsehn" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Instellen" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Anfangen" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Afspelen" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Afspeellist" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Feernsehn" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "In Heelschirmbedrief starten" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(överhaalt Optschoon)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Feernsehprogramm wiesen" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Tolest instellt Feernsehprogramm afspelen" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "DVB-Daten utgeven (Fehlersöök-Optschoon)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Dateien oder URLs för't Afspelen" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Adress opmaken" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Adress (URL) ingeven:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Na Steed jumpen" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Steed ingeven:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Verleden" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Afspelen" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Anhollen" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Ophollen" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Nakamen" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Heelschirmbedrief" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimaalbedrief" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "ut" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Klang" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Luder maken" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Lieser maken" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Stillmaken" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Utflechten" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Bildproportschoon" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automaatsch" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Na Finster topassen" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Grött automaatsch topassen" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Ut" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Orginaalgrött" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dubbelt Grött" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Luutstärkschuver" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Na Steed jumpen..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Jumpen" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "%1s torüchjumpen" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "%1s vörutjumpen" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Söökschuver" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Menü an-/utmaken" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapitel" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Winkel" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Ansicht twischen aflopen un nablieven Tiet wesseln" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Ünnerstütt Mediendateien" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "All Dateien" @@ -346,7 +398,7 @@ msgid "Exit Minimal Mode" msgstr "Minimaalbedrief utmaken" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Ophollen" @@ -397,163 +449,187 @@ msgid "Your emails" msgstr "s_dibbern@web.de, m.j.wiese@web.de" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Bitte dat SQLite-Moduul för Qt installeren." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "SQLite-Datenbank lett sik nich opmaken." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Intern Hülpprogramm för Kaffeine" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Kimmrecht" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Pielrecht" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Linksdreihen" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Rechtsdreihen" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Naam" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanaal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Nummer" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Bewerken" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Wegmaken" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanaals instellen" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Kimmrecht" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Pielrecht" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Linksdreihen" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Rechtsdreihen" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanaal bewerken" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Naam:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Nummer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Born:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequenz (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Aftastwedderhalen (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulatschoon:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC-Wedderhalen:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisatschoon:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Bandbreed:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC-LP-Wedderhalen:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Överdreegmetood:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Schuultiet:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Struktuur:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video-PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Ünnertitel-PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Videotext-PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Nettwark-PID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Överdreegstroom-ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Deenst-ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Klangkanaal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Verslötelt:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Feernsehn instellen" @@ -581,7 +657,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Tekensett ISO 8859-1 ansteed vun ISO 6937 bruken:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Söökloopdaten tolest opfrischt op den %1" @@ -610,26 +686,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 O]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Allmeen Optschonen" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Reedschap %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Söökloopdaten ut't Internet opfrischen" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Söökdaten warrt daallaadt" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Söökdaten laat sik nich opfrischen." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -637,273 +719,336 @@ "Söökdaten mit Spood opfrischt. De Ännern warrt na't\n" "Tomaken vun dissen Instellendialoog övernahmen." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Naam: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Na links" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Torüchsetten" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Wegmaken" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Na rechts" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Reedschap nich tokoppelt." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kavel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestersch" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automaatsch Söök" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automaatsch Söök mit 167 kHz Versatz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automaatsch Söök (Australien)" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automaatsch Söök (Italien)" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automaatsch Söök (Taiwan)" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Insteller-Tiet (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Born:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Keen Born" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Naam:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Instellen:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC-Schalter" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS-Antennendreiher" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Positschoon-Antennendreiher" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB-%1-Instellen" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-Instellen" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Satellit tofögen" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Positschoon" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Satellit wegmaken" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universaal-LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-Band-LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-Band-Mehrpünkt-LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Sünner-LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Wesselfrequenz (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Sietband-LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Hoochband-LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Kimmrecht LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Pielrecht LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Anfang" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Duer" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Programm" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Programmplaan" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Opnahmplaan" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Söken:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Keen passen Reedschap funnen" +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Start" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Duer" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titel" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanaal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Keen passen Reedschap funnen" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Keen passen Reedschap funnen" + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Opnahmplaan" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nieg" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Naam" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Plaanindrag bewerken" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Naam:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanaal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Anfang:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Anfangen" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Duer:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Enn:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Wedderhalen:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nienich" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Elk Dag" @@ -924,99 +1069,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanaals" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Leddig maken" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Söökloop" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Söök anfangen" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signaal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Instellt:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Free na Luft" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Anbeder:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Filterte tofögen" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Utsöchte tofögen" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Söökresultaten" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Aktuell Transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Söökloop anhollen" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programm" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Opnahmplaan" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Direktopnahm" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Feernsehn instellen..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Söken:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanaal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine nimmt opstunns wat op.\n" +"Wullt Du dat Programm redig utmaken?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Direktopnahm start" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Direktopnahm anhollen" @@ -1061,26 +1236,26 @@ msgid "Random" msgstr "Tofällig" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Ünnertitel tofögen" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Ümnömen" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Afspeellist ahn Naam" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Ünnertitel-Dateien" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1093,6 +1268,52 @@ "\n" "*.pls|PLS-Afspeellist" +#~ msgid "Channel Settings" +#~ msgstr "Kanaals instellen" + +#~ msgid "Name" +#~ msgstr "Naam" + +#~ msgid "Edit" +#~ msgstr "Bewerken" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Wegmaken" + +#~ msgid "Remove" +#~ msgstr "Wegmaken" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Anfang" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Anfang:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nieg" + +#~ msgid "Channel" +#~ msgstr "Kanaal" + +#~ msgid "Duration" +#~ msgstr "Duer" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Programmplaan" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Naam" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Opfrischen" @@ -1180,9 +1401,6 @@ #~ msgid "Channel search" #~ msgstr "Kanaalsöök" -#~ msgid "Edit channel" -#~ msgstr "Kanaal bewerken" - #~ msgid "Change icon" #~ msgstr "Lüttbild wesseln" diff -Nru kaffeine-1.1/po/nl/kaffeine.po kaffeine-1.2.2/po/nl/kaffeine.po --- kaffeine-1.1/po/nl/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/nl/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,14 +5,14 @@ # Freek de Kruijf , 2008, 2009. # Kristof Bal , 2008, 2009. # Rinse de Vries , 2009. -# Freek de Kruijf , 2010. +# Freek de Kruijf , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-26 14:08+0200\n" -"Last-Translator: Freek de Kruijf \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-31 17:49+0200\n" +"Last-Translator: Freek de Kruijf \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +20,7 @@ "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,312 +28,354 @@ msgid "A media player for KDE with digital TV support." msgstr "Een mediaspeler voor KDE met ondersteuning voor digitale TV." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010, de auteurs van Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Onderhouder" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Bestand afspelen" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Audio-cd afspelen" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Video-cd afspelen" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" -msgstr "&4 DVD afspelen" +msgstr "&4 dvd afspelen" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitale tv" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kaffeine instellen" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Weergavemodus bij opstarten:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normale modus" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimale modus" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Volledig schermmodus" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Laatste instelling onthouden" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Tijdsduur van kort overslaan:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Tijdsduur van lang overslaan:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Bestand" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "URL-adres openen" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "URL-adres openen..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Audio-cd afspelen" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Video-cd afspelen" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" -msgstr "DVD afspelen" +msgstr "Dvd afspelen" + +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Dvd-map afspelen" -#: mainwindow.cpp:222 +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Afspelen" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Afspee&llijst" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisie" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Instellingen" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Starten" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Afspelen" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Afspeellijst" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisie" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Starten in volledig scherm" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(verouderde optie)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "TV-kanaal afspelen" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Laatst afgestemde TV-kanaal afspelen" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "DVB-gegevens dumpen (verouderde optie)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Af te spelen bestanden of URL's" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL-adres openen" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Voer een URL-adres in:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Naar positie springen" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Voer een positie in:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Vorige" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Afspelen" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauze" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stoppen" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Volgende" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Volledig scherm" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimaal" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "uit" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Geluid" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Volume verhogen" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Volume verlagen" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Volume dempen" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Interlace weghalen" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Beeldverhouding" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatisch" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Passend in venster" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatisch herschalen" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Uit" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Oorspronkelijke grootte" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dubbele grootte" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Volumeschuifbalk" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Naar positie springen..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Overslaan" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "%1 s terugspoelen" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "%1 s vooruitspoelen" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Zoekschuifbalk" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Menu omschakelen" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Hoofdstuk" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Hoek" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Schakel tussen tonen van verlopen tijd en overblijvende tijd" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Ondersteunde mediabestanden" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Alle bestanden" @@ -348,7 +390,7 @@ msgid "Exit Minimal Mode" msgstr "Minimaal verlaten" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Gestopt" @@ -392,64 +434,55 @@ #: rc.cpp:1 msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "Wilbert Berendsen,Rinse de Vries,Kristof Bal" +msgstr "Wilbert Berendsen,Rinse de Vries,Kristof Bal,Freek de Kruijf" #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "wilbert@kde.nl,rinsedevries@kde.nl,kristof.bal@gmail.com" +msgstr "" +"wilbert@kde.nl,rinsedevries@kde.nl,kristof.bal@gmail.com,freekdekruijf@kde.nl" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Gaarne de Qt SQLite-plugin installeren." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Kan de SQLite-database niet openen." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Intern hulpmiddel voor Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontaal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Verticaal" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Linksom" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Rechtsom" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Naam" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanaal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" -msgstr "Aantal" +msgstr "Nummer" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Bewerken" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Verwijderen" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -457,107 +490,127 @@ "De kanalen zullen op nummer gesorteerd worden om slepen en laten vallen toe " "te staan. Wilt u doorgaan?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanaalinstellingen" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontaal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Verticaal" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Linksom" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Rechtsom" + +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanaal bewerken" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Naam:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "Nummer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Bron:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequentie (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symboolsnelheid (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulatie:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC-rate:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisatie:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Bandbreedte:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC-rate LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Transmissiemodus:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Guardinterval:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hiërarchie:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT-PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video-pid:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Ondertitel PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teletext-pid:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Network-ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Transportstroom-id:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Dienst-pid:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Audiokanaal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Gecodeerd:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Televisie instellen" @@ -585,7 +638,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "ISO 8859-1 tekenset gebruiken in plaats van ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Scangegevens laatst bijgewerkt op %1" @@ -614,26 +667,30 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Algemene opties" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Apparaat %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Scandata bijwerken" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Scangegevens downloaden" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Scandata bijwerken is mislukt" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,277 +698,296 @@ "Scangegevens met succes bijgewerkt. Wijzigingen zijn\n" "effectief nadat u de configuratiedialoog hebt gesloten." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Naam: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Naar links" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Terugzetten" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Verwijderen" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Naar rechts" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Apparaat is verbonden." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Antenne" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoscan" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoscan met 167 kHz offsets" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoscan Australië" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoscan Italië" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoscan Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Verlooptijd van tuner:" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Bron:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Geen bron" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Naam:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuratie:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC-switch" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS-rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Posities van rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Instellingen van LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-instellingen" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Satelliet toevoegen" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelliet" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Positie" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Satelliet verwijderen" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universele LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Aangepaste LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frequentie wisselen (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Lowband LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Highband LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontale LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Verticale LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Begin" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Tijdsduur" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Programmagids" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Planning programma" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Uitzending opnemen" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Zoeken:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Geen beschikbaar apparaat gevonden." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Starten" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine is nu programma's aan het opnemen.\n" -"Wilt u toch de applicatie sluiten?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Tijdsduur" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine bevat geplande opnamen.\n" -"Wilt u toch de applicatie sluiten?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titel" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanaal" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "Alle apparaten zijn gebruikt voor opnamen." + +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "Geen apparaat gevonden." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Geen beschikbaar apparaat gevonden." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Opname planning" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "Nieuw" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Naam" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Planningitem bewerken" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Naam:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanaal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Begin:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" -msgstr "Tijdsduur:" +msgstr "Duur:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Einde:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Herhalen:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nooit" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Dagelijks" @@ -932,99 +1008,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanalen" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Wissen" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanaal scannen" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Scan starten" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signaal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Tuned:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Vrij in de lucht" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Provider:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Gefilterde toevoegen" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Selectie toevoegen" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Scanresultaten" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Huidige transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Scan stoppen" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programmagids" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Opname planning" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Direct opnemen" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Televisie instellen..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Zoeken:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanaal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine is nu programma's aan het opnemen.\n" +"Wilt u toch de applicatie sluiten?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine bevat geplande opnamen.\n" +"Wilt u toch de applicatie sluiten?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Direct opnemen gestart" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Direct opnemen gestopt" @@ -1069,26 +1177,26 @@ msgid "Random" msgstr "Willekeurig" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Ondertitel toevoegen" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Hernoemen" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Afspeellijst zonder naam" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Bestanden met ondertitels" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1099,6 +1207,49 @@ "*.m3u|M3U-afspeellijst\n" "*.pls|PLS-afspeellijst" +#~ msgid "Channel Settings" +#~ msgstr "Kanaalinstellingen" + +#~ msgid "Name" +#~ msgstr "Naam" + +#~ msgid "Edit" +#~ msgstr "Bewerken" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Verwijderen" + +#~ msgid "Remove" +#~ msgstr "Verwijderen" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Begin" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Begin:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nieuw" + +#~ msgid "Duration" +#~ msgstr "Tijdsduur" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Planning programma" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Naam" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Verversen" diff -Nru kaffeine-1.1/po/nn/kaffeine.po kaffeine-1.2.2/po/nn/kaffeine.po --- kaffeine-1.1/po/nn/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/nn/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -4,20 +4,20 @@ msgstr "" "Project-Id-Version: KDE 4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-13 05:47+0200\n" +"POT-Creation-Date: 2011-03-25 03:24+0100\n" "PO-Revision-Date: 2008-11-26 17:46+0100\n" "Last-Translator: Karl Ove Hufthammer \n" "Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"Language: nn\n" "X-Environment: kde\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "" @@ -25,312 +25,354 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:204 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "" -#: mainwindow.cpp:151 +#: mainwindow.cpp:209 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:223 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:225 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:227 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "" + +#: mainwindow.cpp:229 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:234 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:242 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:281 msgid "&File" msgstr "" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:288 +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:299 mainwindow.cpp:503 msgid "Play Audio CD" msgstr "" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:303 mainwindow.cpp:504 msgid "Play Video CD" msgstr "" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:307 mainwindow.cpp:505 msgid "Play DVD" msgstr "" -#: mainwindow.cpp:222 +#: mainwindow.cpp:311 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "" + +#: mainwindow.cpp:321 msgid "&Playback" msgstr "" -#: mainwindow.cpp:225 +#: mainwindow.cpp:324 msgctxt "menu bar" msgid "Play&list" msgstr "" -#: mainwindow.cpp:229 +#: mainwindow.cpp:328 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:332 msgid "&Settings" msgstr "" -#: mainwindow.cpp:253 +#: mainwindow.cpp:351 msgid "Start" msgstr "" -#: mainwindow.cpp:254 +#: mainwindow.cpp:352 msgid "Playback" msgstr "" -#: mainwindow.cpp:255 +#: mainwindow.cpp:353 msgid "Playlist" msgstr "" -#: mainwindow.cpp:257 +#: mainwindow.cpp:355 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:502 msgid "Start in full screen mode" msgstr "" -#: mainwindow.cpp:363 +#: mainwindow.cpp:506 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:507 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:508 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:509 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:510 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:663 +msgctxt "@title:window" +msgid "Open URL" +msgstr "" + +#: mainwindow.cpp:663 msgid "Enter a URL:" msgstr "" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -345,7 +387,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "" @@ -396,163 +438,169 @@ msgid "Your emails" msgstr "" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 +#: dvb/dvbchanneldialog.cpp:79 msgid "Horizontal" msgstr "" -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:80 msgid "Vertical" msgstr "" -#: dvb/dvbchannelui.cpp:84 +#: dvb/dvbchanneldialog.cpp:81 msgid "Circular left" msgstr "" -#: dvb/dvbchannelui.cpp:85 +#: dvb/dvbchanneldialog.cpp:82 msgid "Circular right" msgstr "" -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" +#: dvb/dvbchanneldialog.cpp:270 dvb/dvbepgdialog.cpp:288 +#: dvb/dvbepgdialog.cpp:449 dvb/dvbrecordingdialog.cpp:189 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" msgstr "" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:272 msgid "Number" msgstr "" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:522 dvb/dvbrecordingdialog.cpp:62 +msgctxt "@action" msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:530 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:69 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "" -#: dvb/dvbchannelui.cpp:739 +#: dvb/dvbchanneldialog.cpp:547 msgctxt "message box" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:596 msgid "Channel Settings" msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:605 dvb/dvbconfigdialog.cpp:680 msgid "Name:" msgstr "" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:614 msgid "Number:" msgstr "" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:623 dvb/dvbconfigdialog.cpp:671 +#: dvb/dvbscandialog.cpp:269 msgid "Source:" msgstr "" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:631 dvb/dvbchanneldialog.cpp:653 +#: dvb/dvbchanneldialog.cpp:671 dvb/dvbchanneldialog.cpp:692 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:634 dvb/dvbchanneldialog.cpp:655 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:636 dvb/dvbchanneldialog.cpp:661 +#: dvb/dvbchanneldialog.cpp:676 dvb/dvbchanneldialog.cpp:695 msgid "Modulation:" msgstr "" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:638 dvb/dvbchanneldialog.cpp:657 +#: dvb/dvbchanneldialog.cpp:678 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:651 msgid "Polarization:" msgstr "" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:663 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:674 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:680 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:682 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:684 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:686 msgid "Hierarchy:" msgstr "" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:703 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:710 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:715 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:725 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:736 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:743 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:750 msgid "Service ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:757 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:781 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "" @@ -609,298 +657,307 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "" - -#: dvb/dvbepg.cpp:269 -msgid "Title" +#: dvb/dvbepgdialog.cpp:39 +msgctxt "@title:window" +msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 -msgid "Program Guide" +#: dvb/dvbepgdialog.cpp:58 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:66 +msgctxt "@label:textbox" +msgid "Search:" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:443 dvb/dvbrecordingdialog.cpp:191 +msgctxt "@title:column tv show" +msgid "Start" msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:445 dvb/dvbrecordingdialog.cpp:193 +msgctxt "@title:column tv show" +msgid "Duration" msgstr "" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:447 +msgctxt "@title:column tv show" +msgid "Title" msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" +#: dvb/dvbliveview.cpp:207 dvb/dvbliveview.cpp:352 dvb/dvbscandialog.cpp:428 +msgctxt "message box" +msgid "No available device found." msgstr "" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbrecordingdialog.cpp:41 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:55 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:187 +msgctxt "@title:column recording" +msgid "Name" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:281 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:289 +msgctxt "@label recording" +msgid "Name:" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:302 +msgctxt "@label tv show" msgid "Channel:" msgstr "" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:312 +msgctxt "@label tv show" +msgid "Start:" msgstr "" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:320 +msgctxt "@label tv show" msgid "Duration:" msgstr "" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:329 +msgctxt "@label tv show" msgid "End:" msgstr "" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:333 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:337 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:341 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -921,99 +978,127 @@ msgid "SNR" msgstr "" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:256 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:266 msgid "Channel Scan" msgstr "" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:274 dvb/dvbscandialog.cpp:387 msgid "Start Scan" msgstr "" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:286 msgid "Signal:" msgstr "" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:291 msgid "SNR:" msgstr "" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:296 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:309 msgid "Filter" msgstr "" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:312 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:315 msgid "Radio" msgstr "" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:318 msgid "TV" msgstr "" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:321 msgid "Provider:" msgstr "" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:329 msgid "Add Filtered" msgstr "" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:333 msgid "Add Selected" msgstr "" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:339 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:355 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:433 msgid "Stop Scan" msgstr "" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:278 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:290 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:300 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:359 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:363 dvb/dvbtab.cpp:373 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1058,26 +1143,26 @@ msgid "Random" msgstr "" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/pa/kaffeine.po kaffeine-1.2.2/po/pa/kaffeine.po --- kaffeine-1.1/po/pa/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/pa/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,17 +7,17 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-05-29 09:56+0530\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2010-10-13 07:59+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "ਕੈਫ਼ੀਨ" @@ -25,314 +25,365 @@ msgid "A media player for KDE with digital TV support." msgstr "KDE ਲਈ ਡਿਜ਼ਿਟਲ ਟੀਵੀ ਸਹਿਯੋਗ ਨਾਲ ਤਿਆਰ ਇੱਕ ਮੀਡਿਆ ਪਲੇਅਰ" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) ੨੦੦੭-੨੦੧੦ Kaffeine ਲੇਖਕ" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "ਪ੍ਰਬੰਧਕ" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 ਫਾਇਲ ਚਲਾਓ" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 ਆਡੀਓ CD ਚਲਾਓ" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 ਵਿਡੀਓ CD ਚਲਾਓ" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 DVD ਚਲਾਓ" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 ਡਿਜ਼ਿਟਲ ਟੀਵੀ" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "ਕੈਫ਼ੀਨ ਸੰਰਚਨਾ" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "ਘੱਟੋ-ਘੱਟ ਮੋਡ" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "ਘੱਟੋ-ਘੱਟ ਮੋਡ" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "ਫਾਇਲ(&F)" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "URL ਖੋਲ੍ਹੋ" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "URL ਖੋਲ੍ਹੋ..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "ਆਡੀਓ CD ਚਲਾਓ" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "ਵਿਡੀਓ CD ਚਲਾਓ" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD ਚਲਾਓ" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD ਫੋਲਡਰ ਚਲਾਓ" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "ਚਲਾਓ(&P)" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "ਪਲੇਅਲਿਸਟ(&l)" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "ਟੈਲੀਵਿਜ਼ਨ(&T)" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "ਸੈਟਿੰਗ(&S)" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "ਸ਼ੁਰੂ" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "ਚਲਾਓ" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "ਪਲੇਅ-ਲਿਸਟ" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "ਟੈਲੀਵਿਜ਼ਨ" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(ਬਰਤਰਫ਼ ਚੋਣ)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "ਟੀਵੀ ਚੈਨਲ ਚਲਾਓ" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "ਆਖਰੀ ਵਾਰ ਚਲਾਇਆ ਟੀਵੀ ਚੈਨਲ ਚਲਾਓ" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "ਚਲਾਉਣ ਲਈ ਫਾਇਲਾਂ ਜਾਂ URL" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "URL ਖੋਲ੍ਹੋ" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "ਇੱਕ URL ਦਿਓ:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "ਸਥਿਤੀ ਉੱਤੇ ਜਾਓ" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "ਇੱਕ ਸਥਿਤੀ ਦਿਓ:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "ਪਿੱਛੇ" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "ਚਲਾਓ" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "ਵਿਰਾਮ" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "ਰੋਕੋ" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "ਅੱਗੇ" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "ਘੱਟੋ-ਘੱਟ ਮੋਡ" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "ਬੰਦ" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "ਆਡੀਓ" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "ਵਾਲੀਅਮ ਵਧਾਓ" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "ਵਾਲੀਅਮ ਘਟਾਓ" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "ਵਾਲੀਅਮ ਚੁੱਪ" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "ਵਿਡੀਓ" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "ਡੀਇੰਟਰਲੇਸ" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "ਅਕਾਰ ਅਨੁਪਾਤ" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "ਆਟੋਮੈਟਿਕ" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "ਵਿੰਡੋ ਮੁਤਾਬਕ ਫਿੱਟ" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "੪:੩" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "੧੬:੯" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "ਆਟੋਮੈਟਿਕ ਮੁੜ-ਆਕਾਰ" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "ਬੰਦ" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "ਅਸਲੀ ਸਾਈਜ਼" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "ਡਬਲ ਸਾਈਜ਼" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "ਵਾਲੀਅਮ ਸਲਾਈਡਰ" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "ਸਥਿਤੀ ਉੱਤੇ ਜਾਓ..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "ਛੱਡੋ" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "%1s ਪਿੱਛੇ ਜਾਓ" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "%1s ਅੱਗੇ ਜਾਓ" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Volume Slider" msgid "Seek Slider" msgstr "ਵਾਲੀਅਮ ਸਲਾਈਡਰ" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "ਮੇਨੂ ਬਦਲੋ" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "ਟਾਈਟਲ" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "ਚੈਪਟਰ" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "ਕੋਣ" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "ਸਹਾਇਕ ਮੀਡਿਆ ਫਾਇਲਾਂ" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "ਸਭ ਫਾਇਲਾਂ" @@ -347,7 +398,7 @@ msgid "Exit Minimal Mode" msgstr "ਘੱਟੋ-ਘੱਟ ਮੋਡ ਬੰਦ" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "ਰੋਕਿਆ" @@ -398,165 +449,191 @@ msgid "Your emails" msgstr "aalam@users.sf.net" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "ਹਰੀਜੱਟਲ" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "ਵਰਟੀਕਲ" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "ਨਾਂ" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "ਚੈਨਲ" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "ਨੰਬਰ" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "ਸੋਧ" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "ਹਟਾਓ" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "ਚੈਨਲ ਸੈਟਿੰਗ" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "ਹਰੀਜੱਟਲ" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "ਵਰਟੀਕਲ" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "ਚੈਨਲ ਸੋਧ" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "ਨਾਂ:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "ਨੰਬਰ:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "ਸਰੋਤ:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "ਫਰੀਕਿਊਂਸੀ (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "ਮੋਡੂਲੇਸ਼ਨ:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC ਰੇਟ:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 #, fuzzy #| msgid "Position" msgid "Polarization:" msgstr "ਸਥਿਤੀ" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "ਬੈਂਡਵਿਡਥ:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC ਰੇਟ LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "ਟਰਾਂਸਮਿਸ਼ਨ ਮੋਡ:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "ਲੜੀ:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "ਵਿਡੀਓ PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ਨੈੱਟਵਰਕ ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ਸਰਵਿਸ ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "ਆਡੀਓ ਚੈਨਲ:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "ਟੈਲੀਵਿਜ਼ਨ ਸੰਰਚਨਾ" @@ -584,7 +661,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "" @@ -613,298 +690,370 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "ਆਮ ਚੋਣਾਂ" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "ਜੰਤਰ %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "ਸਕੈਨ ਡਾਟਾ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "ਸਕੈਨ ਡਾਟਾ ਅੱਪਡੇਟ ਫੇਲ੍ਹ ਹੋਇਆ।" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "ਨਾਂ: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "ਖੱਬੇ ਭੇਜੋ" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "ਮੁੜ-ਸੈੱਟ" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "ਹਟਾਓ" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "ਸੱਜੇ ਭੇਜੋ" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "ਜੰਤਰ ਕੁਨੈਕਟ ਨਹੀਂ ਹੈ।" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "ਕੇਬਲ" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "ਟਿੱਰੈਟਰਾਈਲ" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "ਆਟੋ-ਸਕੈਨ" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "ਟਾਊਨਰ ਟਾਈਮਆਉਟ (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "ਸਰੋਤ:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "ਕੋਈ ਸਰੋਤ ਨਹੀਂ" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "ਨਾਂ:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "ਸੰਰਚਨਾ:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC ਸਵਿੱਚ" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS ਰੋਟਰ" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "ਸਥਿਤੀ ਰੋਟਰ" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 ਸੈਟਿੰਗ" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB ਸੈਟਿੰਗ" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "ਸੈਟੇਲਾਈਟ ਸ਼ਾਮਲ" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "ਸੈਟੇਲਾਈਟ" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "ਸਥਿਤੀ" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "ਸੈਟੇਲਾਈਟ ਹਟਾਓ" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "ਯੂਨੀਵਰਸਲ LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-ਬੈਂਡ LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-ਬੈਂਡ ਮਲਟੀਪੁਆਇੰਟ LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "ਕਸਟਮ LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "ਸਵਿੱਚ ਫਰੀਕਿਊਂਸੀ (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "ਲੋਅ ਬੈਂਡ LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "ਹਾਈ ਬੈਂਡ LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "ਹਰੀਜੱਟਲ LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "ਵਰਟੀਕਲ LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "ਸ਼ੁਰੂ" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "ਅੰਤਰਾਲ" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "ਟਾਈਟਲ" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "ਪਰੋਗਰਾਮ ਗਾਈਡ" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "ਸੈਡੀਊਲ ਪਰੋਗਰਾਮ" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "ਰਿਕਾਰਡਿੰਗ ਸ਼ੈਡਿਊਲ" + +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "ਖੋਜ:" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "ਕੋਈ ਉਪਲੱਬਧ ਜੰਤਰ ਨਹੀਂ ਲੱਭਿਆ।" +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "ਸ਼ੁਰੂ" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "ਅੰਤਰਾਲ" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "ਟਾਈਟਲ" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "ਚੈਨਲ" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "ਕੋਈ ਉਪਲੱਬਧ ਜੰਤਰ ਨਹੀਂ ਲੱਭਿਆ।" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "ਕੋਈ ਉਪਲੱਬਧ ਜੰਤਰ ਨਹੀਂ ਲੱਭਿਆ।" + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "ਰਿਕਾਰਡਿੰਗ ਸ਼ੈਡਿਊਲ" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "ਨਵਾਂ" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "ਨਾਂ" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "ਨਾਂ:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "ਚੈਨਲ:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "ਸ਼ੁਰੂ:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "ਸ਼ੁਰੂ" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "ਅੰਤਰਾਲ:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "ਅੰਤ:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "ਦੁਹਰਾਓ:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "ਕਦੇ ਨਹੀਂ" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "ਰੋਜ਼" @@ -925,99 +1074,127 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "ਚੈਨਲ" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "ਸਾਫ਼ ਕਰੋ" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "ਚੈਨਲ ਸਕੈਨ" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "ਸਕੈਨ ਸ਼ੁਰੂ" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "ਸਿਗਨਲ:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "ਟਿਊਨ ਕੀਤਾ:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "ਫਿਲਟਰ" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "ਹਵਾ ਵਿੱਚ ਮੁਫ਼ਤ" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "ਰੇਡੀਓ" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "ਪਰੋਵਾਇਡਰ:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "ਫਿਲਟਰ ਕੀਤੇ ਸ਼ਾਮਲ" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "ਚੁਣੇ ਸ਼ਾਮਲ" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "ਖੋਜ ਨਤੀਜੇ" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "ਮੌਜੂਦਾ ਟਰਾਂਸਪੋਡਰ" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "ਸਕੈਨ ਰੋਕੋ" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "ਪਰੋਗਰਾਮ ਗਾਈਡ" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "ਰਿਕਾਰਡਿੰਗ ਸ਼ੈਡਿਊਲ" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "ਤਰੁੰਤ ਰਿਕਾਰਡ" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "ਟੈਲੀਵਿਜ਼ਨ ਸੰਰਚਨਾ..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "ਖੋਜ:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "ਚੈਨਲ: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "ਤੁਰੰਤ ਰਿਕਾਰਡ ਸ਼ੁਰੂ ਕੀਤੀ" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "ਤੁਰੰਤ ਰਿਕਾਰਡ ਰੋਕੋ" @@ -1062,26 +1239,26 @@ msgid "Random" msgstr "ਰਲਵੇਂ" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "ਸਬ-ਟਾਈਟਲ ਸ਼ਾਮਲ" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "ਨਾਂ-ਬਦਲੋ" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "ਬਿਨ-ਨਾਂ ਪਲੇਅ-ਲਿਸਟ" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "ਸਬ-ਟਾਈਟਲ ਫਾਇਲਾਂ" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1092,6 +1269,54 @@ "*.m3u|M3U ਪਲੇਅਲਿਸਟ\n" "*.pls|PLS ਪਲੇਅਲਿਸਟ" +#~ msgid "Channel Settings" +#~ msgstr "ਚੈਨਲ ਸੈਟਿੰਗ" + +#~ msgid "Name" +#~ msgstr "ਨਾਂ" + +#~ msgid "Edit" +#~ msgstr "ਸੋਧ" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "ਹਟਾਓ" + +#~ msgid "Remove" +#~ msgstr "ਹਟਾਓ" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "ਸ਼ੁਰੂ" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "ਸ਼ੁਰੂ:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "ਨਵਾਂ" + +#~ msgid "Channel" +#~ msgstr "ਚੈਨਲ" + +#~ msgid "Duration" +#~ msgstr "ਅੰਤਰਾਲ" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "ਸੈਡੀਊਲ ਪਰੋਗਰਾਮ" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "ਨਾਂ" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "ਤਾਜ਼ਾ ਕਰੋ" @@ -1158,9 +1383,6 @@ #~ msgid "Channel search" #~ msgstr "ਚੈਨਲ ਖੋਜ" -#~ msgid "Edit channel" -#~ msgstr "ਚੈਨਲ ਸੋਧ" - #~ msgid "Change icon" #~ msgstr "ਆਈਕਾਨ ਬਦਲੋ" diff -Nru kaffeine-1.1/po/pl/kaffeine.po kaffeine-1.2.2/po/pl/kaffeine.po --- kaffeine-1.1/po/pl/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/pl/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-04-13 22:36+0200\n" "Last-Translator: Marta Rybczyńska \n" "Language-Team: Polish \n" @@ -20,7 +20,7 @@ "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,315 +28,376 @@ msgid "A media player for KDE with digital TV support." msgstr "Odtwarzacz multimedialny z obsługą telewizji cyfrowej dla KDE." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Autorzy Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Opiekun" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Odtwórz plik" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Odtwórz CD Audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Odtwórz VCD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Odtwórz DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Telewizja cyfrowa" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Konfiguracja Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Tryb zminimalizowany" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Tryb zminimalizowany" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Tryb pełnoekranowy" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Czas trwania krótkiego skoku:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Czas trwania długiego skoku:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Plik" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Otwórz URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Odtwórz CD Audio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Odtwórz VCD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Odtwórz DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Odtwórz DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Odtwarzanie" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Lista odtwarzania" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Telewizja" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Ustawienia" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Rozpocznij" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Odtwarzanie" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lista odtwarzania" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Telewizja" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Rozpocznij w trybie pełnoekranowym" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(przestarzała opcja)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Odtwórz kanał TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Odtwórz ostatni kanał TV" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Zrzut danych dvb (opcja debugowania)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Pliki lub adresy URL do odtworzenia" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Otwórz URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Podaj URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Przejdź do pozycji" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Podaj pozycję:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Poprzedni" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Odtwórz" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauza" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stop" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Następny" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Tryb pełnoekranowy" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Tryb zminimalizowany" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "wył." -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Dźwięk" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Zwiększ głośność" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Zmniejsz głośność" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Wycisz dźwięk" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Wideo" # zgaduje ze to przeplot -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Przeplot" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Proporcje" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatycznie" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Dopasuj do okna" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatyczna zmiana rozmiaru" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Wyłączona" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Rozmiar oryginalny" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Rozmiar podwójny" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Suwak głośności" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Przejdź do pozycji" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Przeskocz" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Przeskocz %1s do tyłu" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Przeskocz %1s do przodu" # -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Suwak postępu" # Nie jestem pewien -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Menu przełączania" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Tytuł" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Rozdział" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Kąt" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Przełącz pomiędzy wyświetlaniem czasu zużytego a pozostałego" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Obsługiwane pliki multimedialne" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Wszystkie pliki" @@ -351,7 +412,7 @@ msgid "Exit Minimal Mode" msgstr "Zakończ tryb zminimalizowany" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Zatrzymano" @@ -402,163 +463,191 @@ msgid "Your emails" msgstr "maciej.wiklo@wp.pl" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Proszę zainstalować wtyczkę Qt SQLite." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Nie można otworzyć bazy danych SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Wewnętrzne narzędzia dla Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Poziomy" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Pionowy" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Zaokrąglony lewy" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Zaokrąglony prawy" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nazwa" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanał" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Liczba" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Edycja" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Usuń" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Ustawienia kanału" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Poziomy" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Pionowy" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Zaokrąglony lewy" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Zaokrąglony prawy" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Edytuj kanał" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nazwa:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Numer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Źródło:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Częstotliwość (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symboliczna szybkość (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulacja:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Szybkość FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polaryzacja:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Szerokość pasma:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Szybkość FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Tryb transmisji:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Częstotliwość przerw:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID wideo:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID napisów:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID teletekstu:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Identyfikator sieci:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Identyfikator strumienia transportu:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Identyfikator serwisu:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Kanał audio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Zaszyfrowany:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Konfiguracja telewizji" @@ -586,7 +675,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Przeszukaj dane ostatnio zmienione dnia %1" @@ -615,26 +704,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opcje ogólne" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Urządzenie %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Aktualizuj dane przeszukiwania przez internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Pobieranie danych przeszukiwania" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Aktualizacja danych przeszukiwania nie powiodła się." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -642,273 +737,344 @@ "Pomyślnie uaktualniono dane przeszukiwania. Zmiany odniosą\n" "efekt po zamknięciu okna konfiguracji." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nazwa: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Przesuń w lewo" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Przywróć" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Usuń" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Przesuń w prawo" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Urządzenie niepodłączone." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Naziemny" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automatyczne przeszukiwanie" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automatyczne przeszukiwanie z przesunięciami 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automatyczne przeszukiwanie Australii" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automatyczne przeszukiwanie Włoch" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automatyczne przeszukiwanie Tajwanu" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Limit czasu tunera (ms)" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Źródło:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Brak źródła" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nazwa:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Konfiguracja:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Przełącznik DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Wirnik USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Wirniki pozycji" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Ustawienia LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Ustawienia LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Dodaj satelitę" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelita" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Pozycja" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Usuń satelitę" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Uniwersalny LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB C-band" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "Wielopunktowy LNB C-band" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Własny LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Przełącz częstotliwość (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Wąskopasmowy LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Szerokopasmowy LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Poziomy LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Pionowy LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Rozpocznij" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Czas trwania" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Tytuł" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Przewodnik po programach" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Zaplanuj program" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Planowanie nagrywania" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Znajdź:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nie znaleziono odpowiedniego urządzenia." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Rozpocznij" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Czas trwania" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Tytuł" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanał" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nie znaleziono odpowiedniego urządzenia." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nie znaleziono odpowiedniego urządzenia." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Planowanie nagrywania" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nowy" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nazwa" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Modyfikuj harmonogram" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nazwa:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanał:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Początek:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Rozpocznij" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Czas trwania:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Koniec:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Powtórz:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nigdy" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Codziennie" @@ -929,99 +1095,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanały" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Wyczyść" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Przeszukiwanie kanałów" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Rozpocznij przeszukiwanie" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Sygnał:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Dostrojony:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtr" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Free to air" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Telewizja" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Dostawca:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Dodaj filtrowany" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Dodaj wybrany" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Wyniki przeszukiwania" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Bieżący transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Zatrzymaj przeszukiwanie" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Przewodnik po programach" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Planowanie nagrywania" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Nagrywanie błyskawiczne" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Konfiguracja telewizji" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Znajdź:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanał: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Rozpoczęto nagrywanie błyskawiczne" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Zatrzymano nagrywanie błyskawiczne" @@ -1066,30 +1262,30 @@ msgid "Random" msgstr "Losowo" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Dodaj satelitę" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Zmień nazwę" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Lista odtwarzania bez nazwy" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "PID napisów:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1100,6 +1296,54 @@ "*.m3u|M3U Lista odtwarzania\n" "*.pls|PLS Lista odtwarzania" +#~ msgid "Channel Settings" +#~ msgstr "Ustawienia kanału" + +#~ msgid "Name" +#~ msgstr "Nazwa" + +#~ msgid "Edit" +#~ msgstr "Edycja" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Usuń" + +#~ msgid "Remove" +#~ msgstr "Usuń" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Rozpocznij" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Początek:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nowy" + +#~ msgid "Channel" +#~ msgstr "Kanał" + +#~ msgid "Duration" +#~ msgstr "Czas trwania" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Zaplanuj program" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nazwa" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Odśwież" @@ -1182,9 +1426,6 @@ #~ msgid "Channel search" #~ msgstr "Znajdź kanał" -#~ msgid "Edit channel" -#~ msgstr "Edytuj kanał" - #~ msgid "Change icon" #~ msgstr "Zmień ikonę" diff -Nru kaffeine-1.1/po/pt/kaffeine.po kaffeine-1.2.2/po/pt/kaffeine.po --- kaffeine-1.1/po/pt/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/pt/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: pt_PT\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-13 11:23+0100\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-30 10:07+0100\n" "Last-Translator: Diogo Sousa \n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" @@ -36,7 +36,7 @@ "X-POFile-IgnoreConsistency: Subtitle\n" "X-POFile-SpellExtra: PMT LP min Pfister Christoph Taiwan xspf pls XSPF\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -44,312 +44,354 @@ msgid "A media player for KDE with digital TV support." msgstr "Um leitor multimédia para o KDE com suporte para a TV digital." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Os Autores do Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Manutenção" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Reproduzir um Ficheiro" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Reproduzir um CD Áudio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Reproduzir um CD Vídeo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Reproduzir um DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV Digital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurar o Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Modo de apresentação inicial:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Modo Normal" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Modo Mínimo" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Modo de Ecrã Completo" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Recordar a Última Configuração" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Duração do pequeno salto:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Duração do longo salto:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Ficheiro" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Abrir o URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Abrir o URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reproduzir um CD Áudio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reproduzir um CD Vídeo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reproduzir um DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reproduzir a Pasta de DVD's" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Reprodução" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Lista de Reprodução" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisão" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Configuração" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Iniciar" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Reprodução" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lista de Reprodução" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisão" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Iniciar com o ecrã completo" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(opção desactualizada)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Ver o canal de TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Ver o último canal sintonizado de TV" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Apresentar os dados do DVB (opção de depuração)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Ficheiros ou URL's a reproduzir" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Abrir o URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Indique um URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Saltar para a Posição" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Indique uma posição:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reproduzir" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausa" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Parar" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Seguinte" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Modo de Ecrã Completo" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Modo Mínimo" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "desligado" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Áudio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Aumentar o Volume" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Diminuir o Volume" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Volume Silenciado" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Vídeo" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Desentrelaçar" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Proporções" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automática" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Ajustar à Janela" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Dimensionamento Automático" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Desligado" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Tamanho Original" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Tamanho Duplo" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Barra de Volume" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Saltar para a Posição..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Saltar" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Recuar %1 s" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Avançar %1 s" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Barra de Posicionamento" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Comutar o Menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Título" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capítulo" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ângulo" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Alterna entre a apresentação do tempo decorrido e o restante" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Ficheiros Multimédia Suportados" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Todos os Ficheiros" @@ -364,7 +406,7 @@ msgid "Exit Minimal Mode" msgstr "Sair do Modo Mínimo" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Parado" @@ -415,57 +457,47 @@ msgid "Your emails" msgstr "zepires@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Instale por favor o 'plugin' do Qt para o SQLite." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Não é possível aceder à base de dados SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Utilitário interno do Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circular à esquerda" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circular à direita" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nome" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" msgstr "Número" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Editar" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Remover" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -473,107 +505,127 @@ "Os canais serão ordenados por ordem numérica, para permitir o arrastamento.\n" "Deseja continuar?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Configuração dos Canais" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circular à esquerda" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circular à direita" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Editar o Canal" + +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Nome:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "Número:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Origem:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequência (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Taxa de símbolos (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulação:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Taxa de FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarização:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Seguimento:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Largura de banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Taxa de FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Modo de transmissão:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Intervalo de guarda:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarquia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID do PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID do vídeo:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID das legendas:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID do teletexto:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID da rede:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID da transmissão de transporte:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID do Serviço:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal de áudio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Codificado:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurar a Televisão" @@ -601,7 +653,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Usar a codificação ISO 8859-1 em vez da ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Dados de sintonia actualizado a %1" @@ -630,26 +682,30 @@ msgid "[W -180 ... 180 E]" msgstr "[O -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opções Gerais" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositivo %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Actualizar os Dados de Sintonia" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "A obter os dados de sintonia" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "A actualização dos dados de sintonia foi mal-sucedida." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -657,277 +713,296 @@ "Os dados de sintonia foram actualizados com sucesso.\n" "As alterações farão efeito após fechar a janela de configuração." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nome: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mover para a Esquerda" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Limpar" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Remover" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mover para a Direita" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispositivo não ligado." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cabo" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Auto-sintonizar" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Auto-sintonizar com deslocamentos de 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Auto-sintonizar na Austrália" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Auto-sintonizar em Itália" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Auto-sintonizar em Taiwan (Formosa)" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Fim do tempo-limite do sintonizador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Origem:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Sem Origem" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuração:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Interruptor DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de Posições" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Configuração do LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Configuração do LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Adicionar um Satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posição" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Remover o Satélite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB Universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB banda-C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "LNB Multi-Ponto Banda-C" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB Personalizado" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frequência de mudança (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "LOF de banda baixa (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "LOF de banda alta (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horizontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Início" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Duração" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Título" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guia de Programação" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Agendar o Programa" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Gravar o Programa" + +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Procurar:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Não foi encontrado nenhum dispositivo disponível." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Início" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"O Kaffeine está de momento a gravar programas.\n" -"Deseja mesmo fechar a aplicação?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Duração" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" -"O Kaffeine tem gravações agendadas.\n" -"Deseja mesmo fechar a aplicação?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Título" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "São usados todos os dispositivos para as gravações." + +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "Não foi encontrado nenhum dispositivo." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Não foi encontrado nenhum dispositivo disponível." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Agenda da Gravação" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" -msgstr "Novo" +msgstr "Nova" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nome" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Editar o Item da Agenda" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Início:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "Duração:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Fim:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Repetição:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nunca" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Diário" @@ -948,99 +1023,131 @@ msgid "SNR" msgstr "S/R" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canais" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Limpar" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Sintonia de Canais" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Iniciar a Sintonia" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Sinal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "S/R:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonizado:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtro" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Aberto" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Rádio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Fornecedor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Adicionar um Filtrado" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Adicionar os Seleccionados" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Resultados da Sintonia" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "'Transponder' Actual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Parar a Sintonia" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guia de Programação" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Agenda da Gravação" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Gravação Instantânea" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurar a Televisão..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Procurar:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"O Kaffeine está de momento a gravar programas.\n" +"Deseja mesmo fechar a aplicação?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"O Kaffeine tem gravações agendadas.\n" +"Deseja mesmo fechar a aplicação?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Gravação Instantânea Iniciada" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Gravação Instantânea Parada" @@ -1085,26 +1192,26 @@ msgid "Random" msgstr "Aleatório" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Adicionar Legendas" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Mudar o Nome" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Lista de Reprodução sem Nome" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Ficheiros de Legendas" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/pt_BR/kaffeine.po kaffeine-1.2.2/po/pt_BR/kaffeine.po --- kaffeine-1.1/po/pt_BR/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/pt_BR/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,27 +1,27 @@ -# tradução do kaffeine.po para Brazilian Portuguese +# Tradução do kaffeine.po para Brazilian Portuguese # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # # Helio Chissini de Castro , 2004. # Gustavo Pichorim Boiko , 2004. # Jose Monteiro , 2007. -# André Marcelo Alvarenga , 2008, 2009, 2010. +# André Marcelo Alvarenga , 2008, 2009, 2010, 2011. # Luiz Fernando Ranghetti , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-14 17:36-0300\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-04-02 01:08-0300\n" "Last-Translator: André Marcelo Alvarenga \n" -"Language-Team: Brazilian Portuguese \n" +"Language-Team: Brazilian Portuguese \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" +"X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -29,312 +29,354 @@ msgid "A media player for KDE with digital TV support." msgstr "Um reprodutor de mídias para o KDE com suporte à TV digital." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Os autores do Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Mantenedor" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Reproduzir arquivo" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Reproduzir CD de áudio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Reproduzir CD de vídeo" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Reproduzir DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV Digital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurar o Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Modo de apresentação inicial:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Modo normal" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Modo mínimo" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Modo de tela cheia" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Lembrar a última configuração" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Duração do salto curto:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Duração do salto longo:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Arquivo" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Abrir URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Abrir URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Reproduzir CD de áudio" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Reproduzir CD de vídeo" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Reproduzir DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Reproduzir pasta de DVDs" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Reproduzir" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Lista de reprodução" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televisão" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Configurações" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Iniciar" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Reproduzir" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lista de reprodução" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televisão" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Iniciar no modo de tela cheia" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(opção obsoleta)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Reproduzir canal de TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Reproduzir o último canal de TV sintonizado" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Apresentar os dados do DVB (opção de depuração)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Arquivos ou URLs a reproduzir" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Abrir URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Digite uma URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Ir para a posição" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Digite uma posição:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Reproduzir" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pausar" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Parar" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Próximo" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Modo de tela inteira" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Modo mínimo" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "desligado" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Áudio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Aumentar volume" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Diminuir volume" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Mudo" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Vídeo" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Desentrelaçar" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Taxa de proporção" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automático" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Ajustar à janela" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Redimensionar automaticamente" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Desligado" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Tamanho original" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Tamanho duplo" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Barra deslizante de volume" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Ir para a posição..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Saltar" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Saltar %1s para trás" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Saltar %1s para frente" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Barra deslizante de posicionamento" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Alternar menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Título" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Capítulo" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ângulo" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Alternar entre a exibição do tempo decorrido e o tempo restante" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Arquivos de mídia suportados" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Todos os arquivos" @@ -349,7 +391,7 @@ msgid "Exit Minimal Mode" msgstr "Sair do modo mínimo" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Parado" @@ -400,57 +442,47 @@ msgid "Your emails" msgstr "andrealvarenga@gmx.net" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Instale o plug-in do Qt SQLite." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Não foi possível abrir o banco de dados SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Utilitário interno para o Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circular para a esquerda" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circular para a direita" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Nome" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" msgstr "Número" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Editar" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Remover" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -458,107 +490,127 @@ "Os canais serão ordenados pelo número, para permitir arrastar e soltar.\n" "Deseja continuar?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Configurações dos canais" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizontal" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circular para a esquerda" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circular para a direita" + +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Editar canal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Nome:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "Número:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Origem:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frequência (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Taxa de símbolo (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulação:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Taxa FEC (correção de erros):" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarização:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Seguimento:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Largura de banda:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Taxa FEC de baixa prioridade:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Modo de transmissão:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Intervalo de guarda:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarquia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID do vídeo:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID da legenda:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID do teletexto:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID da rede:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID do fluxo de transporte:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID do serviço:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal de áudio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Embaralhado:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurar televisão" @@ -586,7 +638,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Usar a codificação ISO 8859-1 em vez da ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Última atualização do arquivo de busca em %1" @@ -615,26 +667,30 @@ msgid "[W -180 ... 180 E]" msgstr "[O -180 ... 180 L]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opções gerais" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispositivo %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Atualizar os dados da busca" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Baixando o arquivo de busca" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Falha ao atualizar o arquivo de busca." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -642,277 +698,296 @@ "Arquivo de busca atualizado com sucesso. As alterações\n" "terão efeito após você fechar o diálogo de configuração." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nome: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mover à esquerda" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Redefinir" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Remover" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mover à direita" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispositivo não conectado." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cabo" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terrestre" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Busca automática" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Busca automática com descolamento de 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Busca automática na Austrália" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Busca automática na Itália" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Busca automática em Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tempo de espera do sintonizador (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Origem:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Sem origem" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configuração:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Interruptor DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de posições" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Configurações do LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Configurações do LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Adicionar satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satélite" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Posição" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Remover satélite" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB banda C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "LNB multi-ponto banda C" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalizado" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frequência de troca (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "LOF de banda baixa (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "LOF de banda alta (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF horizontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Início" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Duração" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Título" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Guia de programação" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Agendar programa" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Gravar programa" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Pesquisar:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nenhum dispositivo disponível foi encontrado." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Iniciar" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"O Kaffeine está gravando programas.\n" -"Deseja realmente fechar o aplicativo?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Duração" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" -"O Kaffeine tem gravações agendadas.\n" -"Deseja realmente fechar o aplicativo?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Título" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "Todos os dispositivos são usados para gravações." + +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "Nenhum dispositivo encontrado." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nenhum dispositivo disponível foi encontrado." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Agenda de gravações" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "Novo" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Nome" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Editar entrada da agenda" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Nome:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Início:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "Duração:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Fim:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Repetir:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Nunca" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Diariamente" @@ -933,99 +1008,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canais" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Limpar" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Pesquisar canal" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Iniciar busca" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Sinal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Sintonizado:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtro" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Livre para transmitir" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Rádio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Provedor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Adicionar filtrado" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Adicionar selecionado" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Resultados da pesquisa" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Transponder atual" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Parar a busca" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Guia de programação" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "Mensagem na tela" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Agenda de gravações" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Gravação instantânea" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurar televisão..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Pesquisar:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"O Kaffeine está gravando programas.\n" +"Deseja realmente fechar o aplicativo?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"O Kaffeine tem gravações agendadas.\n" +"Deseja realmente fechar o aplicativo?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Gravação instantânea iniciada" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Gravação instantânea parada" @@ -1070,26 +1177,26 @@ msgid "Random" msgstr "Aleatório" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Adicionar legenda" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Renomear" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Lista de reprodução sem nome" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Arquivos de legenda" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1099,3 +1206,46 @@ "*.xspf|Lista de reprodução XSPF\n" "*.m3u|Lista de reprodução M3U\n" "*.pls|Lista de reprodução PLS" + +#~ msgid "Channel Settings" +#~ msgstr "Configurações dos canais" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Edit" +#~ msgstr "Editar" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Remover" + +#~ msgid "Remove" +#~ msgstr "Remover" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Início" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Início:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Novo" + +#~ msgid "Duration" +#~ msgstr "Duração" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Agendar programa" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Nome" diff -Nru kaffeine-1.1/po/ro/kaffeine.po kaffeine-1.2.2/po/ro/kaffeine.po --- kaffeine-1.1/po/ro/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ro/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-01-03 00:05+0200\n" "Last-Translator: Sergiu Bivol \n" "Language-Team: Română \n" @@ -15,10 +15,10 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" -"Plural-Forms: Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > " -"0 && n%100 < 20)) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -27,233 +27,280 @@ msgstr "" "Program KDE pentru redare multimedia cu suport pentru televiziune digitală." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 #, fuzzy #| msgid "(C) 2007-2009 The Kaffeine Authors" msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2009 Autorii Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Responsabil" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Redare fișier" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Redare CD audio" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Redare CD Video" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Redare DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 TV Digital" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Configurează Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Mod pe tot ecranul" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Durată pășire scurtă:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Durată pășire lungă:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fișier" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Deschide URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Redare Audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Redare Video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Redare DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Redare DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Redare" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Listă de redare" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televiziune" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Setări" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Start" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Redare" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Listă de redare" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televiziune" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Pornește în regimul de ecran complet" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(opțiune învechită)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Redă canal TV" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Redă ultimul canal reglat" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Fișiere sau URL-uri de redat" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Deschide URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Introduceți un URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Salt la poziție" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Introduceți o poziție:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Anterior" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Redare" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauză" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stop" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Următor" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 #, fuzzy #| msgid "Full Screen Mode" msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Mod pe tot ecranul" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "dezactivat" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 #, fuzzy #| msgid "Audio" msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 #, fuzzy #| msgid "Increase Volume" msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Mărește volumul" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 #, fuzzy #| msgid "Decrease Volume" msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Micșorează volumul" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 #, fuzzy #| msgid "Mute Volume" msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Muțește volumul" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 #, fuzzy #| msgid "Play Video CD" msgctxt "'Playback' menu" msgid "Video" msgstr "Redare Video CD" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 #, fuzzy #| msgid "Aspect Ratio" msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Raport de aspect" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 #, fuzzy #| msgctxt "aspect ratio" #| msgid "Automatic" @@ -261,7 +308,7 @@ msgid "Automatic" msgstr "Automat" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 #, fuzzy #| msgctxt "aspect ratio" #| msgid "Fit to Window" @@ -269,7 +316,7 @@ msgid "Fit to Window" msgstr "Potrivește la fereastră" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 #, fuzzy #| msgctxt "aspect ratio" #| msgid "4:3" @@ -277,7 +324,7 @@ msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 #, fuzzy #| msgctxt "aspect ratio" #| msgid "16:9" @@ -285,90 +332,97 @@ msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Redimensionare automată" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Dezactivat" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Dimensiune originală" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dimensiune dublă" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Glisorul volumului" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Salt la poziție" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Sari" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Derulează %1s înapoi" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Derulează %1s înainte" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 #, fuzzy #| msgid "Volume Slider" msgid "Seek Slider" msgstr "Glisorul volumului" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 #, fuzzy #| msgid "Title" msgctxt "dvd navigation" msgid "Title" msgstr "Titlu" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 #, fuzzy #| msgid "Chapter" msgctxt "dvd navigation" msgid "Chapter" msgstr "Capitol" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 #, fuzzy #| msgid "Angle" msgctxt "dvd navigation" msgid "Angle" msgstr "Unghi" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Comută între afișarea timpului scurs și rămas" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Fișiere multimedia susținute" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Toate fișierele" @@ -385,7 +439,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Oprit" @@ -436,167 +490,195 @@ msgid "Your emails" msgstr "silvatica2975@gmail.com,sergiu@ase.md" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Instalați modulul Qt SQLite." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Baza de date SQLite nu poate fi deschisă." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Orizontal" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertical" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Circular stînga" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Circular dreapta" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Denumire" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Canal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Număr" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Editează" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Elimină" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Configurări canal" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Orizontal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertical" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Circular stînga" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Circular dreapta" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Editare canale" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Nume:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Număr:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Sursă:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frecvență (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Rata de simboluri (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulare:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Rata FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizare:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Lățime de bandă:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Regim de transmisie:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Ierarhie:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 #, fuzzy #| msgid "Play Video CD" msgid "Video PID:" msgstr "Redare Video CD" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 #, fuzzy #| msgid "Play Video CD" msgid "Subtitle PID:" msgstr "Redare Video CD" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Id. rețea:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Id. serviciu:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Canal audio:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Configurează televiziunea" @@ -624,7 +706,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Date de scanare actualizate la %1" @@ -653,300 +735,377 @@ msgid "[W -180 ... 180 E]" msgstr "[V -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opțiuni generale" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Dispozitiv %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Actualizează date scanare prin Internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Se descarcă datele de scanare" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 #, fuzzy #| msgid "Scan file last updated
on %1" msgid "Scan data update failed." msgstr "Scanează ultimul fișier actualizat
în %1" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Nume: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Mută la stînga" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Reinițializează" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Elimină" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Mută la dreapta" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Dispozitiv neconectat." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Cablu" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terestru" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Scanare automată" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Scanare automată cu decalaje de 167KHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Scanare automată Australia" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Scanare automată Italia" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Scanare automată Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Temporizare reglaj (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Sursă:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Fără sursă" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Nume:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Configurare:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Comutator DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Rotor USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Rotor de poziție" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Configurări LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Configurări LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Adaugă satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Poziție" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Elimină satelit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "LNB Universal" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "LNB personalizat" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Comută frecvența (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Low band LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "High band LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "LOF orizontal (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "LOF vertical (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Început" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Durată" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titlu" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Ghid de programe" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Planificare program" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Program de înregistrare" + +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Caută:" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nici un dispozitiv disponibil găsit." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Start" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Durată" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titlu" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Canal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nici un dispozitiv disponibil găsit." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nici un dispozitiv disponibil găsit." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Program de înregistrare" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nou" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Denumire" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Redactează înregistrarea planificată" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Nume:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Canal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Început:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Start" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Durată:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Sfîrșit:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Repetare:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Niciodată" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Zilnic" @@ -967,99 +1126,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Canale" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Curăță" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Scanare canale" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Pornește scanare" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Semnal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Reglat:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtru" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Liber în aer" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Furnizor:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Adaugă filtrate" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Adaugă alese" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Rezultate scanare" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Transpondor curent" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Oprește scanarea" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Ghid de programe" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Program de înregistrare" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Înregistrare instantanee" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Configurează televiziunea" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Caută:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Canal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Înregistrare instantanee pornită" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Înregistrare instantanee oprită" @@ -1104,30 +1293,30 @@ msgid "Random" msgstr "Aleator" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Adaugă satelit" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Redenumește" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Listă de redare nedenumită" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Play Video CD" msgctxt "file filter" msgid "Subtitle Files" msgstr "Redare Video CD" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1138,6 +1327,54 @@ "*.m3u|Listă M3U\n" "*.pls|Listă PLS" +#~ msgid "Channel Settings" +#~ msgstr "Configurări canal" + +#~ msgid "Name" +#~ msgstr "Denumire" + +#~ msgid "Edit" +#~ msgstr "Editează" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Elimină" + +#~ msgid "Remove" +#~ msgstr "Elimină" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Început" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Început:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nou" + +#~ msgid "Channel" +#~ msgstr "Canal" + +#~ msgid "Duration" +#~ msgstr "Durată" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Planificare program" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Denumire" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Reîmprospătează" @@ -1223,9 +1460,6 @@ #~ msgid "Channel search" #~ msgstr "Caută canal" -#~ msgid "Edit channel" -#~ msgstr "Editare canale" - #~ msgid "Change icon" #~ msgstr "Schimbă pictograma" diff -Nru kaffeine-1.1/po/ru/kaffeine.po kaffeine-1.2.2/po/ru/kaffeine.po --- kaffeine-1.1/po/ru/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/ru/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -6,22 +6,27 @@ # Nick Shaforostoff , 2009. # Artem Sereda , 2009, 2010. # Alexander Potashev , 2009, 2010. +# Yuri Efremov , 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-22 19:41+0400\n" -"Last-Translator: Alexander Potashev \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-02-23 23:27+0300\n" +"Last-Translator: Yuri Efremov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.1\n" +"Language: ru\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%" "10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -29,313 +34,355 @@ msgid "A media player for KDE with digital TV support." msgstr "Проигрыватель мультимедиа с поддержкой цифрового телевидения для KDE." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" -msgstr "© Разработчики Kaffeine, 2007-2010 " +msgstr "© Разработчики Kaffeine, 2007-2010" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Сопровождающий" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Воспроизвести файл" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Воспроизвести Audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Воспроизвести Video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Воспроизвести DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Цифровое телевидение" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Настроить Kaffeine..." -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Режим показа при запуске:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Обычный режим" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Минимальный режим" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Полноэкранный режим" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Запоминать последний режим" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Короткий шаг перемотки:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Длинный шаг перемотки:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Файл" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Открыть адрес" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Открыть адрес..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Воспроизвести Audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Воспроизвести Video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Воспроизвести DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Воспроизвести папку DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Воспроизведение" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Список воспроизведения" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Телевидение" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Настройка" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Начало" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Воспроизведение" # убрал "Список воспроизведения", чтобы высота главного окна Kaffeine не была слишком большой (иначе возникают проблемы при разрешении экрана 1024x600) -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Список" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Телевидение" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Запустить в полноэкранном режиме" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(устаревший параметр)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Смотреть ТВ канал" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Смотреть последний настроенный ТВ канал" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Дамп данных DVB (отладочная команда)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Воспроизвести файлы или адреса" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Открытие адреса URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Введите адрес:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" -msgstr "Перейти ко времени" +msgstr "Переход ко времени" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Введите время:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Предыдущий" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Воспроизвести" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Пауза" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Стоп" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Следующий" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Полноэкранный режим" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Минимальный режим" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "выкл." -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Звук" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Увеличить громкость" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Уменьшить громкость" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Выключить звук" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Видео" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Подавление черезстрочности" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Соотношение сторон" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Автоматически" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Уместить в окне" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Подобрать размер" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Выкл." -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Исходный размер" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Двойной размер" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Регулятор громкости" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Перейти ко времени..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Перемотка" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Отмотать на %1 с назад" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Перемотать на %1 с вперёд" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Ползунок поиска" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Показать меню" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Заголовок" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Глава" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ракурс" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Показать, сколько прошло или осталось времени" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Поддерживаемые файлы" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Все файлы" @@ -350,7 +397,7 @@ msgid "Exit Minimal Mode" msgstr "Выйти из минимального режима" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Остановлено" @@ -403,166 +450,198 @@ "azrael.com@gmail.com,lordinferius@gmail.com,doktorkster@gmail.com," "semenukha@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Установите модуль SQLite для Qt" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Не удалось открыть базу данных SQLite" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Внутренняя утилита для Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Горизонтальная" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Вертикальная" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Левая круговая" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Правая круговая" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Имя" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Канал" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Номер" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Изменить" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Удалить" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"Каналы будут отсортированы по номеру, чтобы их пункты можно было " +"перетаскивать.\n" +"Продолжить?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Настройка канала" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Горизонтальная" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Вертикальная" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Левая круговая" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Правая круговая" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Редактировать канал" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Имя:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Номер:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Источник:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Частота (МГц):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Скорость передачи (кСимв/с)" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Модуляция:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Скорость FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Поляризация:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Спад:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Диапазон:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Скорость низкоприоритетной FEC:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Режим передачи:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Полоса расфильтровки:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Иерархия:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID видео:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID субтитра:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID телетекста:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Идентификатор сети:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Идентификатор транспортного потока:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Идентификатор сервиса:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Канал звука:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Шифрование:" -# BUGME: действие открывает диалговое окно, поэтому должно быть многоточие -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +# https://bugs.kde.org/show_bug.cgi?id=250217 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" -msgstr "Настроить телевидение" +msgstr "Настройка телевидения" #: dvb/dvbconfigdialog.cpp:55 msgid "Recording folder:" @@ -588,7 +667,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Использовать кодировку ISO 8859-1 вместо ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Данные поиска последний раз обновлялись %1" @@ -617,26 +696,30 @@ msgid "[W -180 ... 180 E]" msgstr "[З −180 ... 180 В]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Основные настройки" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Устройство %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Обновить данные поиска" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Загрузка данных поиска" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Не удалось обновить данные поиска." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -644,273 +727,328 @@ "Данные поиска обновлены. Изменения вступят в силу\n" "после закрытия диалога настройки." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Имя: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Влево" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Сброс" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Удалить" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Вправо" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Устройство не подключено." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Кабельное" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Эфирное" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Автопоиск" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Автопоиск с шагом 167 кГц" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Автопоиск по Австралии" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Автопоиск по Италии" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Автопоиск по Тайваню" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Тайм-аут тюнера (мс)" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Источник:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Нет источника" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Имя:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Настройка:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Переключатель DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Ротор USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Ротор позиционера" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Параметры LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Параметры конвертора" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Добавить спутник" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Спутник" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Координаты" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Удалить спутник" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Универсальный конвертор" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-диапазон конвертора" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "Многоканальный конвертор C-диапазона" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Пользовательский LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Частота переключения (МГц)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Потеря кадра нижнего диапазона (МГц)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Потеря кадра верхнего диапазона (МГц)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Потеря горизонтального кадра (МГц)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Потеря вертикального кадра (МГц)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "Потеря кадра (МГц)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Начать" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Длительность" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Раздел" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Программа передач" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Запланировать программу" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Запись передачи" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Поиск:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Не найдено подходящего устройства." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Начало" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Длительность" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Заголовок" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Канал" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Не найдено подходящего устройства." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Не найдено подходящего устройства." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Планирование записи" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Создать" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Имя" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Изменить расписание" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Имя:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Канал:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Начало:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Начало" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Длительность:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Конец:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Повторять:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Никогда" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Ежедневно" @@ -931,99 +1069,131 @@ msgid "SNR" msgstr "ОСШ" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Каналы" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Очистить" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Поиск каналов" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Начать поиск" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Сигнал:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "ОСШ:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Настроено:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Фильтр" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Некодированные" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Радио" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "ТВ" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Провайдер:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Добавить отфильтрованные" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Добавить выбранные" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Результаты поиска" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Текущий транспондер" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Остановить поиск" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Программа передач" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "Индикация на экране" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Планирование записи" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Немедленная запись" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Настроить телевидение..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Поиск:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Канал: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine сейчас выполняет запись телепрограмм.\n" +"Вы действительно хотите закрыть приложение?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"В расписании Kaffeine имеются пункты записи телепрограмм.\n" +"Вы действительно хотите закрыть приложение?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Запись начата" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Запись прекращена" @@ -1068,26 +1238,26 @@ msgid "Random" msgstr "Случайное" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Добавить субтитры" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Переименовать" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Безымянный список воспроизведения" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Файлы субтитров" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1098,6 +1268,54 @@ "*.m3u|Список воспроизведения M3U\n" "*.pls|Список воспроизведения PLS" +#~ msgid "Channel Settings" +#~ msgstr "Настройка канала" + +#~ msgid "Name" +#~ msgstr "Имя" + +#~ msgid "Edit" +#~ msgstr "Изменить" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Удалить" + +#~ msgid "Remove" +#~ msgstr "Удалить" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Начать" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Начало:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Создать" + +#~ msgid "Channel" +#~ msgstr "Канал" + +#~ msgid "Duration" +#~ msgstr "Длительность" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Запланировать программу" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Имя" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Обновить" @@ -1181,9 +1399,6 @@ #~ msgid "Channel search" #~ msgstr "Поиск канала" -#~ msgid "Edit channel" -#~ msgstr "Редактировать канал" - #~ msgid "Change icon" #~ msgstr "Изменить значок" diff -Nru kaffeine-1.1/po/se/kaffeine.po kaffeine-1.2.2/po/se/kaffeine.po --- kaffeine-1.1/po/se/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/se/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,21 +5,21 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-13 05:47+0200\n" +"POT-Creation-Date: 2011-03-25 03:24+0100\n" "PO-Revision-Date: 2007-03-06 22:51+0100\n" "Last-Translator: Børre Gaup \n" "Language-Team: Northern Sami \n" +"Language: se\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" -"Language: se\n" "X-Environment: kde\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "" @@ -27,312 +27,354 @@ msgid "A media player for KDE with digital TV support." msgstr "" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:204 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "" -#: mainwindow.cpp:151 +#: mainwindow.cpp:209 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:223 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "" + +#: mainwindow.cpp:225 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "" + +#: mainwindow.cpp:227 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "" + +#: mainwindow.cpp:229 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:234 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "" -#: mainwindow.cpp:159 +#: mainwindow.cpp:242 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "" -#: mainwindow.cpp:188 +#: mainwindow.cpp:281 msgid "&File" msgstr "" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Raba URL:a" +#: mainwindow.cpp:288 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:299 mainwindow.cpp:503 msgid "Play Audio CD" msgstr "Čuojat jietna-CD:a" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:303 mainwindow.cpp:504 msgid "Play Video CD" msgstr "" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:307 mainwindow.cpp:505 msgid "Play DVD" msgstr "Čuojat DVD:a" -#: mainwindow.cpp:222 +#: mainwindow.cpp:311 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "" + +#: mainwindow.cpp:321 msgid "&Playback" msgstr "" -#: mainwindow.cpp:225 +#: mainwindow.cpp:324 msgctxt "menu bar" msgid "Play&list" msgstr "" -#: mainwindow.cpp:229 +#: mainwindow.cpp:328 msgid "&Television" msgstr "" -#: mainwindow.cpp:233 +#: mainwindow.cpp:332 msgid "&Settings" msgstr "" -#: mainwindow.cpp:253 +#: mainwindow.cpp:351 msgid "Start" msgstr "Álggat" -#: mainwindow.cpp:254 +#: mainwindow.cpp:352 msgid "Playback" msgstr "" -#: mainwindow.cpp:255 +#: mainwindow.cpp:353 msgid "Playlist" msgstr "Čuojahanlistu" -#: mainwindow.cpp:257 +#: mainwindow.cpp:355 msgid "Television" msgstr "" -#: mainwindow.cpp:359 +#: mainwindow.cpp:502 msgid "Start in full screen mode" msgstr "" -#: mainwindow.cpp:363 +#: mainwindow.cpp:506 msgctxt "command line option" msgid "(deprecated option)" msgstr "" -#: mainwindow.cpp:364 +#: mainwindow.cpp:507 msgctxt "command line option" msgid "Play TV channel" msgstr "" -#: mainwindow.cpp:365 +#: mainwindow.cpp:508 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "" -#: mainwindow.cpp:366 +#: mainwindow.cpp:509 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "" -#: mainwindow.cpp:367 +#: mainwindow.cpp:510 msgid "Files or URLs to play" msgstr "" -#: mainwindow.cpp:511 +#: mainwindow.cpp:663 +msgctxt "@title:window" +msgid "Open URL" +msgstr "" + +#: mainwindow.cpp:663 msgid "Enter a URL:" msgstr "Čális fierpmádatčujuhusa:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Čuojat" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Boatkke" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "" @@ -347,7 +389,7 @@ msgid "Exit Minimal Mode" msgstr "" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "" @@ -398,163 +440,169 @@ msgid "Your emails" msgstr "" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "" -#: dvb/dvbchannelui.cpp:82 +#: dvb/dvbchanneldialog.cpp:79 msgid "Horizontal" msgstr "" -#: dvb/dvbchannelui.cpp:83 +#: dvb/dvbchanneldialog.cpp:80 msgid "Vertical" msgstr "" -#: dvb/dvbchannelui.cpp:84 +#: dvb/dvbchanneldialog.cpp:81 msgid "Circular left" msgstr "" -#: dvb/dvbchannelui.cpp:85 +#: dvb/dvbchanneldialog.cpp:82 msgid "Circular right" msgstr "" -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Namma" +#: dvb/dvbchanneldialog.cpp:270 dvb/dvbepgdialog.cpp:288 +#: dvb/dvbepgdialog.cpp:449 dvb/dvbrecordingdialog.cpp:189 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:272 msgid "Number" msgstr "Lohku" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:522 dvb/dvbrecordingdialog.cpp:62 +msgctxt "@action" msgid "Edit" msgstr "" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:530 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:69 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "" -#: dvb/dvbchannelui.cpp:739 +#: dvb/dvbchanneldialog.cpp:547 msgctxt "message box" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 +#: dvb/dvbchanneldialog.cpp:596 msgid "Channel Settings" msgstr "" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:605 dvb/dvbconfigdialog.cpp:680 msgid "Name:" msgstr "Namma:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:614 msgid "Number:" msgstr "" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:623 dvb/dvbconfigdialog.cpp:671 +#: dvb/dvbscandialog.cpp:269 msgid "Source:" msgstr "Gáldu:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:631 dvb/dvbchanneldialog.cpp:653 +#: dvb/dvbchanneldialog.cpp:671 dvb/dvbchanneldialog.cpp:692 msgid "Frequency (MHz):" msgstr "" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:634 dvb/dvbchanneldialog.cpp:655 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:636 dvb/dvbchanneldialog.cpp:661 +#: dvb/dvbchanneldialog.cpp:676 dvb/dvbchanneldialog.cpp:695 msgid "Modulation:" msgstr "" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:638 dvb/dvbchanneldialog.cpp:657 +#: dvb/dvbchanneldialog.cpp:678 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:651 msgid "Polarization:" msgstr "" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:663 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:674 msgid "Bandwidth:" msgstr "" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:680 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:682 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:684 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:686 msgid "Hierarchy:" msgstr "" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:703 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:710 msgid "Video PID:" msgstr "Video-PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:715 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:725 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:736 msgid "Network ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:743 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:750 msgid "Service ID:" msgstr "Bálvalus-ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:757 msgid "Audio channel:" msgstr "" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:781 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "" @@ -611,298 +659,307 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." msgstr "" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Máhcat" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB-heivehusat" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelihtta" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Sajádat" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universealla LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Álgge" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Guhkkodat" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Namahus" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:39 +msgctxt "@title:window" msgid "Program Guide" msgstr "" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" +#: dvb/dvbepgdialog.cpp:58 +msgctxt "@action:inmenu tv show" +msgid "Record Show" msgstr "" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:66 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." +#: dvb/dvbepgdialog.cpp:443 dvb/dvbrecordingdialog.cpp:191 +msgctxt "@title:column tv show" +msgid "Start" msgstr "" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:445 dvb/dvbrecordingdialog.cpp:193 +msgctxt "@title:column tv show" +msgid "Duration" msgstr "" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:447 +msgctxt "@title:column tv show" +msgid "Title" msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanála" +#: dvb/dvbliveview.cpp:207 dvb/dvbliveview.cpp:352 dvb/dvbscandialog.cpp:428 +msgctxt "message box" +msgid "No available device found." +msgstr "" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbrecordingdialog.cpp:41 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:55 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:187 +msgctxt "@title:column recording" +msgid "Name" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:281 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:289 +msgctxt "@label recording" +msgid "Name:" +msgstr "" + +#: dvb/dvbrecordingdialog.cpp:302 +msgctxt "@label tv show" msgid "Channel:" -msgstr "Kanála:" +msgstr "" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Álgge:" +#: dvb/dvbrecordingdialog.cpp:312 +msgctxt "@label tv show" +msgid "Start:" +msgstr "" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:320 +msgctxt "@label tv show" msgid "Duration:" -msgstr "Guhkkodat:" +msgstr "" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:329 +msgctxt "@label tv show" msgid "End:" -msgstr "Loahppa:" +msgstr "" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:333 +msgctxt "@label recording" msgid "Repeat:" msgstr "" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:337 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:341 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "" @@ -923,99 +980,127 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanálat" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:256 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:266 msgid "Channel Scan" msgstr "" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:274 dvb/dvbscandialog.cpp:387 msgid "Start Scan" msgstr "Álggat ohcama" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:286 msgid "Signal:" msgstr "Signála:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:291 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:296 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:309 msgid "Filter" msgstr "Silli" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:312 msgid "Free to air" msgstr "" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:315 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:318 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:321 msgid "Provider:" msgstr "" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:329 msgid "Add Filtered" msgstr "" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:333 msgid "Add Selected" msgstr "" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:339 msgid "Scan Results" msgstr "" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:355 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:433 msgid "Stop Scan" msgstr "" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "Šearbmadieđut" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Bádde dakkaviđi" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:278 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:290 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:300 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:359 msgctxt "osd" msgid "Instant Record Started" msgstr "" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:363 dvb/dvbtab.cpp:373 msgctxt "osd" msgid "Instant Record Stopped" msgstr "" @@ -1060,26 +1145,26 @@ msgid "Random" msgstr "" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/sk/kaffeine.po kaffeine-1.2.2/po/sk/kaffeine.po --- kaffeine-1.1/po/sk/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/sk/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-02-13 14:00+0100\n" "Last-Translator: Vaclav Divok \n" "Language-Team: Slovak \n" @@ -15,7 +15,7 @@ "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -23,312 +23,373 @@ msgid "A media player for KDE with digital TV support." msgstr "Mediálny prehrávač pre KDE s podporou digitálnej TV" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 The Kaffeine Authors" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Vývojár" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Prehrať súbor" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Prehrať Audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Prehrať Video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Prehrať DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitálna TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Nastavenie Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Minimálny režim" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimálny režim" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Celoobrazovkový režim" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Časová dĺžka krátkeho krokovania:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Časová dĺžka dlhého krokovania:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Súbor" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Otvoriť URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Prehrať Audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Prehrať Video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Prehrať DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Prehrať DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Prehrávanie" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Zoznam skladieb" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televízia" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Nastavenia" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Štart" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Prehrávanie" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Zoznam skladieb" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televízia" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Štart v celoobrazovkovom režime" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(nedoporučené nastavenie)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Prehrať TV kanál" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Prehrať posledne naladený TV kanál" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Výpis dvb dát (ladiace nastavenie)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Súbory, alebo URL na prehrávanie" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Otvoriť URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Vložte URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Preskočiť na pozíciu" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Zadajte pozíciu:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Predchádzajúci" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Prehrať" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauza" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Zastaviť" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Nasledujúci" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Celoobrazovkový režim" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimálny režim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "vypnuté" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Zvýšiť hlasitosť" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Znížiť hlasitosť" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Stlmiť hlasitosť" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Zrušiť prekladanie" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Pomer strán" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatický" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Prispôsobiť veľkosti okna" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatická zmena veľkosti" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Vypnúť" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Originálna veľkosť" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dvojnásobná veľkosť" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Ovládač hlasitosti" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Preskočiť na pozíciu" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Preskočiť" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Skočiť %1s dozadu" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Skočiť %1s dopredu" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Posuvník prehrávania" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Vysunúť/Zasunúť Menu" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Názov" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapitola" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Uhol" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Prepnúť medzi zobrazením uplynutého a zostávajúceho času" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Podporované súbory" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Všetky súbory" @@ -343,7 +404,7 @@ msgid "Exit Minimal Mode" msgstr "Opustiť minimálny režim" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Zastavené" @@ -394,163 +455,191 @@ msgid "Your emails" msgstr "vaclav.divok@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Prosím, nainštalujte Qt SQLite plugin." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Nemôžem otvoriť SQLite databázu." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Interná utilita pre Kaffeine" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horizotnálne" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikálne" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Otočiť doľava" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Otočiť doprava" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Názov" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanál" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Číslo" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Editovať" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Odstrániť" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Nastavenia kanálu" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horizotnálne" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikálne" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Otočiť doľava" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Otočiť doprava" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanál" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Názov:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Číslo:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Zdroj:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekvencia (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Prenosová rýchlosť (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulácia:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizácia:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Utlmenie:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Šírka pásma:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Vysielací mód:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Ochranný interval:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarchia:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID videa:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID titulkov:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID teletextu:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID siete:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID prenosového prúdu:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID Služby:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Audio kanál:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Premiešaný:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Nastavenie televízie" @@ -578,7 +667,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Scanované údaje boli naposledy aktualizované %1" @@ -607,26 +696,32 @@ msgid "[W -180 ... 180 E]" msgstr "[Z -180 ... 180 V]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Všeobecné nastavenia" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Zariadenie %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Aktualizovať scanované údaje cez internet" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Sťahujem scanované údaje" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Aktualizácia scanovaných údajov zlyhala." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -634,273 +729,344 @@ "Scanované údaje úspešne aktualizované. Zmeny sa\n" "prejavia po zatvorení konfiguračného dialógu." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Názov: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Posunúť doľava" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Vynulovať" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Odstrániť" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Posunúť doprava" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Zariadenie nepripojené" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kábel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Terestriál" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Automatické hľadanie" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Automatické hľadanie s 167 kHz Offsetmi" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Automatické vyhľadávanie Austrália" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Automatické vyhľadávanie Taliansko" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Automatické vyhľadávanie Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Vypršanie tuneru (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Zdroj:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Žiaden zdroj" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Názov:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Konfigurácia:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC prepínač" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Pozicionér" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 nastavenia" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB nastavenia" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Pridať satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Pozícia" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Odstrániť satelit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Univerzálne LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Multipoint LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Vlastné LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Prepnúť frekvenciu (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Dolná priepusť LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Horná priepusť LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontálna LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertikálna LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Začiatok" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Trvanie" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Názov" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Programový sprievodca" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Naplánovať program" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Plán nahrávania" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Hľadať:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nenašlo sa žiadne zariadenie." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Štart" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Trvanie" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Názov" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanál" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nenašlo sa žiadne zariadenie." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nenašlo sa žiadne zariadenie." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Plán nahrávania" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Nový" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "Názov" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Editovať položky plánu" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Názov:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanál:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Začiatok:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Štart" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Trvanie:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Koniec:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Opakovať:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "NIkdy" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Denne" @@ -921,99 +1087,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanály" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Vyčistiť" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Skenovanie kanálov" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Začať skenovanie" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signál:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Naladené:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Voľne vysielané" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Rádio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Poskytovateľ:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Pridať filtrované" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Pridať vybrané" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Výsledky skenovania" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Aktuálny transpondér" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Zastaviť skenovanie" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programový sprievodca" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Plán nahrávania" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Okamžité nahrávanie" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Nastavenie televízie" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Hľadať:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanál: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Okamžité nahrávanie začalo" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Okamžité nahrávanie zastavené" @@ -1058,30 +1254,30 @@ msgid "Random" msgstr "Náhodné" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Pridať satelit" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Premenovať" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Nepomenovaný zoznam skladieb" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "PID titulkov:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/sr/kaffeine.po kaffeine-1.2.2/po/sr/kaffeine.po --- kaffeine-1.1/po/sr/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/sr/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-04-09 22:13+0200\n" "Last-Translator: Dalibor Djuric \n" "Language-Team: Serbian \n" @@ -20,7 +20,7 @@ "X-Generator: Lokalize 1.0\n" "X-Environment: kde\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Кафеин" @@ -28,312 +28,373 @@ msgid "A media player for KDE with digital TV support." msgstr "Медија плејер за КДЕ са подршком за дигиталну телевизију." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2010, аутори Кафеина" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Кристоф Пфистер" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Одржавалац" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Пусти фајл" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Пусти аудио ЦД" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Пусти видео ЦД" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Пусти ДВД" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Дигитална ТВ" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Подеси Кафеин" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Минималистички режим" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Минималистички режим" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Режим пуног екрана" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Мали прескок:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Велики прескок:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Фајл" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Отвори УРЛ" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Пусти аудио ЦД" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Пусти видео ЦД" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Пусти ДВД" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Пусти ДВД" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Пуштање" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Листа пуштања" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Телевизија" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Подешавање" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Почетна" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Пуштање" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Листа пуштања" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Телевизија" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Покрени у режиму пуног екрана" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(застарела опција)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Пусти ТВ канал" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Пусти последње подешен ТВ канал" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Попиши ДВБ податке (исправљачка опција)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Фајлови или УРЛ‑ови за пуштање" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Отвори УРЛ" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Унесите УРЛ:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Скочи на позицију" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Унесите позицију:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Претходно" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Пусти" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Паузирај" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Заустави" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Следеће" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Режим пуног екрана" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Минималистички режим" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "искључено" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Аудио" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Повећај јачину звука" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Смањи јачину звука" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Умукни звук" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Видео" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Расплићи" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Пропорција" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Аутоматски" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Уклопи у прозор" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Сам промени величину" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Искључено" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Оригинална величина" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Двострука величина" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Клизач јачине звука" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Скочи на позицију" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Скочи" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Скочи %1 сек. уназад" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Скочи %1 сек. унапред" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Клизач тражења" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Укљученост менија" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Наслов" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Поглавље" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Угао" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Пребацивање између приказа протеклог и преосталог времена" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Подржани медија фајлови" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Сви фајлови" @@ -348,7 +409,7 @@ msgid "Exit Minimal Mode" msgstr "Напусти минималистички режим" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Заустављено" @@ -399,165 +460,193 @@ msgid "Your emails" msgstr "slsimic@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Инсталирајте прикључак СКуЛајта за КуТ." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Не могу да отворим СКуЛајтову базу." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Интерна алатка за Кафеин." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "хоризонтална" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "вертикална" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Кружно лево" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Кружно десно" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "име" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Канал" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "број" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Уреди" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Уклони" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Поставке канала̂" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "хоризонтална" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "вертикална" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Кружно лево" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Кружно десно" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Канал" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Име:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Број:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Извор:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Фреквенција (MHz):" # http://en.wikipedia.org/wiki/Symbol_rate -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Модулациони проток (Bd):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Модулација:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "ФЕЦ проток:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Поларизација:" # http://en.wikipedia.org/wiki/Roll-off -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Фреквентни пад:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Опсег:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "ФЕЦ проток ниског приоритета:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Режим преноса:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Заштитни период:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Хијерархија:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "ПИД ПМТ‑а:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "ПИД видеа:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "ПИД титла:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "ПИД телетекста:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ИД мреже:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ИД преносног тока:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ИД сервиса:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Аудио канал:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Кодиран:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Подешавање телевизије" @@ -585,7 +674,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Подаци о скенирању ажурирани %1" @@ -614,26 +703,32 @@ msgid "[W -180 ... 180 E]" msgstr "[З -180 ... 180 И]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Опште опције" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Уређај %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Освежи податке о скенирању са Интернета" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Преузимам податке о скенирању" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Неуспело освежавање података о скенирању." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,273 +736,344 @@ "Подаци о скенирању успешно ажурирани. Промене\n" "ће имати утицаја након што затворите дијалог за подешавање." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Име: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Помери улево" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Ресетуј" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Уклони" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Помери удесно" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Уређај није повезан." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "ДВБ‑Ц" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "ДВБ‑С2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "ДВБ‑С" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "ДВБ‑Т" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "АТСЦ" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Кабловска" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Земаљска" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Аутоскенирање" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Аутоскенирање са померајем од 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Аутоскенирање за Аустралију" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Аутоскенирање за Италију" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Аутоскенирање за Тајван" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "АТСЦ" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Прековреме бирача (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Извор:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Нема извора" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Име:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Подешавање:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Дајсек прекидач" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "УСАЛС ротор" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Позициони ротор" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Поставке ЛНБ‑а %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Поставке ЛНБ‑а" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Додај сателит" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Сателит" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Положај" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Уклони сателит" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Универзални ЛНБ" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C‑појасни ЛНБ" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C‑појасни вишеодредишни ЛНБ" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Посебан ЛНБ" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Фреквенција пребацивања (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Нископојасни ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Високопојасни ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Хоризонтални ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Вертикални ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "ЛОФ (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "почетак" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "трајање" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "наслов" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Програмски водич" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Распореди програм" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Распоред снимања" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Тражи:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 — %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Није нађен доступан уређај." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Почетна" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "трајање" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "наслов" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Канал" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Није нађен доступан уређај." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Није нађен доступан уређај." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Распоред снимања" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Ново" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "име" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Уреди унос распореда" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Име:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Канал:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Почетак:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Почетна" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Трајање:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Завршетак:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Понови:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "никад" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "дневно" @@ -928,99 +1094,129 @@ msgid "SNR" msgstr "СНР" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Канали" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Очисти" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Скенирање канала" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Почни скенирање" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Сигнал:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "СНР:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Подешено:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Филтер" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Слободно за емитовање" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Радио" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "ТВ" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Провајдер:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Додај филтрирано" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Додај изабрано" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Резултати скенирања" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Тренутни транспондер" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Заустави скенирање" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Програмски водич" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "ОСД" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Распоред снимања" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Тренутно снимање" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Подешавање телевизије" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Тражи:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Канал: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Тренутно снимање је покренуто" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Тренутно снимање је заустављено" @@ -1065,30 +1261,30 @@ msgid "Random" msgstr "Насумично" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Додај сателит" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Преименуј" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Неименована листа пуштања" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "ПИД титла:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/sr@ijekavian/kaffeine.po kaffeine-1.2.2/po/sr@ijekavian/kaffeine.po --- kaffeine-1.1/po/sr@ijekavian/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/sr@ijekavian/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-04-22 17:40+0200\n" "Last-Translator: Dalibor Djuric \n" "Language-Team: Serbian \n" @@ -20,7 +20,7 @@ "X-Generator: Lokalize 1.0\n" "X-Environment: kde\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Кафеин" @@ -28,312 +28,373 @@ msgid "A media player for KDE with digital TV support." msgstr "Медија плејер за КДЕ са подршком за дигиталну телевизију." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2010, аутори Кафеина" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Кристоф Пфистер" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Одржавалац" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Пусти фајл" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Пусти аудио ЦД" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Пусти видео ЦД" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Пусти ДВД" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Дигитална ТВ" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Подеси Кафеин" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Минималистички режим" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Минималистички режим" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Режим пуног екрана" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Мали прескок:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Велики прескок:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Фајл" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Отвори УРЛ" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Пусти аудио ЦД" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Пусти видео ЦД" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Пусти ДВД" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Пусти ДВД" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Пуштање" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Листа пуштања" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Телевизија" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Подешавање" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Почетна" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Пуштање" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Листа пуштања" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Телевизија" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Покрени у режиму пуног екрана" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(застарела опција)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Пусти ТВ канал" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Пусти последње подешен ТВ канал" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Попиши ДВБ податке (исправљачка опција)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Фајлови или УРЛ‑ови за пуштање" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Отвори УРЛ" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Унесите УРЛ:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Скочи на позицију" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Унесите позицију:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Претходно" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Пусти" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Паузирај" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Заустави" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Сљедеће" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Режим пуног екрана" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Минималистички режим" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "искључено" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Аудио" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Повећај јачину звука" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Смањи јачину звука" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Умукни звук" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Видео" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Расплићи" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Пропорција" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Аутоматски" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Уклопи у прозор" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Сам промијени величину" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Искључено" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Оригинална величина" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Двострука величина" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Клизач јачине звука" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Скочи на позицију" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Скочи" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Скочи %1 сек. уназад" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Скочи %1 сек. унапријед" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Клизач тражења" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Укљученост менија" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Наслов" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Поглавље" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Угао" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Пребацивање између приказа протеклог и преосталог времена" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Подржани медија фајлови" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Сви фајлови" @@ -348,7 +409,7 @@ msgid "Exit Minimal Mode" msgstr "Напусти минималистички режим" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Заустављено" @@ -399,165 +460,193 @@ msgid "Your emails" msgstr "slsimic@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Инсталирајте прикључак СКуЛајта за КуТ." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Не могу да отворим СКуЛајтову базу." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Интерна алатка за Кафеин." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "хоризонтална" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "вертикална" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Кружно лијево" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Кружно десно" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "име" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Канал" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "број" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Уреди" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Уклони" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Поставке канала̂" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "хоризонтална" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "вертикална" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Кружно лијево" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Кружно десно" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Канал" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Име:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Број:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Извор:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Фреквенција (MHz):" # http://en.wikipedia.org/wiki/Symbol_rate -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Модулациони проток (Bd):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Модулација:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "ФЕЦ проток:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Поларизација:" # http://en.wikipedia.org/wiki/Roll-off -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Фреквентни пад:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Опсег:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "ФЕЦ проток ниског приоритета:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Режим преноса:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Заштитни период:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Хијерархија:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "ПИД ПМТ‑а:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "ПИД видеа:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "ПИД титла:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "ПИД телетекста:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ИД мреже:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ИД преносног тока:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ИД сервиса:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Аудио канал:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Кодиран:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Подешавање телевизије" @@ -585,7 +674,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Подаци о скенирању ажурирани %1" @@ -614,26 +703,32 @@ msgid "[W -180 ... 180 E]" msgstr "[З -180 ... 180 И]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Опште опције" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Уређај %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Освежи податке о скенирању са Интернета" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Преузимам податке о скенирању" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Неуспело освежавање података о скенирању." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,273 +736,344 @@ "Подаци о скенирању успјешно ажурирани. Промјене\n" "ће имати утицаја након што затворите дијалог за подешавање." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Име: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Помјери улијево" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Ресетуј" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Уклони" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Помјери удесно" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Уређај није повезан." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "ДВБ‑Ц" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "ДВБ‑С2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "ДВБ‑С" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "ДВБ‑Т" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "АТСЦ" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Кабловска" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Земаљска" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Аутоскенирање" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Аутоскенирање са помјерајем од 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Аутоскенирање за Аустралију" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Аутоскенирање за Италију" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Аутоскенирање за Тајван" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "АТСЦ" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Прековреме бирача (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Извор:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Нема извора" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Име:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Подешавање:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Дајсек прекидач" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "УСАЛС ротор" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Позициони ротор" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Поставке ЛНБ‑а %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Поставке ЛНБ‑а" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Додај сателит" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Сателит" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Положај" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Уклони сателит" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Универзални ЛНБ" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C‑појасни ЛНБ" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C‑појасни вишеодредишни ЛНБ" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Посебан ЛНБ" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Фреквенција пребацивања (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Нископојасни ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Високопојасни ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Хоризонтални ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Вертикални ЛОФ (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "ЛОФ (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "почетак" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "трајање" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "наслов" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Програмски водич" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Распореди програм" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Распоред снимања" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Тражи:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 — %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Није нађен доступан уређај." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Почетна" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "трајање" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "наслов" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Канал" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Није нађен доступан уређај." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Није нађен доступан уређај." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Распоред снимања" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Ново" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "име" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Уреди унос распореда" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Име:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Канал:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Почетак:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Почетна" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Трајање:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Завршетак:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Понови:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "никад" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "дневно" @@ -928,99 +1094,129 @@ msgid "SNR" msgstr "СНР" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Канали" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Очисти" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Скенирање канала" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Почни скенирање" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Сигнал:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "СНР:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Подешено:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Филтер" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Слободно за емитовање" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Радио" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "ТВ" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Провајдер:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Додај филтрирано" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Додај изабрано" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Резултати скенирања" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Тренутни транспондер" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Заустави скенирање" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Програмски водич" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "ОСД" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Распоред снимања" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Тренутно снимање" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Подешавање телевизије" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Тражи:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Канал: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Тренутно снимање је покренуто" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Тренутно снимање је заустављено" @@ -1065,30 +1261,30 @@ msgid "Random" msgstr "Насумично" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Додај сателит" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Преименуј" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Неименована листа пуштања" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "ПИД титла:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/sr@ijekavianlatin/kaffeine.po kaffeine-1.2.2/po/sr@ijekavianlatin/kaffeine.po --- kaffeine-1.1/po/sr@ijekavianlatin/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/sr@ijekavianlatin/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-04-22 17:40+0200\n" "Last-Translator: Dalibor Djuric \n" "Language-Team: Serbian \n" @@ -20,7 +20,7 @@ "X-Generator: Lokalize 1.0\n" "X-Environment: kde\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,312 +28,373 @@ msgid "A media player for KDE with digital TV support." msgstr "Medija plejer za KDE sa podrškom za digitalnu televiziju." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2010, autori Kaffeinea" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Kristof Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Održavalac" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Pusti fajl" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Pusti audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Pusti video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Pusti DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitalna TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Podesi Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Minimalistički režim" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimalistički režim" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Režim punog ekrana" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Mali preskok:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Veliki preskok:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fajl" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Otvori URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Pusti audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Pusti video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Pusti DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Pusti DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Puštanje" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Lista puštanja" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televizija" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Podešavanje" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Početna" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Puštanje" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lista puštanja" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televizija" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Pokreni u režimu punog ekrana" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(zastarela opcija)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Pusti TV kanal" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Pusti poslednje podešen TV kanal" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Popiši DVB podatke (ispravljačka opcija)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Fajlovi ili URL‑ovi za puštanje" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Otvori URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Unesite URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Skoči na poziciju" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Unesite poziciju:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Prethodno" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Pusti" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauziraj" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Zaustavi" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Sljedeće" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Režim punog ekrana" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimalistički režim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "isključeno" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Povećaj jačinu zvuka" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Smanji jačinu zvuka" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Umukni zvuk" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Rasplići" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Proporcija" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatski" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Uklopi u prozor" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Sam promijeni veličinu" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Isključeno" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Originalna veličina" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dvostruka veličina" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Klizač jačine zvuka" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Skoči na poziciju" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Skoči" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Skoči %1 sek. unazad" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Skoči %1 sek. unaprijed" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Klizač traženja" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Uključenost menija" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Naslov" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Poglavlje" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ugao" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Prebacivanje između prikaza proteklog i preostalog vremena" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Podržani medija fajlovi" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Svi fajlovi" @@ -348,7 +409,7 @@ msgid "Exit Minimal Mode" msgstr "Napusti minimalistički režim" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Zaustavljeno" @@ -399,165 +460,193 @@ msgid "Your emails" msgstr "slsimic@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Instalirajte priključak SQLitea za Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Ne mogu da otvorim SQLiteovu bazu." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Interna alatka za Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "horizontalna" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "vertikalna" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Kružno lijevo" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Kružno desno" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "ime" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "broj" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Uredi" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Ukloni" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Postavke kanalâ̂" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "horizontalna" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "vertikalna" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Kružno lijevo" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Kružno desno" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanal" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Ime:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Broj:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Izvor:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekvencija (MHz):" # http://en.wikipedia.org/wiki/Symbol_rate -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Modulacioni protok (Bd):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulacija:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC protok:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizacija:" # http://en.wikipedia.org/wiki/Roll-off -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Frekventni pad:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Opseg:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC protok niskog prioriteta:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Režim prenosa:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Zaštitni period:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hijerarhija:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID PMT‑a:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID videa:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID titla:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID teleteksta:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID mreže:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID prenosnog toka:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID servisa:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Audio kanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Kodiran:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Podešavanje televizije" @@ -585,7 +674,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Podaci o skeniranju ažurirani %1" @@ -614,26 +703,32 @@ msgid "[W -180 ... 180 E]" msgstr "[Z -180 ... 180 I]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opšte opcije" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Uređaj %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Osveži podatke o skeniranju sa Interneta" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Preuzimam podatke o skeniranju" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Neuspelo osvežavanje podataka o skeniranju." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,273 +736,344 @@ "Podaci o skeniranju uspješno ažurirani. Promjene\n" "će imati uticaja nakon što zatvorite dijalog za podešavanje." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Ime: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Pomjeri ulijevo" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Resetuj" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Ukloni" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Pomjeri udesno" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Uređaj nije povezan." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB‑C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB‑S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB‑S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB‑T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kablovska" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Zemaljska" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoskeniranje" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoskeniranje sa pomjerajem od 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoskeniranje za Australiju" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoskeniranje za Italiju" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoskeniranje za Tajvan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Prekovreme birača (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Izvor:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Nema izvora" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Ime:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Podešavanje:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC prekidač" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Pozicioni rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Postavke LNB‑a %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Postavke LNB‑a" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Dodaj satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Položaj" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Ukloni satelit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Univerzalni LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C‑pojasni LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C‑pojasni višeodredišni LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Poseban LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frekvencija prebacivanja (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Niskopojasni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Visokopojasni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontalni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertikalni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "početak" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "trajanje" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "naslov" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Programski vodič" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Rasporedi program" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Raspored snimanja" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Traži:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 — %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nije nađen dostupan uređaj." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Početna" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "trajanje" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "naslov" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nije nađen dostupan uređaj." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nije nađen dostupan uređaj." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Raspored snimanja" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Novo" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "ime" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Uredi unos rasporeda" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Ime:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Početak:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Početna" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Trajanje:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Završetak:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Ponovi:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "nikad" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "dnevno" @@ -928,99 +1094,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanali" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Očisti" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Skeniranje kanala" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Počni skeniranje" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Podešeno:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Slobodno za emitovanje" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Provajder:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Dodaj filtrirano" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Dodaj izabrano" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Rezultati skeniranja" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Trenutni transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Zaustavi skeniranje" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programski vodič" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Raspored snimanja" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Trenutno snimanje" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Podešavanje televizije" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Traži:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Trenutno snimanje je pokrenuto" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Trenutno snimanje je zaustavljeno" @@ -1065,30 +1261,30 @@ msgid "Random" msgstr "Nasumično" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Dodaj satelit" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Preimenuj" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Neimenovana lista puštanja" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "PID titla:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/sr@latin/kaffeine.po kaffeine-1.2.2/po/sr@latin/kaffeine.po --- kaffeine-1.1/po/sr@latin/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/sr@latin/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-04-09 22:13+0200\n" "Last-Translator: Dalibor Djuric \n" "Language-Team: Serbian \n" @@ -20,7 +20,7 @@ "X-Generator: Lokalize 1.0\n" "X-Environment: kde\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -28,312 +28,373 @@ msgid "A media player for KDE with digital TV support." msgstr "Medija plejer za KDE sa podrškom za digitalnu televiziju." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007–2010, autori Kaffeinea" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Kristof Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Održavalac" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Pusti fajl" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Pusti audio CD" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Pusti video CD" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Pusti DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digitalna TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Podesi Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Minimalistički režim" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimalistički režim" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Režim punog ekrana" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Mali preskok:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Veliki preskok:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Fajl" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "Otvori URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Pusti audio CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Pusti video CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Pusti DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Pusti DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Puštanje" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&Lista puštanja" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televizija" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&Podešavanje" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Početna" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Puštanje" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Lista puštanja" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televizija" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Pokreni u režimu punog ekrana" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(zastarela opcija)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Pusti TV kanal" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Pusti poslednje podešen TV kanal" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Popiši DVB podatke (ispravljačka opcija)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Fajlovi ili URL‑ovi za puštanje" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "Otvori URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Unesite URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "Skoči na poziciju" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Unesite poziciju:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Prethodno" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Pusti" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Pauziraj" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Zaustavi" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Sledeće" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Režim punog ekrana" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimalistički režim" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "isključeno" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Audio" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Povećaj jačinu zvuka" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Smanji jačinu zvuka" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Umukni zvuk" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Rasplići" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Proporcija" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatski" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Uklopi u prozor" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Sam promeni veličinu" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Isključeno" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Originalna veličina" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dvostruka veličina" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Klizač jačine zvuka" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Skoči na poziciju" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Skoči" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Skoči %1 sek. unazad" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Skoči %1 sek. unapred" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Klizač traženja" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Uključenost menija" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Naslov" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Poglavlje" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Ugao" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Prebacivanje između prikaza proteklog i preostalog vremena" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Podržani medija fajlovi" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Svi fajlovi" @@ -348,7 +409,7 @@ msgid "Exit Minimal Mode" msgstr "Napusti minimalistički režim" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Zaustavljeno" @@ -399,165 +460,193 @@ msgid "Your emails" msgstr "slsimic@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Instalirajte priključak SQLitea za Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Ne mogu da otvorim SQLiteovu bazu." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Interna alatka za Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "horizontalna" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "vertikalna" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Kružno levo" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Kružno desno" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "ime" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "broj" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Uredi" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Ukloni" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Postavke kanalâ̂" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "horizontalna" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "vertikalna" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Kružno levo" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Kružno desno" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanal" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "Ime:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Broj:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Izvor:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekvencija (MHz):" # http://en.wikipedia.org/wiki/Symbol_rate -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Modulacioni protok (Bd):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulacija:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC protok:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizacija:" # http://en.wikipedia.org/wiki/Roll-off -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Frekventni pad:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Opseg:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC protok niskog prioriteta:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Režim prenosa:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Zaštitni period:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hijerarhija:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID PMT‑a:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID videa:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID titla:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID teleteksta:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ID mreže:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "ID prenosnog toka:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ID servisa:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Audio kanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Kodiran:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "Podešavanje televizije" @@ -585,7 +674,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Podaci o skeniranju ažurirani %1" @@ -614,26 +703,32 @@ msgid "[W -180 ... 180 E]" msgstr "[Z -180 ... 180 I]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Opšte opcije" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Uređaj %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Osveži podatke o skeniranju sa Interneta" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Preuzimam podatke o skeniranju" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Neuspelo osvežavanje podataka o skeniranju." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,273 +736,344 @@ "Podaci o skeniranju uspešno ažurirani. Promene\n" "će imati uticaja nakon što zatvorite dijalog za podešavanje." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Ime: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Pomeri ulevo" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Resetuj" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Ukloni" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Pomeri udesno" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Uređaj nije povezan." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB‑C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB‑S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB‑S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB‑T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kablovska" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Zemaljska" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Autoskeniranje" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Autoskeniranje sa pomerajem od 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Autoskeniranje za Australiju" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Autoskeniranje za Italiju" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Autoskeniranje za Tajvan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Prekovreme birača (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Izvor:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Nema izvora" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Ime:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Podešavanje:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC prekidač" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Pozicioni rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Postavke LNB‑a %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Postavke LNB‑a" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Dodaj satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satelit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Položaj" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Ukloni satelit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Univerzalni LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C‑pojasni LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C‑pojasni višeodredišni LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Poseban LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frekvencija prebacivanja (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Niskopojasni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Visokopojasni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horizontalni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertikalni LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "početak" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "trajanje" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "naslov" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "Programski vodič" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Rasporedi program" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Raspored snimanja" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Traži:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 — %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Nije nađen dostupan uređaj." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Početna" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "trajanje" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "naslov" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Nije nađen dostupan uređaj." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Nije nađen dostupan uređaj." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Raspored snimanja" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Novo" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "ime" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Uredi unos rasporeda" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "Ime:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Početak:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Početna" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Trajanje:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Završetak:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Ponovi:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "nikad" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "dnevno" @@ -928,99 +1094,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanali" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Očisti" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Skeniranje kanala" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Počni skeniranje" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Podešeno:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Slobodno za emitovanje" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Provajder:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Dodaj filtrirano" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Dodaj izabrano" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Rezultati skeniranja" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Trenutni transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Zaustavi skeniranje" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programski vodič" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Raspored snimanja" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Trenutno snimanje" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Podešavanje televizije" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Traži:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Trenutno snimanje je pokrenuto" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Trenutno snimanje je zaustavljeno" @@ -1065,30 +1261,30 @@ msgid "Random" msgstr "Nasumično" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "Dodaj satelit" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Preimenuj" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Neimenovana lista puštanja" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgid "Subtitle PID:" msgctxt "file filter" msgid "Subtitle Files" msgstr "PID titla:" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" diff -Nru kaffeine-1.1/po/sv/kaffeine.po kaffeine-1.2.2/po/sv/kaffeine.po --- kaffeine-1.1/po/sv/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/sv/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -3,21 +3,23 @@ # This file is distributed under the same license as the PACKAGE package. # # Stefan Asserhäll , 2008, 2009, 2010. +# Stefan Asserhall , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-13 12:03+0200\n" -"Last-Translator: Stefan Asserhäll \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-04-02 20:31+0200\n" +"Last-Translator: Stefan Asserhall \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language: sv\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -25,312 +27,354 @@ msgid "A media player for KDE with digital TV support." msgstr "En mediaspelare för KDE med stöd för digital-tv." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© 2007-2010 Upphovsmännen till Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Underhåll" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Spela fil" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Spela ljudcd" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Spela video-cd" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Spela dvd" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Digital-tv" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Anpassa Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Visningsläge vid start:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normalt läge" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Minimalt läge" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Fullskärmsläge" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Kom ihåg senaste inställning" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Kort tidslängd för överhopp:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Lång tidslängd för överhopp:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Arkiv" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Öppna webbadress" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Öppna webbadress..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Spela ljudcd" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Spela video-cd" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Spela dvd" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Spela dvd-katalog" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "U&ppspelning" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Spel&lista" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Television" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "In&ställningar" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Starta" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Uppspelning" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Spellista" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Television" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Starta med fullskärmsläge" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(alternativet avråds från)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Visa tv-kanal" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Visa senast inställda tv-kanal" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Dumpa DVB-data (felsökningsalternativ)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Filer eller webbadresser att spela" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Öppna webbadress" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Skriv in webbadress:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "Gå till position" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Ange en position:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Föregående" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Spela" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Paus" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Stoppa" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Nästa" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Fullskärmsläge" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Minimalt läge" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "av" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Ljud" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Öka volym" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Minska volym" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Tysta volym" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Ta bort inflätning" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Proportion" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Automatisk" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Anpassa till fönster" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Automatisk storleksändring" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Av" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Originalstorlek" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Dubbel storlek" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Volymskjutreglage" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Gå till position..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Gå" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Gå %1 s bakåt" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Gå %1 s framåt" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Sökreglage" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Växla meny" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Titel" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Kapitel" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Vinkel" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Byt mellan visning av förfluten eller återstående tid" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Mediafiler som stöds" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Alla filer" @@ -345,7 +389,7 @@ msgid "Exit Minimal Mode" msgstr "Avsluta minimalt läge" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Stoppad" @@ -396,57 +440,47 @@ msgid "Your emails" msgstr "stefan.asserhall@comhem.se" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Installera Qt:s SQLite-insticksprogram" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Kan inte öppna SQLite-databasen." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Internverktyg för Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Horisontell" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Vertikal" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Vänstercirkulär" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Högercirkulär" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Namn" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" msgstr "Nummer" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Redigera" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Ta bort" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -454,107 +488,127 @@ "Kanalerna kommer att sorteras enligt nummer för att tillåta dra och släpp.\n" "Vill du fortsätta?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanalinställningar" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Horisontell" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Vertikal" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Vänstercirkulär" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Högercirkulär" + +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Redigera kanal" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Namn:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" msgstr "Nummer:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Källa:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekvens (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Symbolfrekvens (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modulation:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC-frekvens:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarisation:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Dämpning:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Bandbredd:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC-frekvens LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Överföringsläge:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Skyddsintervall:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hierarki:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "Processidentifikation för PMT:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Processidentifikation för video:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Processidentifikation för textning:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Processidentifikation för teletext:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Nätverksidentifikation:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Transportströmidentifikation:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Tjänstidentifikation:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Ljudkanal:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Förvrängd:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Anpassa television" @@ -582,7 +636,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Använd ISO 8859-1 teckenuppsättning istället för ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Sökdata senast uppdaterat den %1" @@ -611,26 +665,30 @@ msgid "[W -180 ... 180 E]" msgstr "[V -180 ... 180 Ö]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Allmänna alternativ" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Enhet %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Uppdatera sökdata" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Laddar ner sökdata" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Uppdatering av sökdata misslyckades." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -638,277 +696,296 @@ "Sökdata uppdaterad med lyckat resultat. Ändringar får\n" "effekt efter du har stängt inställningsdialogrutan." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Namn: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Flytta åt vänster" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Återställ" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Ta bort" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Flytta åt höger" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Enhet inte ansluten." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kabel" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Markbunden" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Sök automatiskt" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Sök automatiskt med steg om 167 kHz" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Sök automatiskt i Australien" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Sök automatiskt i Italien" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Sök automatiskt i Taiwan" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Mottagarens tidsgräns (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Källa:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Ingen källa" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Namn:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Inställning:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Diseqc-omkopplare" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS-ratt" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Positionsratt" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Inställningar av LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Inställningar av LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Lägg till satellit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Satellit" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Position" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Ta bort satellit" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Universell LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band flerpunkts LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Egen LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Bytesfrekvens (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Lågbands-LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Högbands-LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Horisontell LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Vertikal LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Början" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Tidslängd" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Titel" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Programtablå" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Schemalägg program" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Spela in program" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Sök:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Ingen tillgänglig enhet hittades." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Starta" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine spelar för närvarande in program.\n" -"Vill du verkligen avsluta programmet?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Tidslängd" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine har schemalagda inspelningar.\n" -"Vill du verkligen avsluta programmet?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Titel" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "Alla enheter används för inspelningar." + +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "Ingen enhet hittades." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Ingen tillgänglig enhet hittades." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Inspelningsschema" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" -msgstr "Nytt" +msgstr "Ny" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Namn" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Redigera post i schemat" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Namn:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Början:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" +msgstr "Start:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" -msgstr "Tidslängd:" +msgstr "Längd:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" msgstr "Slut:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" msgstr "Upprepa:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Aldrig" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Dagligen" @@ -929,99 +1006,131 @@ msgid "SNR" msgstr "Signal/brus" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanaler" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Rensa" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanalsökning" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Starta sökning" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Signal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "Signal/brus:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Inställd:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filter" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Fri utsändning" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radio" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Tv" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Leverantör:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Lägg till filtrerad" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Lägg till markerad" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Sökresultat" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Nuvarande transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Stoppa sökning" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Programtablå" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "Skärmvisning" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Inspelningsschema" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Snabbinspelning" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Anpassa television..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Sök:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine spelar för närvarande in program.\n" +"Vill du verkligen avsluta programmet?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine har schemalagda inspelningar.\n" +"Vill du verkligen avsluta programmet?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Snabbinspelning startad" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Snabbinspelning stoppad" @@ -1066,26 +1175,26 @@ msgid "Random" msgstr "Slumpmässig" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Lägg till textning" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Byt namn" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Namnlös spellista" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Textningsfiler" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1096,6 +1205,49 @@ "*.m3u|M3U-spellista\n" "*.pls|PLS-spellista" +#~ msgid "Channel Settings" +#~ msgstr "Kanalinställningar" + +#~ msgid "Name" +#~ msgstr "Namn" + +#~ msgid "Edit" +#~ msgstr "Redigera" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Ta bort" + +#~ msgid "Remove" +#~ msgstr "Ta bort" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Början" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Början:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Nytt" + +#~ msgid "Duration" +#~ msgstr "Tidslängd" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Schemalägg program" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Namn" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Uppdatera" diff -Nru kaffeine-1.1/po/th/kaffeine.po kaffeine-1.2.2/po/th/kaffeine.po --- kaffeine-1.1/po/th/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/th/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" "PO-Revision-Date: 2010-03-06 01:12+0700\n" "Last-Translator: Thanomsub Noppaburana \n" "Language-Team: Thai \n" @@ -16,7 +16,7 @@ "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -24,312 +24,373 @@ msgid "A media player for KDE with digital TV support." msgstr "เครื่องเล่นสื่อประสมสำหรับ KDE พร้อมการรองรับโทรทัศน์ดิจิทัล" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "สงวนลิขสิทธิ์ (C) 2007-2010 กลุ่มผู้เขียน Kaffeine" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "ผู้ดูแล" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 เล่นแฟ้ม" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 เล่นแผ่นซีดีเสียง" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 เล่นแผ่นซีดีวีดิโอ" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 เล่นแผ่นดีวีดีวีดิโอ" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 โทรทัศน์ดิจิทัล" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "ปรับแต่ง Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "" + +#: mainwindow.cpp:224 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "โหมดขนาดเล็ก" + +#: mainwindow.cpp:226 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Minimal Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "โหมดขนาดเล็ก" + +#: mainwindow.cpp:228 +#, fuzzy +#| msgctxt "'Playback' menu" +#| msgid "Full Screen Mode" +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "โหมดเต็มจอภาพ" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "ระยะเวลาของการข้ามแบบสั้น ๆ:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "ระยะเวลาของการข้ามแบบยาว ๆ:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "แ&ฟ้ม" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" +#: mainwindow.cpp:289 +#, fuzzy +#| msgid "Open URL" +msgctxt "@action:inmenu" +msgid "Open URL..." msgstr "เปิดที่อยู่ URL" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "เล่นแผ่นซีดีเสียง" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "เล่นแผ่นซีดีวีดิโอ" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "เล่นแผ่นดีวีดีวีดิโอ" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +#, fuzzy +#| msgid "Play DVD" +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "เล่นแผ่นดีวีดีวีดิโอ" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "เ&ล่นกลับ" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "&รายการเล่น" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "โ&ทรทัศน์" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "&ตั้งค่า" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "เริ่ม" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "เล่นกลับ" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "รายการเล่น" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "โทรทัศน์" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "เริ่มในโหมดเต็มหน้าจอ" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(ตัวเลือกที่จะเลิกใช้งานแล้ว)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "เล่นช่องของโทรทัศน์" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "เล่นช่องโทรทัศน์ที่ได้ปรับไว้ล่าสุด" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "ดึงข้อมูล dvb (ตัวเลือกการดีบั๊ก)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "แฟ้ม/ตำแหน่ง URL ที่จะเล่น" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +#, fuzzy +#| msgid "Open URL" +msgctxt "@title:window" +msgid "Open URL" +msgstr "เปิดที่อยู่ URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "ป้อนที่อยู่ URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@title:window" msgid "Jump to Position" msgstr "กระโดดไปยังตำแหน่ง" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "ป้อนตำแหน่ง:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "ก่อนหน้า" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "เล่น" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "หยุดชั่วคราว" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "หยุด" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "ถัดไป" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "โหมดเต็มจอภาพ" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "โหมดขนาดเล็ก" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "ปิด" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "เสียง" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "เพิ่มระดับเสียง" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "ลดระดับเสียง" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "ตัดเสียง" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "วีดิโอ" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "ปรับเกลี่ยเส้นแตก" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "สัดส่วนภาพ" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "อัตโนมัติ" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "พอดีกับหน้าต่าง" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "ขนาด 4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "ขนาด 16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "ปรับขนาดอัตโนมัติ" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "ปิด" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "ขนาดตามต้นฉบับ" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "ขนาดสองเท่าตัว" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "แถบเลื่อนปรับระดับเสียง" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +#, fuzzy +#| msgid "Jump to Position" +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "กระโดดไปยังตำแหน่ง" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "ข้าม" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "ข้ามย้อนกลับไป %1 วินาที" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "ข้ามไปข้างหน้า %1 วินาที" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "แถบเลื่อนการค้นหา" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "เปิด/ปิดเมนู" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "ชื่อ" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "บทที่" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "มุมกล้อง" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "สลับไปมาระหว่างการแสดงเวลาที่ใช้ไปและเวลาที่เหลืออยู่" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "แฟ้มสื่อแบบต่าง ๆ ที่รองรับ" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "แฟ้มทั้งหมด" @@ -344,7 +405,7 @@ msgid "Exit Minimal Mode" msgstr "ออกจากโหมดขนาดเล็ก" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "หยุดอยู่" @@ -395,163 +456,191 @@ msgid "Your emails" msgstr "donga.nb@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "โปรดติดตั้งส่วนเสริม SQLite ของ Qt" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "ไม่สามารถเปิดฐานข้อมูล SQLite ได้" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "เครื่องมือภายในสำหรับ Kaffeine" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "แนวนอน" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "แนวตั้ง" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "ชื่อ" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "ช่อง" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "หมายเลขช่อง" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "แก้ไข" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "เอาออก" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "ตั้งค่าช่อง" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "แนวนอน" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "แนวตั้ง" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "ช่อง" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "ชื่อ:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "หมายเลขช่อง:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "ต้นทาง:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "ความถี่ (เมกะเฮิรตซ์):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "แบนด์วิท:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "ค่าประจำตัวเครือข่าย:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "ค่าประจำตัวบริการ:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "ช่องเสียง:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@title:window" msgid "Configure Television" msgstr "ปรับแต่งโทรทัศน์" @@ -579,7 +668,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "ข้อมูลการสแกนถูกปรับปรุงล่าสุดเมื่อ %1" @@ -608,26 +697,32 @@ msgid "[W -180 ... 180 E]" msgstr "" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "ตัวเลือกทั่วไป" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "อุปกรณ์ %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "ปรับปรุงข้อมูลการสแกนผ่านทางอินเทอร์เน็ต" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "กำลังดาวน์โหลดข้อมูลการสแกน" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "การปรับปรุงข้อมูลการสแกนล้มเหลว" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -635,273 +730,344 @@ "ข้อมูลการสแกนถูกปรับปรุงเสร็จเรียบร้อยแล้ว โปรดตรวจสอบว่า\n" "ได้รับผลอย่างไรบ้างหลังจากที่คุณได้ปิดกล่องปรับแต่งค่าแล้ว" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "ชื่อ: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "เอาออก" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "ยังไม่ได้เชื่อมต่ออุปกรณ์" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr " " -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "เคเบิล" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "สแกนอัตโนมัติ" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "สแกนอัตโนมัติโดยใช้ช่วงห่างทีละ 167 กิโลเฮิรตซ์" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "สแกนอัตโนมัติ - ออสเตรเลีย" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "สแกนอัตโนมัติ - อิตาลี" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "สแกนอัตโนมัติ - ไต้หวัน" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "ต้นทาง:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "ชื่อ:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "การปรับแต่ง:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "ตั้งค่าต่าง ๆ ของ LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "ตั้งค่าต่าง ๆ ของ LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "เพิ่มดาวเทียม" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "ดาวเทียม" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "ตำแหน่ง" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "ย้ายดาวเทียม" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "เริ่ม" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "ระยะเวลา" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "รายการ" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +#, fuzzy +#| msgid "Program Guide" +msgctxt "@title:window" msgid "Program Guide" msgstr "แนะนำรายการ" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "ผังรายการ" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "จัดตารางการบันทึกรายการ" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "ค้นหา:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "ไม่พบอุปกรณ์ใด ๆ ให้เลือกใช้" +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +#, fuzzy +#| msgid "Start" +msgctxt "@title:column tv show" +msgid "Start" +msgstr "เริ่ม" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +#, fuzzy +#| msgid "Duration" +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "ระยะเวลา" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +#, fuzzy +#| msgid "Title" +msgctxt "@title:column tv show" +msgid "Title" +msgstr "รายการ" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "ช่อง" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "ไม่พบอุปกรณ์ใด ๆ ให้เลือกใช้" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "ไม่พบอุปกรณ์ใด ๆ ให้เลือกใช้" + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "จัดตารางการบันทึกรายการ" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "สร้างใหม่" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "ชื่อ" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "แก้ไขรายการของผังรายการ" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "ชื่อ:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "ช่อง:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "เริ่ม:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "เริ่ม" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "ระยะเวลา:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "สิ้นสุด:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "เล่นซ้ำ:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "ไม่เลย" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "ทุกวัน" @@ -922,99 +1088,129 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "ช่องสัญญาณ" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "ล้าง" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "สแกนหาช่องสัญญาณ" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "เริ่มการสแกน" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "สัญญาณ:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "กรอง" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "ออกอากาศฟรี" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "วิทยุ" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "โทรทัศน์" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "ผู้ให้บริการ:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "เพิ่มที่ได้กรองไว้" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "เพิ่มที่เลือกไว้" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "ผลลัพธ์การสแกน" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "หยุดการสแกน" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "แนะนำรายการ" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "ข้อความบนหน้าจอ (OSD)" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "จัดตารางการบันทึกรายการ" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "บันทึกรายการทันที" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +#, fuzzy +#| msgid "Configure Television" +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "ปรับแต่งโทรทัศน์" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "ค้นหา:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "ช่อง: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "การบันทึกรายการทันทีได้เริ่มแล้ว" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "การบันทึกรายการทันทีได้หยุดแล้ว" @@ -1059,23 +1255,23 @@ msgid "Random" msgstr "สุ่ม" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 #, fuzzy #| msgid "Add Satellite" msgid "Add Subtitle" msgstr "เพิ่มดาวเทียม" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "เปลี่ยนชื่อ" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "รายการเล่นที่ยังไม่กำหนดชื่อ" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 #, fuzzy #| msgctxt "file filter" #| msgid "All Files" @@ -1083,7 +1279,7 @@ msgid "Subtitle Files" msgstr "แฟ้มทั้งหมด" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1094,6 +1290,51 @@ "*.m3u|รายการเล่นแบบ M3U\n" "*.pls|รายการเล่นแบบ PLS" +#~ msgid "Channel Settings" +#~ msgstr "ตั้งค่าช่อง" + +#~ msgid "Name" +#~ msgstr "ชื่อ" + +#~ msgid "Edit" +#~ msgstr "แก้ไข" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "เอาออก" + +#~ msgid "Remove" +#~ msgstr "เอาออก" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "เริ่ม" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "เริ่ม:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "สร้างใหม่" + +#~ msgid "Duration" +#~ msgstr "ระยะเวลา" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "ผังรายการ" + +#, fuzzy +#~| msgid "Name" +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "ชื่อ" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "เรียกใหม่" diff -Nru kaffeine-1.1/po/tr/kaffeine.po kaffeine-1.2.2/po/tr/kaffeine.po --- kaffeine-1.1/po/tr/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/tr/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,23 +1,23 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Serdar Soytetir , 2008, 2009. +# Serdar Soytetir , 2008, 2009, 2011. # Ozan Çağlayan , 2010. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-06-01 08:58+0300\n" -"Last-Translator: Ozan Çağlayan \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-02-04 02:44+0200\n" +"Last-Translator: Serdar Soytetir \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -25,312 +25,354 @@ msgid "A media player for KDE with digital TV support." msgstr "KDE için dijital TV destekli çokluortam oynatıcı." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Kaffeine Yazarları" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Projeyi Yürüten" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Dosya Oynat" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Ses CD'si Oynat" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Video CD Oynat" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 DVD Oynat" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Dijital TV" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Kaffeine Uygulamasını Yapılandır" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Başlangıç görünüm kipi:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "Normal Kip" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "Sade Kip" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "Tam Ekran Kipi" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "Son Ayarı Anımsa" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Kısa atlama süresi:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Uzun atlama süresi:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "D&osya" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Adres Aç" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Adres Aç..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Ses CD'si Çal" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Video CD Oynat" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "DVD Video Oynat" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "DVD Dizini Oynat" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "&Oynat" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Parça &Listesi" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "&Televizyon" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "A&yarlar" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Başlat" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Oynat" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Oynatma Listesi" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Televizyon" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Tam ekran kipi ile başla" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(eskimiş seçenek)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "TV kanalını oynat" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Son ayarlanan TV kanalını oynat" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "dvb verisini bas (hata ayıklama seçeneği)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Oynatılacak dosyalar veya adresler" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Adres Aç" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Bir Adres Girin:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" -msgstr "Konuma atla" +msgstr "Konuma Atla" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Bir konum girin:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Önceki" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Oynat" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Duraklat" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Dur" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Sonraki" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Tam Ekran Kipi" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Sade Kip" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "kapalı" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Ses" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Sesi Arttır" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Sesi Azalt" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Sesi Kapat" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Video" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Deinterlace" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Görüntü Oranı" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Otomatik" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Pencereye Sığdır" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Otomatik Yeniden Boyutlandır" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Kapalı" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Özgün boyut" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "İki kat büyük" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Ses Ayar Çubuğu" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Konuma Atla..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Atla" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "%1 saniye geri git" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "%1 saniye ileri git" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Pozisyon Çubuğu" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Menüyü Göster" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Başlık" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Bölüm" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Açı" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Kalan/Geçen süre gösterimi arasında geçiş yap" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Desteklenen Ortam Dosyaları" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Tüm Dosyalar" @@ -345,7 +387,7 @@ msgid "Exit Minimal Mode" msgstr "Sade Kipten Çık" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Durduruldu" @@ -396,163 +438,195 @@ msgid "Your emails" msgstr "tulliana@gmail.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Lütfen Qt SQLite eklentisini kurun." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "SQLite veritabanı açılamıyor." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Kaffeine için iç araç." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Yatay" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Dikey" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Dairesel sol" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Dairesel sağ" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "İsim" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Kanal" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "Numara" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "Düzenle" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "Kaldır" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"Sürükle bırak özelliğini kullanabilmeniz için kanallar numaralarına göre " +"sıralanacak.\n" +"Devam etmek istiyor musunuz?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Kanal Ayarları" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Yatay" + +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Dikey" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Dairesel sol" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Dairesel sağ" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Edit channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Kanalı düzenle" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "İsim:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "Numara:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "Kaynak:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Frekans (MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Sembol oranı (kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Modülasyon:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC oranı:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Polarizasyon:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Roll-off:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Bantgenişliği:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC oranı LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Aktarma kipi:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Korunacak aralık:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Hiyerarşi:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT Kimliği:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "Video Kimliği:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "Altyazı Kimliği:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "Teleteks Kimliği:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Ağ Kimliği:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Yayın akışını taşıma kimliği:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Servis Kimliği:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Ses kanalı:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Karıştırılmış:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "Televizyonu Yapılandır" @@ -580,7 +654,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "ISO 6937 yerine ISO 8859-1 karakter kodlamasını kullan:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Tarama dosyası en son %1 tarihinde güncellendi" @@ -609,26 +683,32 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Genel Seçenekler" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Aygıt %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +#, fuzzy +#| msgid "Update scan data over Internet" +msgid "Update Scan Data" +msgstr "Tarama verisini İnternet üzerinden güncelle" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Tarama dosyası indiriliyor" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Tarama dosyası güncellenemedi." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -636,273 +716,336 @@ "Tarama dosyası başarıyla güncellendi. Değişiklikler\n" "yapılandırma penceresini kapattığınızda etkili olacaktır." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "İsim: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Sola Taşı" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Sıfırla" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Kaldır" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Sağa Taşı" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Aygıt bağlı değil." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Kablo" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Karasal yayın" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Otomatik Tara" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "167 kHz'lik ofsetlerle otomatik tara" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Otomatik Tara (Avustralya)" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Otomatik Tara (İtalya)" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Otomatik Tara (Tayvan)" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Tuner zamanaşımı (ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Kaynak:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Kaynak Yok" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "İsim:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Yapılandırma:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC Anahtarı" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS Çarkı" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Konum Çarkı" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 Ayarları" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB Ayarları" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Uydu Ekle" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Uydu" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Konum" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Uydu Kaldır" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Evrensel LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band Çok Noktalı LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Özel LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Frekans değiştir (MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Düşük bant LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Yüksek bant LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Yatay LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Dikey LOF (MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Başlangıç" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Süre" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Başlık" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Program Rehberi" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Programı Zamanla" +#: dvb/dvbepgdialog.cpp:60 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Kayıt Zamanlaması" -#: dvb/dvbepg.cpp:648 -#, kde-format +#: dvb/dvbepgdialog.cpp:68 +#, fuzzy +#| msgid "Search:" +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Ara:" + +#: dvb/dvbepgdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 -#, kde-format +#: dvb/dvbepgdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "%1
" +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 -#, kde-format +#: dvb/dvbepgdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 - %2

" +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Uygun aygıt bulunamadı." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Başlat" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Süre" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Başlık" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Kanal" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "Uygun aygıt bulunamadı." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Uygun aygıt bulunamadı." + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Kayıt Zamanlaması" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "Yeni" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "İsim" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Zamanlama Girdisini Düzenle" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "İsim:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "Kanal:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "Başlangıç:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "Başlat" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "Süre:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "Bitiş:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "Tekrarla:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Asla" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Günlük" @@ -923,99 +1066,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Kanallar" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Temizle" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Kanal Tarama" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Taramayı Başlat" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Sinyal:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Ayarlandı:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Filtrele" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Şifresiz/Açık" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Radyo" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "TV" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Sağlayıcı" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Filtrelenmişi Ekle" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Seçileni Ekle" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Tarama Sonuçları" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Geçerli Transponder" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Taramayı Durdur" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Program Rehberi" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Kayıt Zamanlaması" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Anında Kayıt" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Televizyonu Yapılandır..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Ara:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Kanal: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffenine şu anda program kaydediyor.\n" +"Gerçekten uygulamayı kapatmak istiyor musunuz?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffenine için programlanmış kayıtlar var.\n" +"Gerçekten uygulamayı kapatmak istiyor musunuz?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Anında Kayıt Başlatıldı" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Anında Kayıt Durduruldu" @@ -1060,26 +1235,26 @@ msgid "Random" msgstr "Rastgele" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Altyazı Ekle" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Yeniden Adlandır" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Adsız Oynatma Listesi" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Altyazı Dosyaları" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1090,6 +1265,52 @@ "*.m3u|M3U Oynatma Listesi\n" "*.pls|PLS Oynatma Listesi" +#~ msgid "Channel Settings" +#~ msgstr "Kanal Ayarları" + +#~ msgid "Name" +#~ msgstr "İsim" + +#~ msgid "Edit" +#~ msgstr "Düzenle" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Kaldır" + +#~ msgid "Remove" +#~ msgstr "Kaldır" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Başlangıç" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Başlangıç:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Yeni" + +#~ msgid "Channel" +#~ msgstr "Kanal" + +#~ msgid "Duration" +#~ msgstr "Süre" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Programı Zamanla" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "İsim" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Yenile" @@ -1162,9 +1383,6 @@ #~ msgid "Channel search" #~ msgstr "Kanal arama" -#~ msgid "Edit channel" -#~ msgstr "Kanalı düzenle" - #~ msgid "Change icon" #~ msgstr "Simgeyi değiştir" diff -Nru kaffeine-1.1/po/uk/kaffeine.po kaffeine-1.2.2/po/uk/kaffeine.po --- kaffeine-1.1/po/uk/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/uk/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -2,23 +2,24 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Yuri Chornoivan , 2008, 2009, 2010. +# Yuri Chornoivan , 2008, 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-08-13 08:06+0300\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-30 07:18+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.1\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%" "10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Language: uk\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -27,312 +28,354 @@ msgstr "" "Програвач мультимедійних файлів для KDE з підтримкою цифрового телебачення." -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "© Автори Kaffeine, 2007–2010" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "Супровідник" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "&1 Відтворити файл" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "&2 Відтворити аудіо-КД" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "&3 Відтворити відео-КД" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "&4 Відтворити DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "&5 Цифрове ТБ" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "Налаштувати Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "Початковий режим показу:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "звичайний режим" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "мінімальний режим" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "повноекранний режим" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "останній вибраний" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "Тривалість короткого кроку:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "Тривалість довгого кроку:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "&Файл" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "Відкрити URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "Відкрити URL…" -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "Відтворити аудіо-КД" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "Відтворити відео-КД" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "Відтворити DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "Відтворити теку DVD" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "Від&творення" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "Сп&исок відтворення" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "Теле&бачення" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "П&араметри" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "Почати" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "Відтворення" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "Список відтворення" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "Телебачення" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "Запускати в повноекранному режимі" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(застарілий параметр)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "Відтворити канал ТБ" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "Розпочати відтворення останнього налаштованого каналу ТБ" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "Створити знімок даних dvb (параметр для усування вад)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "Файли або адреси url, які слід відтворити" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "Відкриття адреси URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "Введіть URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" -msgstr "Перейти до позиції" +msgstr "Перехід до позиції" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "Введіть позицію:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "Попередній" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "Пуск" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "Пауза" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "Зупинити" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "Далі" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "Повноекранний режим" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "Мінімальний режим" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "вимкнено" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "Звук" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "Збільшити гучність" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "Зменшити гучність" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "Вимкнути звук" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "Відео" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "Усунути черезрядковість" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "Співвідношення розмірів" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "Автоматично" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "Вмістити у вікно" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "Автоматичне масштабування" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "Вимкнено" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "Початковий розмір" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "Подвійний розмір" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "Повзунок гучності" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "Перейти до позиції…" + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "Перемотування" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "Повернутися на %1 сек." -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "Перейти на %1 сек. вперед" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "Повзунок позиції" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "Увімкнути/Вимкнути меню" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "Назва" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "Частина" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "Кут" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "Перемкнутися між показом часу, що минув, і часу, що залишився" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "Підтримувані мультимедійні файли" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "Всі файли" @@ -347,7 +390,7 @@ msgid "Exit Minimal Mode" msgstr "Вийти з мінімального режиму" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "Зупинено" @@ -398,57 +441,47 @@ msgid "Your emails" msgstr "ivanpetrouchtchak@yahoo.com,yakim@yakim.org.ua" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "Будь ласка, встановіть додаток SQLite Qt." -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "Не вдалося відкрити базу даних SQLite." -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Інструмент внутрішнього керування Kaffeine." -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "Горизонтальна" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "Вертикальна" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "Кругова ліворуч" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "Кругова праворуч" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "Назва" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "Канал" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +msgctxt "@title:column tv channel" msgid "Number" -msgstr "Кількість" +msgstr "Номер" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" msgstr "Змінити" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" msgstr "Вилучити" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" @@ -457,109 +490,129 @@ "скидати.\n" "Бажаєте виконати впорядкування?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "Параметри каналу" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "Горизонтальна" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "Вертикальна" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "Кругова ліворуч" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "Кругова праворуч" + +#: dvb/dvbchanneldialog.cpp:514 +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "Змінити канал" + +#: dvb/dvbchanneldialog.cpp:524 +msgctxt "@label tv channel" msgid "Name:" msgstr "Назва:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +msgctxt "@label tv channel" msgid "Number:" -msgstr "Кількість:" +msgstr "Номер:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +msgctxt "@label tv channel" msgid "Source:" msgstr "Джерело:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "Частота (у МГц):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "Частота символів (у кілосимволах/с):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "Модуляція:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "Частота FEC:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "Поляризація:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "Спадання:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "Ширина каналу:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "Частота FEC НП:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "Режим передавання:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "Інтервал перевірки:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "Ієрархія:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PID таблиць карт програм:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "PID відео:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "PID субтитрів:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "PID телетексту:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "Ідентифікатор мережі:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "Ідентифікатор потоку передавання:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "Ідентифікатор служби:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "Канали звуку:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "Шифрування:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" -msgstr "Налаштувати телебачення" +msgstr "Налаштування телебачення" #: dvb/dvbconfigdialog.cpp:55 msgid "Recording folder:" @@ -585,7 +638,7 @@ msgid "Use ISO 8859-1 charset instead of ISO 6937:" msgstr "Використовувати набір ISO 8859-1 замість ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "Останнє оновлення даних сканування: %1" @@ -604,7 +657,7 @@ #: dvb/dvbconfigdialog.cpp:124 msgid "[S -90 ... 90 N]" -msgstr "[Пд -90 ... 90 Пн]" +msgstr "[Пд -90 … 90 Пн]" #: dvb/dvbconfigdialog.cpp:138 msgid "Longitude:" @@ -612,28 +665,32 @@ #: dvb/dvbconfigdialog.cpp:139 msgid "[W -180 ... 180 E]" -msgstr "[Зх -180 ... 180 Сх]" +msgstr "[Зх -180 … 180 Сх]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "Загальні параметри" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "Пристрій %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "Оновлення даних сканування" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "Звантаження даних сканування" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "Спроба оновлення даних сканування зазнала невдачі." -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,277 +698,296 @@ "Дані сканування успішно оновлено. Зміни набудуть чинності\n" "після закриття діалогового вікна налаштування." -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "Назва: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "Пересунути ліворуч" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "Відновити" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "Вилучити" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "Пересунути праворуч" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "Пристрій не з’єднано." -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "Кабельне" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "Ефірне" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "Автоматичне сканування" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "Автоматичне сканування з кроком 167 кГц" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "Автоматичне сканування (Австралія)" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "Автоматичне сканування (Італія)" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "Автоматичне сканування (Тайвань)" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "Час очікування тюнера (мс):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "Джерело:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "Немає носія" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "Назва:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "Налаштування:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "Перемикач DiSEqC" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "Ротор USALS" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "Ротор позиціонування" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "Параметри LNB %1" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "Параметри LNB" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "Додати супутник" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "Супутник" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "Позиція" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "Вилучити супутник" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "Універсальний LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "LNB смуги C" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "Багатоточковий LNB смуги C" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "Нетиповий LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "Частота перемикання (МГц)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "Вузькосмугова LOF (МГц)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "Широкосмугова LOF (МГц)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "Горизонтальна LOF (МГц)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "Вертикальна LOF (МГц)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF (МГц)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "Початок" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "Тривалість" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "Назва" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "Розклад передач" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "Запланувати програму" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "Записати передачу" + +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "Шукати:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" -msgstr "%1 - %2

" +msgstr "%1 – %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "Не знайдено доступного пристрою." +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "Початок" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" -"Kaffeine зараз виконує запис телепрограм.\n" -"Ви справді бажаєте завершити роботу програми?" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "Тривалість" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" -"У розкладі Kaffeine залишилися пункти запису телепрограм.\n" -"Ви справді бажаєте завершити роботу програми?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "Заголовок" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "Канал" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "Для запису використовуються всі пристрої." + +#: dvb/dvbliveview.cpp:212 +msgctxt "@info" +msgid "No device found." +msgstr "Не знайдено жодного пристрою." -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "Не знайдено доступного пристрою." + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" msgstr "Розклад запису" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" msgstr "Створити" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "Назва" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "Зміна запису розкладу" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "Назва:" + +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" msgstr "Канал:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" msgstr "Початок:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" msgstr "Тривалість:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" -msgstr "Кінець:" +msgstr "Завершення:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" -msgstr "Повторювати:" +msgstr "Повторення:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "Ніколи" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "Щодня" @@ -932,99 +1008,131 @@ msgid "SNR" msgstr "Відношення сигнал/шум" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "Канали" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "Спорожнити" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "Сканування каналів" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "Почати пошук" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "Сигнал:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "Відношення сигнал/шум:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "Настроєно:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "Фільтр" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "Вільна трансляція" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "Радіо" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "Телебачення" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "Провайдер:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "Додати відфільтровані" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "Додати вибрані" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "Результат сканування" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "Поточний ретранслятор" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "Зупинити сканування" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "Розклад передач" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "Екранна панель" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "Розклад запису" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "Негайний запис" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "Налаштувати телебачення…" + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "Пошук:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "Канал: %1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine зараз виконує запис телепрограм.\n" +"Ви справді бажаєте завершити роботу програми?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"У розкладі Kaffeine залишилися пункти запису телепрограм.\n" +"Ви справді бажаєте завершити роботу програми?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "Почато негайний запис" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "Негайний запис зупинено" @@ -1069,26 +1177,26 @@ msgid "Random" msgstr "Випадковий" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" msgstr "Додати субтитри" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "Перейменувати" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "Список відтворення без назви" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" msgstr "Файли субтитрів" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1099,6 +1207,48 @@ "*.m3u|Список M3U\n" "*.pls|Список PLS" +#~ msgid "Channel Settings" +#~ msgstr "Параметри каналу" + +#~ msgid "Name" +#~ msgstr "Назва" + +#~ msgid "Edit" +#~ msgstr "Змінити" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "Вилучити" + +#~ msgid "Remove" +#~ msgstr "Вилучити" + +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "Початок" + +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "Початок:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "Створити" + +#~ msgid "Channel" +#~ msgstr "Канал" + +#~ msgid "Duration" +#~ msgstr "Тривалість" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "Запланувати програму" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "Назва" + #~ msgctxt "epg" #~ msgid "Refresh" #~ msgstr "Оновити" @@ -1179,9 +1329,6 @@ #~ msgid "Channel search" #~ msgstr "Пошук каналів" -#~ msgid "Edit channel" -#~ msgstr "Змінити канал" - #~ msgid "Change icon" #~ msgstr "Змінити піктограму" diff -Nru kaffeine-1.1/po/zh_CN/kaffeine.po kaffeine-1.2.2/po/zh_CN/kaffeine.po --- kaffeine-1.1/po/zh_CN/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/zh_CN/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,28 +1,24 @@ # translation of kaffeine.po to 简体中文 -# Translation of Kaffeine to Chinese Simplified # This file is distributed under the same license as the Kaffeine package. -# Copyright (C) 2003 Jrgen Kofler -# Qianzheng 2004 -# # # KanKer , 2004. # qianzheng , 2004, 2005. -# Ni Hui , 2008, 2009, 2010. +# Ni Hui , 2008, 2009, 2010, 2011. +# msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2010-02-26 11:59+0800\n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-07 19:07+0800\n" "Last-Translator: Ni Hui \n" -"Language-Team: Chinese Simplified \n" +"Language-Team: 简体中文 \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" msgstr "Kaffeine" @@ -30,312 +26,354 @@ msgid "A media player for KDE with digital TV support." msgstr "一款带有数字电视支持的 KDE 媒体播放器。" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" msgstr "(C) 2007-2010 Kaffeine 作者" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" msgstr "维护者" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" msgstr "播放文件(&1)" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" msgstr "播放音频 CD(&2)" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" msgstr "播放视频 CD(&3)" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" msgstr "播放 DVD(&4)" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" msgstr "数字电视(&5)" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" msgstr "配置 Kaffeine" -#: mainwindow.cpp:151 +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "启动显示模式:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "普通模式" + +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "迷你模式" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "全屏模式" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "记住上次的设置" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" msgstr "短跳转时长:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" msgstr "长跳转时长:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" msgstr "文件(&F)" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "打开 URL" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "打开 URL..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" msgstr "播放音频 CD" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" msgstr "播放视频 CD" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" msgstr "播放 DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "播放 DVD 文件夹" + +#: mainwindow.cpp:322 msgid "&Playback" msgstr "播放(&P)" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" msgstr "播放列表(&L)" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" msgstr "电视(&T)" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" msgstr "设置(&S)" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" msgstr "开始" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" msgstr "播放" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" msgstr "播放列表" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" msgstr "电视" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" msgstr "以全屏模式启动" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" msgstr "(不建议使用的选项)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" msgstr "播放电视频道" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" msgstr "播放上次调谐的电视频道" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" msgstr "输出 dvb 数据(调试选项)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" msgstr "要播放的文件或 URL" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "打开 URL" + +#: mainwindow.cpp:667 msgid "Enter a URL:" msgstr "输入 URL:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" msgstr "跳转到位置" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" msgstr "输入位置:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" msgstr "上一首" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" msgstr "播放" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" msgstr "暂停" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" msgstr "停止" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" msgstr "下一首" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" msgstr "全屏模式" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" msgstr "迷你模式" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" msgstr "关闭" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" msgstr "音频" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" msgstr "增大音量" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" msgstr "减小音量" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" msgstr "静音" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" msgstr "视频" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" msgstr "反交错" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" msgstr "纵横比" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" msgstr "自动" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" msgstr "适应窗口" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" msgstr "自动调整大小" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" msgstr "关闭" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" msgstr "原始大小" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" msgstr "双倍大小" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" msgstr "音量滑块" -#: mediawidget.cpp:411 +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "跳转到位置..." + +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" msgstr "跳过" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" msgstr "向后跳过 %1 秒" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" msgstr "向前跳过 %1 秒" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" msgstr "定位滑块" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" msgstr "切换菜单" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" msgstr "标题" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" msgstr "章节" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" msgstr "角度" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" msgstr "切换已用时间和剩余时间的显示" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" msgstr "支持的媒体文件" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" msgstr "全部文件" @@ -350,7 +388,7 @@ msgid "Exit Minimal Mode" msgstr "退出迷你模式" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" msgstr "已停止" @@ -401,163 +439,194 @@ msgid "Your emails" msgstr "shuizhuyuanluo@126.com" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." msgstr "请安装 Qt SQLite 插件。" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." msgstr "无法打开 SQLite 数据库。" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." msgstr "Kaffeine 的内部工具。" -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "水平" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "垂直" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "左旋" - -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "右旋" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "名称" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "频道" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" msgstr "编号" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +#, fuzzy +#| msgid "Edit" +msgctxt "@action" msgid "Edit" msgstr "编辑" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +#, fuzzy +#| msgid "Remove" +msgctxt "@action" msgid "Remove" msgstr "删除" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"频道将按数字排序以便拖放。\n" +"您想要继续吗?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "频道设置" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "水平" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "垂直" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "左旋" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "右旋" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "频道" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" msgstr "名称:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" msgstr "编号:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" msgstr "来源:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" msgstr "频率(MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" msgstr "符号率(kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" msgstr "调制:" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" msgstr "FEC 率:" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" msgstr "偏振:" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" msgstr "滚降:" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" msgstr "带宽:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" msgstr "FEC 率 LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" msgstr "传输模式:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" msgstr "安全间隔:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" msgstr "分级:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" msgstr "视频 PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" msgstr "字幕 PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" msgstr "电视电报 PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" msgstr "网络 ID:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" msgstr "转送流 ID:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" msgstr "服务 ID:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" msgstr "声道:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" msgstr "扰频:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" msgstr "配置电视" @@ -575,17 +644,17 @@ #: dvb/dvbconfigdialog.cpp:81 msgid "Begin margin (minutes):" -msgstr "" +msgstr "开头预留(分钟):" #: dvb/dvbconfigdialog.cpp:88 msgid "End margin (minutes):" -msgstr "" +msgstr "结尾预留(分钟):" #: dvb/dvbconfigdialog.cpp:97 msgid "Use ISO 8859-1 charset instead of ISO 6937:" -msgstr "" +msgstr "使用 ISO 8859-1 字符集而不是 ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" msgstr "扫描数据上次更新于 %1" @@ -614,26 +683,30 @@ msgid "[W -180 ... 180 E]" msgstr "[W -180 ... 180 E]" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" msgstr "常规选项" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" msgstr "设备 %1" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "更新扫描数据" + +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" msgstr "正在下载扫描数据" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." msgstr "更新扫描数据失败。" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." @@ -641,273 +714,328 @@ "扫描数据更新成功。\n" "关闭配置对话框以使更改生效。" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" msgstr "名称:%1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" msgstr "左移" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" msgstr "重置" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "删除" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" msgstr "右移" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." msgstr "设备未连接。" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" msgstr "有线" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" msgstr "地面" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" msgstr "自动扫描" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" msgstr "以偏移 167 kHz 自动扫描" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" msgstr "自动扫描澳大利亚" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" msgstr "自动扫描意大利" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" msgstr "自动扫描台湾" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" msgstr "调谐延迟(ms):" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "来源:" + +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" msgstr "没有来源" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "名称:" + +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" msgstr "配置:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" msgstr "DiSEqC 切换" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" msgstr "USALS 旋钮" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" msgstr "位置旋钮" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" msgstr "LNB %1 设置" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" msgstr "LNB 设置" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" msgstr "添加卫星" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" msgstr "卫星" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" msgstr "位置" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" msgstr "删除卫星" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" msgstr "通用 LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" msgstr "C-band 多点 LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" msgstr "自定义 LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" msgstr "通信频率(MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" msgstr "低波段 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" msgstr "高波段 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" msgstr "水平 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" msgstr "垂直 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" msgstr "LOF(MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "开始" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "持续时间" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "标题" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" msgstr "节目导航" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "编制节目表" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "录制节目" + +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "搜索:" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "未找到可用的设备。" +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "开始" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "持续时间" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "标题" + +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." msgstr "" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "频道" +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "未找到可用的设备。" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "未找到可用的设备。" + +#: dvb/dvbrecordingdialog.cpp:42 +#, fuzzy +#| msgctxt "dialog" +#| msgid "Recording Schedule" +msgctxt "@title:window" msgid "Recording Schedule" msgstr "录制时间表" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +#, fuzzy +#| msgctxt "add a new item to a list" +#| msgid "New" +msgctxt "@action" msgid "New" msgstr "新建" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +#, fuzzy +#| msgid "Name" +msgctxt "@title:column recording" +msgid "Name" +msgstr "名称" + +#: dvb/dvbrecordingdialog.cpp:363 +#, fuzzy +#| msgctxt "subdialog of 'Recording Schedule'" +#| msgid "Edit Schedule Entry" +msgctxt "@title:window recording" msgid "Edit Schedule Entry" msgstr "编辑时间表条目" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:371 +#, fuzzy +#| msgid "Name:" +msgctxt "@label recording" +msgid "Name:" +msgstr "名称:" + +#: dvb/dvbrecordingdialog.cpp:384 +#, fuzzy +#| msgid "Channel:" +msgctxt "@label tv show" msgid "Channel:" msgstr "频道:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "开始:" +#: dvb/dvbrecordingdialog.cpp:394 +#, fuzzy +#| msgid "Start" +msgctxt "@label tv show" +msgid "Start:" +msgstr "开始" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +#, fuzzy +#| msgid "Duration:" +msgctxt "@label tv show" msgid "Duration:" msgstr "持续时间:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +#, fuzzy +#| msgid "End:" +msgctxt "@label tv show" msgid "End:" msgstr "结束:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +#, fuzzy +#| msgid "Repeat:" +msgctxt "@label recording" msgid "Repeat:" msgstr "重复:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Never" +msgctxt "@action next to 'Repeat:'" msgid "Never" msgstr "从不" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +#, fuzzy +#| msgctxt "button next to the 'Repeat:' label" +#| msgid "Daily" +msgctxt "@action next to 'Repeat:'" msgid "Daily" msgstr "每天" @@ -928,99 +1056,131 @@ msgid "SNR" msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" msgstr "频道" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" msgstr "清除" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" msgstr "频道扫描" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" msgstr "开始扫描" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" msgstr "信号:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" msgstr "信噪比:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" msgstr "调谐:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" msgstr "过滤器" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" msgstr "发送广播" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" msgstr "广播" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" msgstr "电视" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" msgstr "提供者:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" msgstr "添加所过滤的" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" msgstr "添加所选择的" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" msgstr "扫描结果" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" msgstr "当前应答器" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" msgstr "停止扫描" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "节目导航" + +#: dvb/dvbtab.cpp:97 msgid "OSD" msgstr "OSD" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "录制时间表" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" msgstr "即时录制" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "配置电视..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" msgstr "搜索:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" msgstr "频道:%1_" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine 正在录制节目。\n" +"您确实想要关闭应用程序吗?" + +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine 已安排了录制任务。\n" +"您确实想要关闭应用程序吗?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" msgstr "即时录制已启动" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" msgstr "即时录制已停止" @@ -1065,30 +1225,26 @@ msgid "Random" msgstr "随机" -#: playlist/playlisttab.cpp:401 -#, fuzzy -#| msgid "Add Satellite" +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" -msgstr "添加卫星" +msgstr "添加字幕" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" msgstr "重命名" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" msgstr "未命名播放列表" -#: playlist/playlisttab.cpp:837 -#, fuzzy -#| msgid "Subtitle PID:" +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" -msgstr "字幕 PID:" +msgstr "字幕文件" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" @@ -1099,35 +1255,37 @@ "*.m3u|M3U 播放列表\n" "*.pls|PLS 播放列表" -#~ msgctxt "epg" -#~ msgid "Refresh" -#~ msgstr "刷新" - -#~ msgctxt "program guide" -#~ msgid "Program successfully scheduled." -#~ msgstr "节目成功编制。" - -#~ msgid "Cannot open %1." -#~ msgstr "无法打开 %1。" - -#~ msgid "Unknown playlist format." -#~ msgstr "未知播放列表格式。" - -#~ msgctxt "playlist menu" -#~ msgid "Shuffle" -#~ msgstr "乱序" - -#~ msgctxt "submenu of skip" -#~ msgid "Skip 1min Backward" -#~ msgstr "向后跳过 1 分钟" - -#~ msgctxt "submenu of skip" -#~ msgid "Skip 1min Forward" -#~ msgstr "向前跳过 1 分钟" - -#~ msgid "Scan data last updated
on %1" -#~ msgstr "扫描数据上次更新
于 %1" - -#~| msgid "Remove" -#~ msgid "Remove All" -#~ msgstr "全部删除" +#~ msgid "Channel Settings" +#~ msgstr "频道设置" + +#~ msgid "Name" +#~ msgstr "名称" + +#~ msgid "Edit" +#~ msgstr "编辑" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "删除" + +#~ msgid "Remove" +#~ msgstr "删除" + +#, fuzzy +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "开始" + +#, fuzzy +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "开始:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "新建" + +#~ msgid "Duration" +#~ msgstr "持续时间" diff -Nru kaffeine-1.1/po/zh_TW/kaffeine.po kaffeine-1.2.2/po/zh_TW/kaffeine.po --- kaffeine-1.1/po/zh_TW/kaffeine.po 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/po/zh_TW/kaffeine.po 2011-04-17 21:17:19.000000000 +0200 @@ -1,1080 +1,1258 @@ +# +# Franklin Weng , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: kaffeine\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2010-08-25 05:14+0200\n" -"PO-Revision-Date: 2009-06-05 13:14+0800\n" -"Last-Translator: Frank Weng (a.k.a. Franklin) \n" +"POT-Creation-Date: 2011-04-03 03:25+0200\n" +"PO-Revision-Date: 2011-03-18 08:11+0800\n" +"Last-Translator: Franklin Weng \n" "Language-Team: Chinese Traditional \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 1.1\n" -#: main.cpp:66 backend-xine/xineapplication.cpp:987 +#: main.cpp:66 mainwindow.cpp:431 backend-xine/xineapplication.cpp:988 msgid "Kaffeine" -msgstr "" +msgstr "Kaffeine" #: main.cpp:67 msgid "A media player for KDE with digital TV support." -msgstr "" +msgstr "KDE 的媒體播放器,有支援數位電視。" -#: main.cpp:68 backend-xine/xineapplication.cpp:990 +#: main.cpp:68 backend-xine/xineapplication.cpp:991 msgid "(C) 2007-2010 The Kaffeine Authors" -msgstr "" +msgstr "(C) 2007-2010 Kaffeine 作者群" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Christoph Pfister" -msgstr "" +msgstr "Christoph Pfister" -#: main.cpp:71 backend-xine/xineapplication.cpp:992 +#: main.cpp:71 backend-xine/xineapplication.cpp:993 msgid "Maintainer" -msgstr "" +msgstr "維護者" -#: mainwindow.cpp:66 +#: mainwindow.cpp:86 msgid "&1 Play File" -msgstr "1 播放檔案(&1)" +msgstr "&1 播放檔案" -#: mainwindow.cpp:71 +#: mainwindow.cpp:91 msgid "&2 Play Audio CD" -msgstr "" +msgstr "&2 播放音樂光碟" -#: mainwindow.cpp:76 +#: mainwindow.cpp:96 msgid "&3 Play Video CD" -msgstr "" +msgstr "&3 播放影像光碟" -#: mainwindow.cpp:81 +#: mainwindow.cpp:101 msgid "&4 Play DVD" -msgstr "" +msgstr "&4 播放 DVD" -#: mainwindow.cpp:87 +#: mainwindow.cpp:107 msgid "&5 Digital TV" -msgstr "" +msgstr "&5 數位電視" -#: mainwindow.cpp:145 mainwindow.cpp:239 +#: mainwindow.cpp:205 msgctxt "dialog" msgid "Configure Kaffeine" -msgstr "" +msgstr "設定 Kaffeine" + +#: mainwindow.cpp:210 +msgctxt "@label:listbox" +msgid "Startup display mode:" +msgstr "啟動顯示模式:" + +#: mainwindow.cpp:224 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Normal Mode" +msgstr "正常模式" -#: mainwindow.cpp:151 +#: mainwindow.cpp:226 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Minimal Mode" +msgstr "最小化模式" + +#: mainwindow.cpp:228 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Full Screen Mode" +msgstr "全螢幕模式" + +#: mainwindow.cpp:230 +msgctxt "@item:inlistbox 'Startup display mode:'" +msgid "Remember Last Setting" +msgstr "記住上次的設定" + +#: mainwindow.cpp:235 msgctxt "'Configure Kaffeine' dialog" msgid "Short skip duration:" -msgstr "" +msgstr "短暫跳過期間:" -#: mainwindow.cpp:159 +#: mainwindow.cpp:243 msgctxt "'Configure Kaffeine' dialog" msgid "Long skip duration:" -msgstr "" +msgstr "長時跳過期間:" -#: mainwindow.cpp:188 +#: mainwindow.cpp:282 msgid "&File" -msgstr "" +msgstr "檔案(&F)" -#: mainwindow.cpp:194 mainwindow.cpp:511 -msgid "Open URL" -msgstr "" +#: mainwindow.cpp:289 +msgctxt "@action:inmenu" +msgid "Open URL..." +msgstr "開啟網址..." -#: mainwindow.cpp:205 mainwindow.cpp:360 +#: mainwindow.cpp:300 mainwindow.cpp:507 msgid "Play Audio CD" -msgstr "" +msgstr "播放音樂光碟" -#: mainwindow.cpp:209 mainwindow.cpp:361 +#: mainwindow.cpp:304 mainwindow.cpp:508 msgid "Play Video CD" -msgstr "" +msgstr "播放影像光碟" -#: mainwindow.cpp:213 mainwindow.cpp:362 +#: mainwindow.cpp:308 mainwindow.cpp:509 msgid "Play DVD" -msgstr "" +msgstr "播放 DVD" -#: mainwindow.cpp:222 +#: mainwindow.cpp:312 +msgctxt "@action:inmenu" +msgid "Play DVD Folder" +msgstr "播放 DVD 資料夾" + +#: mainwindow.cpp:322 msgid "&Playback" -msgstr "" +msgstr "播放(&P)" -#: mainwindow.cpp:225 +#: mainwindow.cpp:325 msgctxt "menu bar" msgid "Play&list" -msgstr "" +msgstr "播放清單(&L)" -#: mainwindow.cpp:229 +#: mainwindow.cpp:329 msgid "&Television" -msgstr "" +msgstr "電視(&T)" -#: mainwindow.cpp:233 +#: mainwindow.cpp:333 msgid "&Settings" -msgstr "" +msgstr "設定(&S)" -#: mainwindow.cpp:253 +#: mainwindow.cpp:352 msgid "Start" -msgstr "" +msgstr "開始" -#: mainwindow.cpp:254 +#: mainwindow.cpp:353 msgid "Playback" -msgstr "" +msgstr "播放" -#: mainwindow.cpp:255 +#: mainwindow.cpp:354 msgid "Playlist" -msgstr "" +msgstr "播放清單" -#: mainwindow.cpp:257 +#: mainwindow.cpp:356 msgid "Television" -msgstr "" +msgstr "電視" -#: mainwindow.cpp:359 +#: mainwindow.cpp:506 msgid "Start in full screen mode" -msgstr "" +msgstr "以全螢幕模式開始" -#: mainwindow.cpp:363 +#: mainwindow.cpp:510 msgctxt "command line option" msgid "(deprecated option)" -msgstr "" +msgstr "(已廢棄選項)" -#: mainwindow.cpp:364 +#: mainwindow.cpp:511 msgctxt "command line option" msgid "Play TV channel" -msgstr "" +msgstr "播放電視頻道" -#: mainwindow.cpp:365 +#: mainwindow.cpp:512 msgctxt "command line option" msgid "Play last tuned TV channel" -msgstr "" +msgstr "播放上次調整的電視頻道" -#: mainwindow.cpp:366 +#: mainwindow.cpp:513 msgctxt "command line option" msgid "Dump dvb data (debug option)" -msgstr "" +msgstr "印出 dvb 資料(除錯選項)" -#: mainwindow.cpp:367 +#: mainwindow.cpp:514 msgid "Files or URLs to play" -msgstr "" +msgstr "要播放的檔案或網址" -#: mainwindow.cpp:511 +#: mainwindow.cpp:667 +msgctxt "@title:window" +msgid "Open URL" +msgstr "開啟網址" + +#: mainwindow.cpp:667 msgid "Enter a URL:" -msgstr "" +msgstr "輸入網址:" -#: mediawidget.cpp:157 mediawidget.cpp:406 +#: mediawidget.cpp:156 +msgctxt "@title:window" msgid "Jump to Position" -msgstr "" +msgstr "跳到特定位置" -#: mediawidget.cpp:162 +#: mediawidget.cpp:161 msgid "Enter a position:" -msgstr "" +msgstr "輸入位置:" -#: mediawidget.cpp:239 +#: mediawidget.cpp:237 msgid "Previous" -msgstr "" +msgstr "前一個" -#: mediawidget.cpp:247 +#: mediawidget.cpp:245 msgid "Play" -msgstr "" +msgstr "播放" -#: mediawidget.cpp:248 +#: mediawidget.cpp:246 msgid "Pause" -msgstr "" +msgstr "暫停" -#: mediawidget.cpp:255 +#: mediawidget.cpp:253 msgid "Stop" -msgstr "" +msgstr "停止" -#: mediawidget.cpp:261 +#: mediawidget.cpp:259 msgid "Next" -msgstr "" +msgstr "下一個" -#: mediawidget.cpp:271 mediawidget.cpp:548 +#: mediawidget.cpp:269 mediawidget.cpp:547 msgctxt "'Playback' menu" msgid "Full Screen Mode" -msgstr "" +msgstr "全螢幕模式" -#: mediawidget.cpp:277 mediawidget.cpp:552 +#: mediawidget.cpp:275 mediawidget.cpp:551 msgctxt "'Playback' menu" msgid "Minimal Mode" -msgstr "" +msgstr "最小化模式" -#: mediawidget.cpp:289 +#: mediawidget.cpp:287 msgctxt "subtitle selection entry" msgid "off" -msgstr "" +msgstr "關" -#: mediawidget.cpp:295 +#: mediawidget.cpp:293 msgctxt "'Playback' menu" msgid "Audio" -msgstr "" +msgstr "音效" -#: mediawidget.cpp:298 +#: mediawidget.cpp:296 msgctxt "'Audio' menu" msgid "Increase Volume" -msgstr "" +msgstr "遞增音量" -#: mediawidget.cpp:304 +#: mediawidget.cpp:302 msgctxt "'Audio' menu" msgid "Decrease Volume" -msgstr "" +msgstr "遞減音量" -#: mediawidget.cpp:309 +#: mediawidget.cpp:307 msgctxt "'Audio' menu" msgid "Mute Volume" -msgstr "" +msgstr "靜音" -#: mediawidget.cpp:320 +#: mediawidget.cpp:318 msgctxt "'Playback' menu" msgid "Video" -msgstr "" +msgstr "影像" -#: mediawidget.cpp:325 +#: mediawidget.cpp:323 msgctxt "'Video' menu" msgid "Deinterlace" -msgstr "" +msgstr "解交錯" -#: mediawidget.cpp:334 +#: mediawidget.cpp:332 msgctxt "'Video' menu" msgid "Aspect Ratio" -msgstr "" +msgstr "外觀比例" -#: mediawidget.cpp:339 +#: mediawidget.cpp:337 msgctxt "'Aspect Ratio' menu" msgid "Automatic" -msgstr "" +msgstr "自動" -#: mediawidget.cpp:345 +#: mediawidget.cpp:343 msgctxt "'Aspect Ratio' menu" msgid "Fit to Window" -msgstr "" +msgstr "調整到適合視窗" -#: mediawidget.cpp:350 +#: mediawidget.cpp:348 msgctxt "'Aspect Ratio' menu" msgid "4:3" -msgstr "" +msgstr "4:3" -#: mediawidget.cpp:355 +#: mediawidget.cpp:353 msgctxt "'Aspect Ratio' menu" msgid "16:9" -msgstr "" +msgstr "16:9" -#: mediawidget.cpp:361 +#: mediawidget.cpp:359 msgid "Automatic Resize" -msgstr "" +msgstr "自動調整大小" -#: mediawidget.cpp:368 +#: mediawidget.cpp:366 msgctxt "automatic resize" msgid "Off" -msgstr "" +msgstr "關" -#: mediawidget.cpp:373 +#: mediawidget.cpp:371 msgctxt "automatic resize" msgid "Original Size" -msgstr "" +msgstr "原始大小" -#: mediawidget.cpp:378 +#: mediawidget.cpp:376 msgctxt "automatic resize" msgid "Double Size" -msgstr "" +msgstr "雙倍大小" -#: mediawidget.cpp:393 +#: mediawidget.cpp:391 msgid "Volume Slider" -msgstr "" +msgstr "音量滑動器" + +#: mediawidget.cpp:405 +msgctxt "@action:inmenu" +msgid "Jump to Position..." +msgstr "跳到特定位置..." -#: mediawidget.cpp:411 +#: mediawidget.cpp:410 msgctxt "playback menu" msgid "Skip" -msgstr "" +msgstr "略過" -#: mediawidget.cpp:421 mediawidget.cpp:428 mediawidget.cpp:770 -#: mediawidget.cpp:778 +#: mediawidget.cpp:420 mediawidget.cpp:427 mediawidget.cpp:777 +#: mediawidget.cpp:785 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Backward" -msgstr "" +msgstr "往前跳 %1 秒" -#: mediawidget.cpp:435 mediawidget.cpp:442 mediawidget.cpp:772 -#: mediawidget.cpp:779 +#: mediawidget.cpp:434 mediawidget.cpp:441 mediawidget.cpp:779 +#: mediawidget.cpp:786 #, no-c-format, kde-format msgctxt "submenu of 'Skip'" msgid "Skip %1s Forward" -msgstr "" +msgstr "往後跳 %1 秒" -#: mediawidget.cpp:448 mediawidget.cpp:450 +#: mediawidget.cpp:447 mediawidget.cpp:449 msgid "Seek Slider" -msgstr "" +msgstr "搜尋滑動器" -#: mediawidget.cpp:460 +#: mediawidget.cpp:459 msgctxt "dvd navigation" msgid "Toggle Menu" -msgstr "" +msgstr "切換選單" -#: mediawidget.cpp:464 +#: mediawidget.cpp:463 msgctxt "dvd navigation" msgid "Title" -msgstr "" +msgstr "標題" -#: mediawidget.cpp:470 +#: mediawidget.cpp:469 msgctxt "dvd navigation" msgid "Chapter" -msgstr "" +msgstr "章節" -#: mediawidget.cpp:476 +#: mediawidget.cpp:475 msgctxt "dvd navigation" msgid "Angle" -msgstr "" +msgstr "角度" -#: mediawidget.cpp:482 +#: mediawidget.cpp:481 msgid "Switch between elapsed and remaining time display" -msgstr "" +msgstr "切換顯示已播放時間或剩餘時間" -#: mediawidget.cpp:531 +#: mediawidget.cpp:530 msgctxt "file filter" msgid "Supported Media Files" -msgstr "" +msgstr "支援的媒體檔" -#: mediawidget.cpp:532 +#: mediawidget.cpp:531 msgctxt "file filter" msgid "All Files" -msgstr "" +msgstr "所有檔案" #: mediawidget.cpp:563 msgctxt "'Playback' menu" msgid "Exit Full Screen Mode" -msgstr "" +msgstr "離開全螢幕模式" #: mediawidget.cpp:567 msgctxt "'Playback' menu" msgid "Exit Minimal Mode" -msgstr "" +msgstr "離開最小化模式" -#: mediawidget.cpp:861 +#: mediawidget.cpp:868 msgctxt "osd" msgid "Stopped" -msgstr "" +msgstr "已停止" #: mediawidget.cpp:1205 msgctxt "osd" msgid "Mute On" -msgstr "" +msgstr "靜音" #: mediawidget.cpp:1208 msgctxt "osd" msgid "Mute Off" -msgstr "" +msgstr "解除靜音" #: mediawidget.cpp:1215 #, kde-format msgctxt "osd" msgid "Volume: %1%" -msgstr "" +msgstr "音量:%1%" #: mediawidget.cpp:1241 msgctxt "osd message" msgid "Deinterlacing On" -msgstr "" +msgstr "開啟解交錯" #: mediawidget.cpp:1243 msgctxt "osd message" msgid "Deinterlacing Off" -msgstr "" +msgstr "關閉解交錯" #: mediawidget.cpp:1288 msgctxt "osd" msgid "Paused" -msgstr "" +msgstr "已暫停" #: mediawidget.cpp:1299 msgctxt "osd" msgid "Playing" -msgstr "" +msgstr "播放中" #: rc.cpp:1 msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "" +msgstr "Frank Weng (a.k.a. Franklin)" #: rc.cpp:2 msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "" +msgstr "franklin at goodhorse dot idv dot tw" -#: sqlhelper.cpp:50 +#: sqlhelper.cpp:49 msgctxt "message box" msgid "Please install the Qt SQLite plugin." -msgstr "" +msgstr "請安裝 Qt SQLite 外掛程式。" -#: sqlhelper.cpp:65 +#: sqlhelper.cpp:64 msgctxt "message box" msgid "Cannot open the SQLite database." -msgstr "" +msgstr "無法開啟 SQLite 資料庫。" -#: backend-xine/xineapplication.cpp:989 +#: backend-xine/xineapplication.cpp:990 msgctxt "program description" msgid "Internal utility for Kaffeine." -msgstr "" - -#: dvb/dvbchannelui.cpp:82 -msgid "Horizontal" -msgstr "" - -#: dvb/dvbchannelui.cpp:83 -msgid "Vertical" -msgstr "" - -#: dvb/dvbchannelui.cpp:84 -msgid "Circular left" -msgstr "" +msgstr "Kaffeine 內部工具。" -#: dvb/dvbchannelui.cpp:85 -msgid "Circular right" -msgstr "" - -#: dvb/dvbchannelui.cpp:300 dvb/dvbrecording.cpp:265 dvb/dvbscandialog.cpp:207 -msgid "Name" -msgstr "" +#: dvb/dvbchanneldialog.cpp:106 dvb/dvbepgdialog.cpp:255 +#: dvb/dvbepgdialog.cpp:364 dvb/dvbrecordingdialog.cpp:242 +#: dvb/dvbscandialog.cpp:207 +msgctxt "@title:column tv show" +msgid "Channel" +msgstr "頻道" -#: dvb/dvbchannelui.cpp:302 +#: dvb/dvbchanneldialog.cpp:108 +#, fuzzy +#| msgid "Number" +msgctxt "@title:column tv channel" msgid "Number" -msgstr "" +msgstr "編號" -#: dvb/dvbchannelui.cpp:719 dvb/dvbrecording.cpp:714 +#: dvb/dvbchanneldialog.cpp:290 dvb/dvbrecordingdialog.cpp:64 +msgctxt "@action" msgid "Edit" -msgstr "" +msgstr "編輯" -#: dvb/dvbchannelui.cpp:728 dvb/dvbrecording.cpp:722 -#: playlist/playlisttab.cpp:406 playlist/playlisttab.cpp:427 -msgctxt "remove an item from a list" +#: dvb/dvbchanneldialog.cpp:298 dvb/dvbconfigdialog.cpp:466 +#: dvb/dvbrecordingdialog.cpp:71 playlist/playlisttab.cpp:406 +#: playlist/playlisttab.cpp:426 +msgctxt "@action" msgid "Remove" -msgstr "" +msgstr "移除" -#: dvb/dvbchannelui.cpp:739 -msgctxt "message box" +#: dvb/dvbchanneldialog.cpp:315 +#, fuzzy +#| msgctxt "message box" +#| msgid "" +#| "The channels will be sorted by number to allow drag and drop.\n" +#| "Do you want to continue?" +msgctxt "@info" msgid "" "The channels will be sorted by number to allow drag and drop.\n" "Do you want to continue?" msgstr "" +"頻道將會以編號排序,以便允許拖曳。\n" +"您要繼續嗎?" -#: dvb/dvbchannelui.cpp:893 -msgid "Channel Settings" -msgstr "" +#: dvb/dvbchanneldialog.cpp:402 +msgid "Horizontal" +msgstr "水平" -#: dvb/dvbchannelui.cpp:905 dvb/dvbconfigdialog.cpp:678 -#: dvb/dvbrecording.cpp:787 +#: dvb/dvbchanneldialog.cpp:403 +msgid "Vertical" +msgstr "垂直" + +#: dvb/dvbchanneldialog.cpp:404 +msgid "Circular left" +msgstr "往左繞圈" + +#: dvb/dvbchanneldialog.cpp:405 +msgid "Circular right" +msgstr "往右繞圈" + +#: dvb/dvbchanneldialog.cpp:514 +#, fuzzy +#| msgid "Channel" +msgctxt "@title:window" +msgid "Edit Channel" +msgstr "頻道" + +#: dvb/dvbchanneldialog.cpp:524 +#, fuzzy +#| msgid "Name:" +msgctxt "@label tv channel" msgid "Name:" -msgstr "" +msgstr "名稱:" -#: dvb/dvbchannelui.cpp:914 +#: dvb/dvbchanneldialog.cpp:533 +#, fuzzy +#| msgid "Number:" +msgctxt "@label tv channel" msgid "Number:" -msgstr "" +msgstr "編號:" -#: dvb/dvbchannelui.cpp:923 dvb/dvbconfigdialog.cpp:669 -#: dvb/dvbscandialog.cpp:268 +#: dvb/dvbchanneldialog.cpp:542 +#, fuzzy +#| msgid "Source:" +msgctxt "@label tv channel" msgid "Source:" -msgstr "" +msgstr "來源:" -#: dvb/dvbchannelui.cpp:929 dvb/dvbchannelui.cpp:951 dvb/dvbchannelui.cpp:969 -#: dvb/dvbchannelui.cpp:990 +#: dvb/dvbchanneldialog.cpp:550 dvb/dvbchanneldialog.cpp:572 +#: dvb/dvbchanneldialog.cpp:590 dvb/dvbchanneldialog.cpp:611 msgid "Frequency (MHz):" -msgstr "" +msgstr "頻率(MHz):" -#: dvb/dvbchannelui.cpp:932 dvb/dvbchannelui.cpp:953 +#: dvb/dvbchanneldialog.cpp:553 dvb/dvbchanneldialog.cpp:574 msgid "Symbol rate (kS/s):" -msgstr "" +msgstr "符碼率(Symbol rate,kS/s):" -#: dvb/dvbchannelui.cpp:934 dvb/dvbchannelui.cpp:959 dvb/dvbchannelui.cpp:974 -#: dvb/dvbchannelui.cpp:993 +#: dvb/dvbchanneldialog.cpp:555 dvb/dvbchanneldialog.cpp:580 +#: dvb/dvbchanneldialog.cpp:595 dvb/dvbchanneldialog.cpp:614 msgid "Modulation:" -msgstr "" +msgstr "調變方式(Modulation):" -#: dvb/dvbchannelui.cpp:936 dvb/dvbchannelui.cpp:955 dvb/dvbchannelui.cpp:976 +#: dvb/dvbchanneldialog.cpp:557 dvb/dvbchanneldialog.cpp:576 +#: dvb/dvbchanneldialog.cpp:597 msgid "FEC rate:" -msgstr "" +msgstr "前向糾錯(FEC rate):" -#: dvb/dvbchannelui.cpp:949 +#: dvb/dvbchanneldialog.cpp:570 msgid "Polarization:" -msgstr "" +msgstr "偏振(Polarization):" -#: dvb/dvbchannelui.cpp:961 +#: dvb/dvbchanneldialog.cpp:582 msgid "Roll-off:" -msgstr "" +msgstr "下降(Roll-off):" -#: dvb/dvbchannelui.cpp:972 +#: dvb/dvbchanneldialog.cpp:593 msgid "Bandwidth:" -msgstr "" +msgstr "頻寬:" -#: dvb/dvbchannelui.cpp:978 +#: dvb/dvbchanneldialog.cpp:599 msgid "FEC rate LP:" -msgstr "" +msgstr "前向糾錯─LP:" -#: dvb/dvbchannelui.cpp:980 +#: dvb/dvbchanneldialog.cpp:601 msgid "Transmission mode:" -msgstr "" +msgstr "傳輸模式:" -#: dvb/dvbchannelui.cpp:982 +#: dvb/dvbchanneldialog.cpp:603 msgid "Guard interval:" -msgstr "" +msgstr "防護間隔:" -#: dvb/dvbchannelui.cpp:984 +#: dvb/dvbchanneldialog.cpp:605 msgid "Hierarchy:" -msgstr "" +msgstr "階層:" -#: dvb/dvbchannelui.cpp:1001 +#: dvb/dvbchanneldialog.cpp:622 msgid "PMT PID:" -msgstr "" +msgstr "PMT PID:" -#: dvb/dvbchannelui.cpp:1008 +#: dvb/dvbchanneldialog.cpp:629 msgid "Video PID:" -msgstr "" +msgstr "影像 PID:" -#: dvb/dvbchannelui.cpp:1013 +#: dvb/dvbchanneldialog.cpp:634 msgid "Subtitle PID:" -msgstr "" +msgstr "字幕 PID:" -#: dvb/dvbchannelui.cpp:1023 +#: dvb/dvbchanneldialog.cpp:644 msgid "Teletext PID:" -msgstr "" +msgstr "圖文電視 PID:" -#: dvb/dvbchannelui.cpp:1034 +#: dvb/dvbchanneldialog.cpp:655 msgid "Network ID:" -msgstr "" +msgstr "網路代碼:" -#: dvb/dvbchannelui.cpp:1041 +#: dvb/dvbchanneldialog.cpp:662 msgid "Transport stream ID:" -msgstr "" +msgstr "傳輸串流代碼:" -#: dvb/dvbchannelui.cpp:1048 +#: dvb/dvbchanneldialog.cpp:669 msgid "Service ID:" -msgstr "" +msgstr "服務代碼:" -#: dvb/dvbchannelui.cpp:1055 +#: dvb/dvbchanneldialog.cpp:676 msgid "Audio channel:" -msgstr "" +msgstr "聲道:" -#: dvb/dvbchannelui.cpp:1079 +#: dvb/dvbchanneldialog.cpp:700 msgid "Scrambled:" -msgstr "" +msgstr "擾頻:" -#: dvb/dvbconfigdialog.cpp:46 dvb/dvbtab.cpp:115 +#: dvb/dvbconfigdialog.cpp:46 +msgctxt "@title:window" msgid "Configure Television" -msgstr "" +msgstr "設定電視" #: dvb/dvbconfigdialog.cpp:55 msgid "Recording folder:" -msgstr "" +msgstr "錄影資料夾:" #: dvb/dvbconfigdialog.cpp:63 dvb/dvbconfigdialog.cpp:75 msgid "Select Folder" -msgstr "" +msgstr "選擇資料夾" #: dvb/dvbconfigdialog.cpp:67 msgid "Time shift folder:" -msgstr "" +msgstr "暫時錄影資料夾:" #: dvb/dvbconfigdialog.cpp:81 msgid "Begin margin (minutes):" -msgstr "" +msgstr "開頭界限(分):" #: dvb/dvbconfigdialog.cpp:88 msgid "End margin (minutes):" -msgstr "" +msgstr "結尾界線(分):" #: dvb/dvbconfigdialog.cpp:97 msgid "Use ISO 8859-1 charset instead of ISO 6937:" -msgstr "" +msgstr "使用 ISO 8859-1 字元集而不是用 ISO 6937:" -#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:278 +#: dvb/dvbconfigdialog.cpp:109 dvb/dvbscandialog.cpp:280 #, kde-format msgid "Scan data last updated on %1" -msgstr "" +msgstr "掃描資料上次更新於 %1" #: dvb/dvbconfigdialog.cpp:112 msgid "Update scan data over Internet" -msgstr "" +msgstr "從網際網路上更新掃描資料" #: dvb/dvbconfigdialog.cpp:120 msgid "Your position (only needed for USALS rotor)" -msgstr "" +msgstr "您的位置(只有在 USALS rotor 需要)" #: dvb/dvbconfigdialog.cpp:123 msgid "Latitude:" -msgstr "" +msgstr "緯度:" #: dvb/dvbconfigdialog.cpp:124 msgid "[S -90 ... 90 N]" -msgstr "" +msgstr "【南 -90...90 北】" #: dvb/dvbconfigdialog.cpp:138 msgid "Longitude:" -msgstr "" +msgstr "經度:" #: dvb/dvbconfigdialog.cpp:139 msgid "[W -180 ... 180 E]" -msgstr "" +msgstr "【西 -180...180 東】" -#: dvb/dvbconfigdialog.cpp:155 +#: dvb/dvbconfigdialog.cpp:156 msgid "General Options" -msgstr "" +msgstr "一般選項" -#: dvb/dvbconfigdialog.cpp:167 dvb/dvbconfigdialog.cpp:258 -#: dvb/dvbconfigdialog.cpp:259 dvb/dvbconfigdialog.cpp:285 -#: dvb/dvbconfigdialog.cpp:286 dvb/dvbconfigdialog.cpp:310 +#: dvb/dvbconfigdialog.cpp:168 dvb/dvbconfigdialog.cpp:259 +#: dvb/dvbconfigdialog.cpp:260 dvb/dvbconfigdialog.cpp:286 +#: dvb/dvbconfigdialog.cpp:287 dvb/dvbconfigdialog.cpp:311 #, kde-format msgid "Device %1" -msgstr "" +msgstr "裝置 %1" + +#: dvb/dvbconfigdialog.cpp:382 +msgid "Update Scan Data" +msgstr "更新掃描資料" -#: dvb/dvbconfigdialog.cpp:388 +#: dvb/dvbconfigdialog.cpp:389 msgid "Downloading scan data" -msgstr "" +msgstr "下載掃描資料" -#: dvb/dvbconfigdialog.cpp:431 dvb/dvbconfigdialog.cpp:443 +#: dvb/dvbconfigdialog.cpp:432 dvb/dvbconfigdialog.cpp:444 msgid "Scan data update failed." -msgstr "" +msgstr "掃描資料更新失敗。" -#: dvb/dvbconfigdialog.cpp:440 +#: dvb/dvbconfigdialog.cpp:441 msgid "" "Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog." -msgstr "" +msgstr "掃描資料已成功更新。變更將在您關閉設定對話框後生效。" -#: dvb/dvbconfigdialog.cpp:452 +#: dvb/dvbconfigdialog.cpp:453 #, kde-format msgid "Name: %1" -msgstr "" +msgstr "名稱: %1" -#: dvb/dvbconfigdialog.cpp:455 +#: dvb/dvbconfigdialog.cpp:456 msgid "Move Left" -msgstr "" +msgstr "左移" -#: dvb/dvbconfigdialog.cpp:460 +#: dvb/dvbconfigdialog.cpp:461 msgid "Reset" -msgstr "" +msgstr "重置" -#: dvb/dvbconfigdialog.cpp:464 -msgid "Remove" -msgstr "" - -#: dvb/dvbconfigdialog.cpp:469 +#: dvb/dvbconfigdialog.cpp:471 msgid "Move Right" -msgstr "" +msgstr "右移" -#: dvb/dvbconfigdialog.cpp:475 +#: dvb/dvbconfigdialog.cpp:477 msgid "Device not connected." -msgstr "" +msgstr "裝置未連線。" -#: dvb/dvbconfigdialog.cpp:507 +#: dvb/dvbconfigdialog.cpp:509 msgid "DVB-C" -msgstr "" +msgstr "DVB-C" -#: dvb/dvbconfigdialog.cpp:523 +#: dvb/dvbconfigdialog.cpp:525 msgid "DVB-S2" -msgstr "" +msgstr "DVB-S2" -#: dvb/dvbconfigdialog.cpp:525 +#: dvb/dvbconfigdialog.cpp:527 msgid "DVB-S" -msgstr "" +msgstr "DVB-S" -#: dvb/dvbconfigdialog.cpp:532 +#: dvb/dvbconfigdialog.cpp:534 msgid "DVB-T" -msgstr "" +msgstr "DVB-T" -#: dvb/dvbconfigdialog.cpp:545 +#: dvb/dvbconfigdialog.cpp:547 msgid "ATSC" -msgstr "" +msgstr "ATSC" -#: dvb/dvbconfigdialog.cpp:628 +#: dvb/dvbconfigdialog.cpp:630 msgid "Cable" -msgstr "" +msgstr "有線訊號(Cable)" -#: dvb/dvbconfigdialog.cpp:636 +#: dvb/dvbconfigdialog.cpp:638 msgid "Terrestrial" -msgstr "" +msgstr "地面訊號" -#: dvb/dvbconfigdialog.cpp:644 +#: dvb/dvbconfigdialog.cpp:646 msgid "Autoscan" -msgstr "" +msgstr "自動掃描" -#: dvb/dvbconfigdialog.cpp:645 +#: dvb/dvbconfigdialog.cpp:647 msgid "Autoscan with 167 kHz Offsets" -msgstr "" +msgstr "以 167 kHz 位移自動掃描" -#: dvb/dvbconfigdialog.cpp:646 +#: dvb/dvbconfigdialog.cpp:648 msgid "Autoscan Australia" -msgstr "" +msgstr "自動掃描澳大利亞" -#: dvb/dvbconfigdialog.cpp:647 +#: dvb/dvbconfigdialog.cpp:649 msgid "Autoscan Italy" -msgstr "" +msgstr "自動掃描義大利" -#: dvb/dvbconfigdialog.cpp:648 +#: dvb/dvbconfigdialog.cpp:650 msgid "Autoscan Taiwan" -msgstr "" +msgstr "自動掃描台灣" -#: dvb/dvbconfigdialog.cpp:651 +#: dvb/dvbconfigdialog.cpp:653 msgid "Atsc" -msgstr "" +msgstr "Atsc" -#: dvb/dvbconfigdialog.cpp:660 dvb/dvbconfigdialog.cpp:769 +#: dvb/dvbconfigdialog.cpp:662 dvb/dvbconfigdialog.cpp:771 msgid "Tuner timeout (ms):" -msgstr "" +msgstr "調諧器逾時(毫秒):" + +#: dvb/dvbconfigdialog.cpp:671 dvb/dvbscandialog.cpp:270 +msgid "Source:" +msgstr "來源:" -#: dvb/dvbconfigdialog.cpp:672 dvb/dvbconfigdialog.cpp:805 +#: dvb/dvbconfigdialog.cpp:674 dvb/dvbconfigdialog.cpp:807 msgid "No Source" -msgstr "" +msgstr "沒有來源" + +#: dvb/dvbconfigdialog.cpp:680 +msgid "Name:" +msgstr "名稱:" -#: dvb/dvbconfigdialog.cpp:777 +#: dvb/dvbconfigdialog.cpp:779 msgid "Configuration:" -msgstr "" +msgstr "設定:" -#: dvb/dvbconfigdialog.cpp:780 +#: dvb/dvbconfigdialog.cpp:782 msgid "DiSEqC Switch" -msgstr "" +msgstr "DiSEqC 切換" -#: dvb/dvbconfigdialog.cpp:781 +#: dvb/dvbconfigdialog.cpp:783 msgid "USALS Rotor" -msgstr "" +msgstr "USALS Rotor" -#: dvb/dvbconfigdialog.cpp:782 +#: dvb/dvbconfigdialog.cpp:784 msgid "Positions Rotor" -msgstr "" +msgstr "Positions Rotor" -#: dvb/dvbconfigdialog.cpp:799 +#: dvb/dvbconfigdialog.cpp:801 #, kde-format msgid "LNB %1 Settings" -msgstr "" +msgstr "LNB %1 設定" -#: dvb/dvbconfigdialog.cpp:817 dvb/dvbconfigdialog.cpp:1064 +#: dvb/dvbconfigdialog.cpp:820 dvb/dvbconfigdialog.cpp:1067 msgid "LNB Settings" -msgstr "" +msgstr "LNB 設定" -#: dvb/dvbconfigdialog.cpp:832 dvb/dvbconfigdialog.cpp:844 +#: dvb/dvbconfigdialog.cpp:835 dvb/dvbconfigdialog.cpp:847 msgid "Add Satellite" -msgstr "" +msgstr "新增衛星" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Satellite" -msgstr "" +msgstr "衛星" -#: dvb/dvbconfigdialog.cpp:852 +#: dvb/dvbconfigdialog.cpp:855 msgid "Position" -msgstr "" +msgstr "位置" -#: dvb/dvbconfigdialog.cpp:869 +#: dvb/dvbconfigdialog.cpp:872 msgid "Remove Satellite" -msgstr "" +msgstr "移除衛星" -#: dvb/dvbconfigdialog.cpp:1073 +#: dvb/dvbconfigdialog.cpp:1076 msgid "Universal LNB" -msgstr "" +msgstr "通用 LNB" -#: dvb/dvbconfigdialog.cpp:1077 +#: dvb/dvbconfigdialog.cpp:1080 msgid "C-band LNB" -msgstr "" +msgstr "C-band LNB" -#: dvb/dvbconfigdialog.cpp:1081 +#: dvb/dvbconfigdialog.cpp:1084 msgid "C-band Multipoint LNB" -msgstr "" +msgstr "C-band 多點 LNB" -#: dvb/dvbconfigdialog.cpp:1085 +#: dvb/dvbconfigdialog.cpp:1088 msgid "Custom LNB" -msgstr "" +msgstr "自訂 LNB" -#: dvb/dvbconfigdialog.cpp:1096 +#: dvb/dvbconfigdialog.cpp:1099 msgid "Switch frequency (MHz)" -msgstr "" +msgstr "切換頻率(MHz)" -#: dvb/dvbconfigdialog.cpp:1169 +#: dvb/dvbconfigdialog.cpp:1172 msgid "Low band LOF (MHz)" -msgstr "" +msgstr "低頻 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1174 +#: dvb/dvbconfigdialog.cpp:1177 msgid "High band LOF (MHz)" -msgstr "" +msgstr "高頻 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1180 +#: dvb/dvbconfigdialog.cpp:1183 msgid "Horizontal LOF (MHz)" -msgstr "" +msgstr "水平 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1185 +#: dvb/dvbconfigdialog.cpp:1188 msgid "Vertical LOF (MHz)" -msgstr "" +msgstr "垂直 LOF(MHz)" -#: dvb/dvbconfigdialog.cpp:1191 +#: dvb/dvbconfigdialog.cpp:1194 msgid "LOF (MHz)" -msgstr "" +msgstr "LOF(MHz)" -#: dvb/dvbepg.cpp:265 dvb/dvbrecording.cpp:269 -msgid "Begin" -msgstr "" - -#: dvb/dvbepg.cpp:267 dvb/dvbrecording.cpp:271 -msgid "Duration" -msgstr "" - -#: dvb/dvbepg.cpp:269 -msgid "Title" -msgstr "" - -#: dvb/dvbepg.cpp:561 dvb/dvbtab.cpp:90 +#: dvb/dvbepgdialog.cpp:40 +msgctxt "@title:window" msgid "Program Guide" -msgstr "" +msgstr "節目指南" -#: dvb/dvbepg.cpp:581 dvb/dvbepg.cpp:585 -msgctxt "program guide" -msgid "Schedule Program" -msgstr "" +#: dvb/dvbepgdialog.cpp:60 +msgctxt "@action:inmenu tv show" +msgid "Record Show" +msgstr "錄影顯示" -#: dvb/dvbepg.cpp:648 +#: dvb/dvbepgdialog.cpp:68 +msgctxt "@label:textbox" +msgid "Search:" +msgstr "搜尋:" + +#: dvb/dvbepgdialog.cpp:137 #, kde-format +msgctxt "@info tv show title" msgid "%1
" -msgstr "" +msgstr "%1
" -#: dvb/dvbepg.cpp:651 +#: dvb/dvbepgdialog.cpp:140 #, kde-format +msgctxt "@info tv show subheading" msgid "%1
" -msgstr "" +msgstr "%1
" -#: dvb/dvbepg.cpp:654 +#: dvb/dvbepgdialog.cpp:146 #, kde-format +msgctxt "@info tv show start, end" msgid "%1 - %2

" -msgstr "" +msgstr "%1 - %2

" -#: dvb/dvbliveview.cpp:209 dvb/dvbliveview.cpp:356 dvb/dvbscandialog.cpp:426 -msgctxt "message box" -msgid "No available device found." -msgstr "" +#: dvb/dvbepgdialog.cpp:358 dvb/dvbrecordingdialog.cpp:244 +msgctxt "@title:column tv show" +msgid "Start" +msgstr "開始" -#: dvb/dvbrecording.cpp:156 -msgctxt "message box" -msgid "" -"Kaffeine is currently recording programs.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:360 dvb/dvbrecordingdialog.cpp:246 +msgctxt "@title:column tv show" +msgid "Duration" +msgstr "期間" -#: dvb/dvbrecording.cpp:166 -msgctxt "message box" -msgid "" -"Kaffeine has scheduled recordings.\n" -"Do you really want to close the application?" -msgstr "" +#: dvb/dvbepgdialog.cpp:362 +msgctxt "@title:column tv show" +msgid "Title" +msgstr "標題" -#: dvb/dvbrecording.cpp:267 -msgid "Channel" -msgstr "" +#: dvb/dvbliveview.cpp:209 +msgctxt "@info" +msgid "All devices are used for recordings." +msgstr "" + +#: dvb/dvbliveview.cpp:212 +#, fuzzy +#| msgctxt "message box" +#| msgid "No available device found." +msgctxt "@info" +msgid "No device found." +msgstr "找不到可用的裝置。" -#: dvb/dvbrecording.cpp:690 dvb/dvbtab.cpp:101 -msgctxt "dialog" +#: dvb/dvbliveview.cpp:358 dvb/dvbscandialog.cpp:429 +msgctxt "message box" +msgid "No available device found." +msgstr "找不到可用的裝置。" + +#: dvb/dvbrecordingdialog.cpp:42 +msgctxt "@title:window" msgid "Recording Schedule" -msgstr "" +msgstr "預約錄影排程" -#: dvb/dvbrecording.cpp:707 playlist/playlisttab.cpp:417 -msgctxt "add a new item to a list" +#: dvb/dvbrecordingdialog.cpp:57 playlist/playlisttab.cpp:416 +msgctxt "@action" msgid "New" -msgstr "" +msgstr "新增" -#: dvb/dvbrecording.cpp:778 -msgctxt "subdialog of 'Recording Schedule'" +#: dvb/dvbrecordingdialog.cpp:240 +msgctxt "@title:column recording" +msgid "Name" +msgstr "名稱" + +#: dvb/dvbrecordingdialog.cpp:363 +msgctxt "@title:window recording" msgid "Edit Schedule Entry" -msgstr "" +msgstr "編輯預約錄影" + +#: dvb/dvbrecordingdialog.cpp:371 +msgctxt "@label recording" +msgid "Name:" +msgstr "名稱:" -#: dvb/dvbrecording.cpp:800 +#: dvb/dvbrecordingdialog.cpp:384 +msgctxt "@label tv show" msgid "Channel:" -msgstr "" +msgstr "頻道:" -#: dvb/dvbrecording.cpp:810 -msgid "Begin:" -msgstr "" +#: dvb/dvbrecordingdialog.cpp:394 +msgctxt "@label tv show" +msgid "Start:" +msgstr "開始:" -#: dvb/dvbrecording.cpp:818 +#: dvb/dvbrecordingdialog.cpp:402 +msgctxt "@label tv show" msgid "Duration:" -msgstr "" +msgstr "期間:" -#: dvb/dvbrecording.cpp:827 +#: dvb/dvbrecordingdialog.cpp:411 +msgctxt "@label tv show" msgid "End:" -msgstr "" +msgstr "結束:" -#: dvb/dvbrecording.cpp:831 +#: dvb/dvbrecordingdialog.cpp:415 +msgctxt "@label recording" msgid "Repeat:" -msgstr "" +msgstr "重覆:" -#: dvb/dvbrecording.cpp:835 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:419 +msgctxt "@action next to 'Repeat:'" msgid "Never" -msgstr "" +msgstr "永不" -#: dvb/dvbrecording.cpp:839 -msgctxt "button next to the 'Repeat:' label" +#: dvb/dvbrecordingdialog.cpp:423 +msgctxt "@action next to 'Repeat:'" msgid "Daily" -msgstr "" +msgstr "每天" #: dvb/dvbscandialog.cpp:46 msgid "0%" -msgstr "" +msgstr "0%" #: dvb/dvbscandialog.cpp:62 #, kde-format msgid "%1%" -msgstr "" +msgstr "%1%" #: dvb/dvbscandialog.cpp:209 msgid "Provider" -msgstr "" +msgstr "提供者:" #: dvb/dvbscandialog.cpp:211 msgid "SNR" -msgstr "" +msgstr "SNR" -#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:85 +#: dvb/dvbscandialog.cpp:220 dvb/dvbscandialog.cpp:225 dvb/dvbtab.cpp:87 msgid "Channels" -msgstr "" +msgstr "頻道" -#: dvb/dvbscandialog.cpp:255 playlist/playlisttab.cpp:410 +#: dvb/dvbscandialog.cpp:257 playlist/playlisttab.cpp:410 msgctxt "remove all items from a list" msgid "Clear" -msgstr "" +msgstr "清除" -#: dvb/dvbscandialog.cpp:265 +#: dvb/dvbscandialog.cpp:267 msgid "Channel Scan" -msgstr "" +msgstr "頻道掃描" -#: dvb/dvbscandialog.cpp:273 dvb/dvbscandialog.cpp:386 +#: dvb/dvbscandialog.cpp:275 dvb/dvbscandialog.cpp:388 msgid "Start Scan" -msgstr "" +msgstr "開始掃描" -#: dvb/dvbscandialog.cpp:285 +#: dvb/dvbscandialog.cpp:287 msgid "Signal:" -msgstr "" +msgstr "信號:" -#: dvb/dvbscandialog.cpp:290 +#: dvb/dvbscandialog.cpp:292 msgid "SNR:" -msgstr "" +msgstr "SNR:" -#: dvb/dvbscandialog.cpp:295 +#: dvb/dvbscandialog.cpp:297 msgid "Tuned:" -msgstr "" +msgstr "調諧:" -#: dvb/dvbscandialog.cpp:308 +#: dvb/dvbscandialog.cpp:310 msgid "Filter" -msgstr "" +msgstr "過濾器" -#: dvb/dvbscandialog.cpp:311 +#: dvb/dvbscandialog.cpp:313 msgid "Free to air" -msgstr "" +msgstr "免費廣播" -#: dvb/dvbscandialog.cpp:314 +#: dvb/dvbscandialog.cpp:316 msgid "Radio" -msgstr "" +msgstr "收音機" -#: dvb/dvbscandialog.cpp:317 +#: dvb/dvbscandialog.cpp:319 msgid "TV" -msgstr "" +msgstr "電視" -#: dvb/dvbscandialog.cpp:320 +#: dvb/dvbscandialog.cpp:322 msgid "Provider:" -msgstr "" +msgstr "提供者:" -#: dvb/dvbscandialog.cpp:328 +#: dvb/dvbscandialog.cpp:330 msgid "Add Filtered" -msgstr "" +msgstr "新增過濾器" -#: dvb/dvbscandialog.cpp:332 +#: dvb/dvbscandialog.cpp:334 msgid "Add Selected" -msgstr "" +msgstr "新增選擇的" -#: dvb/dvbscandialog.cpp:338 +#: dvb/dvbscandialog.cpp:340 msgid "Scan Results" -msgstr "" +msgstr "掃描結果" -#: dvb/dvbscandialog.cpp:354 +#: dvb/dvbscandialog.cpp:356 msgid "Current Transponder" -msgstr "" +msgstr "目前的發射器" -#: dvb/dvbscandialog.cpp:431 +#: dvb/dvbscandialog.cpp:434 msgid "Stop Scan" -msgstr "" +msgstr "停止掃描" + +#: dvb/dvbtab.cpp:92 +msgid "Program Guide" +msgstr "節目指南" -#: dvb/dvbtab.cpp:95 +#: dvb/dvbtab.cpp:97 msgid "OSD" -msgstr "" +msgstr "螢幕字幕" -#: dvb/dvbtab.cpp:108 +#: dvb/dvbtab.cpp:103 +msgctxt "dialog" +msgid "Recording Schedule" +msgstr "預約錄影" + +#: dvb/dvbtab.cpp:110 msgid "Instant Record" -msgstr "" +msgstr "立即錄影" -#: dvb/dvbtab.cpp:135 +#: dvb/dvbtab.cpp:118 +msgctxt "@action:inmenu" +msgid "Configure Television..." +msgstr "設定電視..." + +#: dvb/dvbtab.cpp:138 msgid "Search:" -msgstr "" +msgstr "搜尋:" -#: dvb/dvbtab.cpp:280 +#: dvb/dvbtab.cpp:279 #, kde-format msgctxt "osd" msgid "Channel: %1_" +msgstr "頻道:%1_" + +#: dvb/dvbtab.cpp:291 +msgctxt "message box" +msgid "" +"Kaffeine is currently recording programs.\n" +"Do you really want to close the application?" msgstr "" +"Kaffeine 正在錄節目。\n" +"您要關閉應用程式嗎?" -#: dvb/dvbtab.cpp:335 +#: dvb/dvbtab.cpp:301 +msgctxt "message box" +msgid "" +"Kaffeine has scheduled recordings.\n" +"Do you really want to close the application?" +msgstr "" +"Kaffeine 已經設定好預錄。\n" +"您要關閉應用程式嗎?" + +#: dvb/dvbtab.cpp:362 msgctxt "osd" msgid "Instant Record Started" -msgstr "" +msgstr "立即錄影已開始" -#: dvb/dvbtab.cpp:338 dvb/dvbtab.cpp:347 +#: dvb/dvbtab.cpp:366 dvb/dvbtab.cpp:376 msgctxt "osd" msgid "Instant Record Stopped" -msgstr "" +msgstr "立即錄影已停止" #: playlist/playlistmodel.cpp:783 msgctxt "playlist track" msgid "Title" -msgstr "" +msgstr "標題" #: playlist/playlistmodel.cpp:785 msgctxt "playlist track" msgid "Artist" -msgstr "" +msgstr "演出者" #: playlist/playlistmodel.cpp:787 msgctxt "playlist track" msgid "Album" -msgstr "" +msgstr "專輯" #: playlist/playlistmodel.cpp:789 msgctxt "playlist track" msgid "Track Number" -msgstr "" +msgstr "音軌數量" #: playlist/playlistmodel.cpp:791 msgctxt "playlist track" msgid "Length" -msgstr "" +msgstr "長度" #: playlist/playlisttab.cpp:367 msgctxt "playlist browser" msgid "Temporary Playlist" -msgstr "" +msgstr "暫時播放清單" #: playlist/playlisttab.cpp:392 msgctxt "playlist menu" msgid "Repeat" -msgstr "" +msgstr "重覆" #: playlist/playlisttab.cpp:397 msgctxt "playlist menu" msgid "Random" -msgstr "" +msgstr "隨機" -#: playlist/playlisttab.cpp:401 +#: playlist/playlisttab.cpp:402 msgid "Add Subtitle" -msgstr "" +msgstr "新增字幕" -#: playlist/playlisttab.cpp:422 +#: playlist/playlisttab.cpp:421 msgctxt "rename an entry in a list" msgid "Rename" -msgstr "" +msgstr "重新命名" -#: playlist/playlisttab.cpp:631 +#: playlist/playlisttab.cpp:630 msgctxt "playlist browser" msgid "Unnamed Playlist" -msgstr "" +msgstr "未命名播放清單" -#: playlist/playlisttab.cpp:837 +#: playlist/playlisttab.cpp:836 msgctxt "file filter" msgid "Subtitle Files" -msgstr "" +msgstr "字幕檔" -#: playlist/playlisttab.cpp:854 +#: playlist/playlisttab.cpp:853 msgctxt "file filter" msgid "" "*.xspf|XSPF Playlist\n" "*.m3u|M3U Playlist\n" "*.pls|PLS Playlist" msgstr "" +"*.xspf|XSPF 播放清單\n" +"*.m3u|M3U 播放清單\n" +"*.pls|PLS 播放清單" + +#~ msgid "Channel Settings" +#~ msgstr "頻道設定" + +#~ msgid "Name" +#~ msgstr "名稱" + +#~ msgid "Edit" +#~ msgstr "編輯" + +#~ msgctxt "remove an item from a list" +#~ msgid "Remove" +#~ msgstr "移除" + +#~ msgid "Remove" +#~ msgstr "移除" + +#~| msgid "Begin" +#~ msgctxt "@title:column tv show" +#~ msgid "Begin" +#~ msgstr "開始" + +#~| msgid "Begin:" +#~ msgctxt "@label tv show" +#~ msgid "Begin:" +#~ msgstr "開始:" + +#~ msgctxt "add a new item to a list" +#~ msgid "New" +#~ msgstr "新增" + +#~ msgid "Duration" +#~ msgstr "期間" + +#~ msgctxt "program guide" +#~ msgid "Schedule Program" +#~ msgstr "節目表" + +#~ msgctxt "@title:column tv channel name" +#~ msgid "Name" +#~ msgstr "名稱" diff -Nru kaffeine-1.1/README kaffeine-1.2.2/README --- kaffeine-1.1/README 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/README 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,43 @@ +------------------- +Installing Kaffeine +------------------- + +The following development headers are needed (recommended versions): +* Qt >= 4.6 +* KDE >= 4.4 +* xine-lib +* libXss +* libX11 + +For the translations you need: +* gettext + +Create an empty build directory and do the following steps: +# cmake +# make +# make install + +Useful options include: +* -DCMAKE_BUILD_TYPE= (Debug or Release) +* -DCMAKE_INSTALL_PREFIX= (installation prefix for Kaffeine, e.g. /usr) + +For further information look for generic KDE4 / cmake instructions. + +-------- +Homepage +-------- + +http://kaffeine.kde.org + +------- +Authors +------- + +Maintainer: + Christoph Pfister + +Former maintainers: + Christophe Thommeret + Jürgen Kofler + +Thanks to various contributors, translators, testers ... diff -Nru kaffeine-1.1/src/backend-xine/xineapplication.cpp kaffeine-1.2.2/src/backend-xine/xineapplication.cpp --- kaffeine-1.1/src/backend-xine/xineapplication.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/backend-xine/xineapplication.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -648,7 +648,8 @@ xine_post_wire(xine_get_video_source(stream), input); } } else { - xine_post_wire_video_port(xine_get_video_source(stream), videoOutput); + xine_post_wire_video_port(xine_get_video_source(stream), + videoOutput); } break; @@ -985,7 +986,7 @@ } KAboutData aboutData("kaffeine-xbu", "kaffeine", ki18n("Kaffeine"), - QByteArray("1.1 ").append(XineObject::version()), + QByteArray("1.2.2 ").append(XineObject::version()), ki18nc("program description", "Internal utility for Kaffeine."), KAboutData::License_GPL_V2, ki18n("(C) 2007-2010 The Kaffeine Authors"), KLocalizedString(), "http://kaffeine.kde.org"); diff -Nru kaffeine-1.1/src/CMakeLists.txt kaffeine-1.2.2/src/CMakeLists.txt --- kaffeine-1.1/src/CMakeLists.txt 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/CMakeLists.txt 2011-04-17 21:17:19.000000000 +0200 @@ -5,52 +5,47 @@ playlist/playlisttab.cpp datetimeedit.cpp dbusobjects.cpp + ensurenopendingoperation.cpp main.cpp mainwindow.cpp mediawidget.cpp osdwidget.cpp sqlhelper.cpp - sqltablemodel.cpp) + sqlinterface.cpp) if(HAVE_DVB) set(kaffeinedvb_SRCS dvb/dvbcam_linux.cpp dvb/dvbchannel.cpp - dvb/dvbchannelui.cpp + dvb/dvbchanneldialog.cpp dvb/dvbconfigdialog.cpp dvb/dvbdevice.cpp dvb/dvbdevice_linux.cpp dvb/dvbepg.cpp + dvb/dvbepgdialog.cpp dvb/dvbliveview.cpp dvb/dvbmanager.cpp dvb/dvbrecording.cpp + dvb/dvbrecordingdialog.cpp dvb/dvbscan.cpp dvb/dvbscandialog.cpp dvb/dvbsi.cpp - dvb/dvbtab.cpp) + dvb/dvbtab.cpp + dvb/dvbtransponder.cpp) endif(HAVE_DVB) set(kaffeinexbu_SRCS backend-xine/xineapplication.cpp backend-xine/xinecommands.cpp) -set(kaffeinedvbdebugmodule_SRCS - dvb/dvbdevice_debug.cpp) - configure_file(config-kaffeine.h.cmake ${CMAKE_BINARY_DIR}/config-kaffeine.h) -kde4_add_executable(kaffeine ${kaffeine_SRCS} ${kaffeinedvb_SRCS}) +kde4_add_executable(kaffeine ${kaffeinedvb_SRCS} ${kaffeine_SRCS}) target_link_libraries(kaffeine ${QT_QTSQL_LIBRARY} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_SOLID_LIBS} ${X11_Xscreensaver_LIB}) install(TARGETS kaffeine ${INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES scanfile.dvb DESTINATION ${DATA_INSTALL_DIR}/kaffeine) -install(FILES kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) +install(PROGRAMS kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) kde4_add_executable(kaffeine-xbu ${kaffeinexbu_SRCS}) target_link_libraries(kaffeine-xbu ${X11_X11_LIB} ${XINE_LIBRARY} ${KDE4_KDEUI_LIBS}) install(TARGETS kaffeine-xbu ${INSTALL_TARGETS_DEFAULT_ARGS}) - -if(BUILD_DEBUG_MODULE) - kde4_add_plugin(kaffeinedvbdebug ${kaffeinedvbdebugmodule_SRCS}) - target_link_libraries(kaffeinedvbdebug ${KDE4_KDECORE_LIBRARY}) - install(TARGETS kaffeinedvbdebug DESTINATION ${PLUGIN_INSTALL_DIR}) -endif(BUILD_DEBUG_MODULE) diff -Nru kaffeine-1.1/src/config-kaffeine.h.cmake kaffeine-1.2.2/src/config-kaffeine.h.cmake --- kaffeine-1.1/src/config-kaffeine.h.cmake 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/config-kaffeine.h.cmake 2011-04-17 21:17:19.000000000 +0200 @@ -5,7 +5,7 @@ #define KAFFEINE_BIN_INSTALL_DIR "${BIN_INSTALL_DIR}" #define KAFFEINE_DATA_INSTALL_DIR "${DATA_INSTALL_DIR}" -#define KAFFEINE_PLUGIN_INSTALL_DIR "${PLUGIN_INSTALL_DIR}" +#define KAFFEINE_LIB_INSTALL_DIR "${LIB_INSTALL_DIR}" #define HAVE_DVB @HAVE_DVB@ #endif /* CONFIG_KAFFEINE_H */ diff -Nru kaffeine-1.1/src/datetimeedit.cpp kaffeine-1.2.2/src/datetimeedit.cpp --- kaffeine-1.1/src/datetimeedit.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/datetimeedit.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -122,20 +122,25 @@ (timeFormat.at(beginRemove - 1) != '%')) { --beginRemove; - while ((beginRemove > 0) && timeFormat.at(beginRemove - 1).isSpace()) { + while ((beginRemove > 0) && + timeFormat.at(beginRemove - 1).isSpace()) { --beginRemove; } } if (beginRemove == 0) { - while ((endRemove < timeFormat.size()) && timeFormat.at(endRemove).isSpace()) { + while ((endRemove < timeFormat.size()) && + timeFormat.at(endRemove).isSpace()) { ++endRemove; } - if ((endRemove < timeFormat.size()) && timeFormat.at(endRemove).isPunct() && (timeFormat.at(endRemove) != '%')) { + if ((endRemove < timeFormat.size()) && + timeFormat.at(endRemove).isPunct() && + (timeFormat.at(endRemove) != '%')) { ++endRemove; - while ((endRemove < timeFormat.size()) && timeFormat.at(endRemove).isSpace()) { + while ((endRemove < timeFormat.size()) && + timeFormat.at(endRemove).isSpace()) { ++endRemove; } } diff -Nru kaffeine-1.1/src/dbusobjects.cpp kaffeine-1.2.2/src/dbusobjects.cpp --- kaffeine-1.1/src/dbusobjects.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dbusobjects.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -23,6 +23,7 @@ #include #include #include +#include "dvb/dvbmanager.h" #include "dvb/dvbtab.h" #include "playlist/playlisttab.h" @@ -60,6 +61,25 @@ return argument; } +QDBusArgument &operator<<(QDBusArgument &argument, const TelevisionScheduleEntryStruct &entry) +{ + argument.beginStructure(); + argument << entry.key << entry.name << entry.channel << entry.begin << entry.duration << + entry.repeat << entry.isRunning; + argument.endStructure(); + return argument; +} + +const QDBusArgument &operator>>(const QDBusArgument &argument, + TelevisionScheduleEntryStruct &entry) +{ + argument.beginStructure(); + argument >> entry.key >> entry.name >> entry.channel >> entry.begin >> entry.duration >> + entry.repeat >> entry.isRunning; + argument.endStructure(); + return argument; +} + MprisRootObject::MprisRootObject(QObject *parent) : QObject(parent) { qDBusRegisterMetaType(); @@ -285,9 +305,13 @@ playlistTab->setRandom(random); } +#if HAVE_DVB == 1 + DBusTelevisionObject::DBusTelevisionObject(DvbTab *dvbTab_, QObject *parent) : QObject(parent), dvbTab(dvbTab_) { + qDBusRegisterMetaType(); + qDBusRegisterMetaType >(); } DBusTelevisionObject::~DBusTelevisionObject() @@ -320,3 +344,56 @@ { dvbTab->toggleOsd(); } + +QList DBusTelevisionObject::ListProgramSchedule() +{ + QList entries; + DvbRecordingModel *recordingModel = dvbTab->getManager()->getRecordingModel(); + + foreach (const DvbSharedRecording &recording, recordingModel->getRecordings()) { + TelevisionScheduleEntryStruct entry; + entry.key = recording->sqlKey; + entry.name = recording->name; + entry.channel = recording->channel->name; + entry.begin = (recording->begin.toString(Qt::ISODate) + 'Z'); + entry.duration = recording->duration.toString(Qt::ISODate); + entry.repeat = recording->repeat; + entry.isRunning = (recording->status != DvbRecording::Inactive); + entries.append(entry); + } + + return entries; +} + +quint32 DBusTelevisionObject::ScheduleProgram(const QString &name, const QString &channel, + const QString &begin, const QString &duration, int repeat) +{ + DvbRecording recording; + recording.name = name; + recording.channel = dvbTab->getManager()->getChannelModel()->findChannelByName(channel); + recording.begin = QDateTime::fromString(begin, Qt::ISODate).toUTC(); + recording.duration = QTime::fromString(duration, Qt::ISODate); + recording.repeat = (repeat & ((1 << 7) - 1)); + DvbSharedRecording newRecording = + dvbTab->getManager()->getRecordingModel()->addRecording(recording); + + if (newRecording.isValid()) { + return newRecording->sqlKey; + } + + return 0; +} + +void DBusTelevisionObject::RemoveProgram(quint32 key) +{ + DvbRecordingModel *recordingModel = dvbTab->getManager()->getRecordingModel(); + SqlKey sqlKey; + sqlKey.sqlKey = key; + DvbSharedRecording recording = recordingModel->getRecordings().value(sqlKey); + + if (recording.isValid()) { + recordingModel->removeRecording(recording); + } +} + +#endif /* HAVE_DVB == 1 */ diff -Nru kaffeine-1.1/src/dbusobjects.h kaffeine-1.2.2/src/dbusobjects.h --- kaffeine-1.1/src/dbusobjects.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dbusobjects.h 2011-04-17 21:17:19.000000000 +0200 @@ -22,6 +22,7 @@ #define DBUSOBJECTS_H #include +#include class DvbTab; class MainWindow; @@ -30,6 +31,7 @@ struct MprisStatusStruct; struct MprisVersionStruct; +struct TelevisionScheduleEntryStruct; class MprisRootObject : public QObject { @@ -128,6 +130,8 @@ PlaylistTab *playlistTab; }; +#if HAVE_DVB == 1 + class DBusTelevisionObject : public QObject { Q_OBJECT @@ -142,11 +146,17 @@ void PlayLastChannel(); void ToggleInstantRecord(); void ToggleOsd(); + QList ListProgramSchedule(); + quint32 ScheduleProgram(const QString &name, const QString &channel, const QString &begin, + const QString &duration, int repeat); + void RemoveProgram(quint32 key); private: DvbTab *dvbTab; }; +#endif /* HAVE_DVB == 1 */ + struct MprisStatusStruct { int state; @@ -165,4 +175,18 @@ Q_DECLARE_METATYPE(MprisVersionStruct) +struct TelevisionScheduleEntryStruct +{ + quint32 key; + QString name; + QString channel; + QString begin; + QString duration; + int repeat; + bool isRunning; +}; + +Q_DECLARE_METATYPE(TelevisionScheduleEntryStruct) +Q_DECLARE_METATYPE(QList) + #endif /* DBUSOBJECTS_H */ diff -Nru kaffeine-1.1/src/dvb/dvbbackenddevice.h kaffeine-1.2.2/src/dvb/dvbbackenddevice.h --- kaffeine-1.1/src/dvb/dvbbackenddevice.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbbackenddevice.h 2011-04-17 21:17:19.000000000 +0200 @@ -21,51 +21,35 @@ #ifndef DVBBACKENDDEVICE_H #define DVBBACKENDDEVICE_H -#include +#include -class DvbPmtSection; class DvbTransponder; -static const int dvbBackendMagic = 0x67a2c7f1; - -class DvbAbstractDeviceBuffer -{ -public: - DvbAbstractDeviceBuffer() { } - virtual ~DvbAbstractDeviceBuffer() { } - - // all those functions must be callable from a QThread - - virtual int size() = 0; // must be a multiple of 188 - virtual char *getCurrent() = 0; - virtual void submitCurrent(int packets) = 0; -}; - -class DvbBackendDeviceBase +class DvbDeviceBase { public: enum TransmissionType { - DvbC = (1 << 0), - DvbS = (1 << 1), - DvbS2 = (1 << 4), - DvbT = (1 << 2), - Atsc = (1 << 3) + DvbC = (1 << 0), + DvbS = (1 << 1), + DvbS2 = (1 << 4), + DvbT = (1 << 2), + Atsc = (1 << 3) }; Q_DECLARE_FLAGS(TransmissionTypes, TransmissionType) enum Capability { - DvbTModulationAuto = (1 << 0), - DvbTFecAuto = (1 << 1), - DvbTTransmissionModeAuto = (1 << 2), - DvbTGuardIntervalAuto = (1 << 3) + DvbTModulationAuto = (1 << 0), + DvbTFecAuto = (1 << 1), + DvbTTransmissionModeAuto = (1 << 2), + DvbTGuardIntervalAuto = (1 << 3) }; Q_DECLARE_FLAGS(Capabilities, Capability) enum SecTone { ToneOff = 0, - ToneOn = 1 + ToneOn = 1 }; enum SecVoltage { @@ -78,300 +62,107 @@ BurstMiniB = 1 }; - enum Command { - SetBuffer = 0, - GetDeviceId = 1, - GetFrontendName = 2, - GetTransmissionTypes = 3, - GetCapabilities = 4, - Acquire = 5, - SetTone = 6, - SetVoltage = 7, - SendMessage = 8, - SendBurst = 9, - Tune = 10, - GetSignal = 11, - GetSnr = 12, - IsTuned = 13, - AddPidFilter = 14, - RemovePidFilter = 15, - StartDescrambling = 16, - StopDescrambling = 17, - Release = 18 - }; - - class MessageData - { - public: - MessageData(const char *messageData_, int messageLength_) : - messageData(messageData_), messageLength(messageLength_) { } - ~MessageData() { } +protected: + DvbDeviceBase() { } + virtual ~DvbDeviceBase() { } +}; - const char *messageData; - int messageLength; - }; +class DvbDataBuffer +{ +public: + DvbDataBuffer(char *data_, int bufferSize_) : data(data_), bufferSize(bufferSize_) { } + ~DvbDataBuffer() { } - class ReturnData - { - public: - ReturnData() { } - explicit ReturnData(bool &boolean_) { data.boolean = &boolean_; } - explicit ReturnData(int &integer_) { data.integer = &integer_; } - explicit ReturnData(Capabilities &capabilities_) - { data.capabilities = &capabilities_; } - explicit ReturnData(TransmissionTypes &transmissionTypes_) - { data.transmissionTypes = &transmissionTypes_; } - explicit ReturnData(QString &string_) { data.string = &string_; } - ~ReturnData() { } - - union { - bool *boolean; - int *integer; - Capabilities *capabilities; - TransmissionTypes *transmissionTypes; - QString *string; - } data; - }; + char *data; + int dataSize; // must be a multiple of 188 + int bufferSize; // must be a multiple of 188 +}; - class Data - { - public: - Data() { } - explicit Data(int &integer_) { data.integer = integer_; } - explicit Data(SecBurst &burst_) { data.burst = burst_; } - explicit Data(SecTone &tone_) { data.tone = tone_; } - explicit Data(SecVoltage &voltage_) { data.voltage = voltage_; } - explicit Data(DvbAbstractDeviceBuffer *buffer) { data.buffer = buffer; } - explicit Data(const MessageData &message_) { data.message = &message_; } - explicit Data(const DvbPmtSection &pmtSection_) { data.pmtSection = &pmtSection_; } - explicit Data(const DvbTransponder &transponder_) - { data.transponder = &transponder_; } - ~Data() { } - - union { - int integer; - SecBurst burst; - SecTone tone; - SecVoltage voltage; - DvbAbstractDeviceBuffer *buffer; - const MessageData *message; - const DvbPmtSection *pmtSection; - const DvbTransponder *transponder; - } data; - }; +class DvbPidFilter +{ +public: + virtual void processData(const char data[188]) = 0; protected: - DvbBackendDeviceBase() { } - ~DvbBackendDeviceBase() { } + DvbPidFilter() { } + virtual ~DvbPidFilter() { } }; -class DvbBackendDevice : public DvbBackendDeviceBase +class DvbSectionFilter { public: - DvbBackendDevice() { } - virtual ~DvbBackendDevice() { } + // the crc is either valid or has appeared at least twice + virtual void processSection(const char *data, int size) = 0; - virtual void execute(Command command, ReturnData returnData, Data data) = 0; +protected: + DvbSectionFilter() { } + virtual ~DvbSectionFilter() { } }; -class DvbBackendDeviceAdapter : public DvbBackendDeviceBase +class DvbFrontendDevice : public DvbDeviceBase { public: - DvbBackendDeviceAdapter() : device(NULL) { } - ~DvbBackendDeviceAdapter() { } + virtual bool addPidFilter(int pid, DvbPidFilter *filter) = 0; + virtual bool addSectionFilter(int pid, DvbSectionFilter *filter) = 0; + virtual void removePidFilter(int pid, DvbPidFilter *filter) = 0; + virtual void removeSectionFilter(int pid, DvbSectionFilter *filter) = 0; + + // these two functions are thread-safe + virtual DvbDataBuffer getBuffer() = 0; + virtual void writeBuffer(const DvbDataBuffer &dataBuffer) = 0; - void setBuffer(DvbAbstractDeviceBuffer *buffer) - { - device->execute(SetBuffer, ReturnData(), Data(buffer)); - } - - QString getDeviceId() const - { - QString result; - device->execute(GetDeviceId, ReturnData(result), Data()); - return result; - } - - QString getFrontendName() const - { - QString result; - device->execute(GetFrontendName, ReturnData(result), Data()); - return result; - } - - TransmissionTypes getTransmissionTypes() const - { - TransmissionTypes result = 0; - device->execute(GetTransmissionTypes, ReturnData(result), Data()); - return result; - } - - Capabilities getCapabilities() const - { - Capabilities result = 0; - device->execute(GetCapabilities, ReturnData(result), Data()); - return result; - } - - bool acquire() - { - bool result = false; - device->execute(Acquire, ReturnData(result), Data()); - return result; - } - - bool setTone(SecTone tone) - { - bool result = false; - device->execute(SetTone, ReturnData(result), Data(tone)); - return result; - } - - bool setVoltage(SecVoltage voltage) - { - bool result = false; - device->execute(SetVoltage, ReturnData(result), Data(voltage)); - return result; - } - - bool sendMessage(const char *message, int length) - { - bool result = false; - device->execute(SendMessage, ReturnData(result), Data(MessageData(message, length))); - return result; - } - - bool sendBurst(SecBurst burst) - { - bool result = false; - device->execute(SendBurst, ReturnData(result), Data(burst)); - return result; - } - - bool tune(const DvbTransponder &transponder) - { - bool result = false; - device->execute(Tune, ReturnData(result), Data(transponder)); - return result; - } - - int getSignal() const // 0 - 100 ; -1 = unsupported - { - int result = -1; - device->execute(GetSignal, ReturnData(result), Data()); - return result; - } - - int getSnr() const // 0 - 100 ; -1 = unsupported - { - int result = -1; - device->execute(GetSnr, ReturnData(result), Data()); - return result; - } - - bool isTuned() const - { - bool result = false; - device->execute(IsTuned, ReturnData(result), Data()); - return result; - } - - bool addPidFilter(int pid) - { - bool result = false; - device->execute(AddPidFilter, ReturnData(result), Data(pid)); - return result; - } - - void removePidFilter(int pid) - { - device->execute(RemovePidFilter, ReturnData(), Data(pid)); - } - - void startDescrambling(const DvbPmtSection &pmtSection) - { - device->execute(StartDescrambling, ReturnData(), Data(pmtSection)); - } - - void stopDescrambling(int serviceId) - { - device->execute(StopDescrambling, ReturnData(), Data(serviceId)); - } - - void release() - { - device->execute(Release, ReturnData(), Data()); - } +protected: + DvbFrontendDevice() { } + virtual ~DvbFrontendDevice() { } +}; - DvbBackendDevice *device; +class DvbBackendDevice : public DvbDeviceBase +{ +public: + virtual QString getDeviceId() = 0; + virtual QString getFrontendName() = 0; + virtual TransmissionTypes getTransmissionTypes() = 0; + virtual Capabilities getCapabilities() = 0; + virtual void setFrontendDevice(DvbFrontendDevice *frontend) = 0; + virtual void setDeviceEnabled(bool enabled) = 0; + virtual bool acquire() = 0; + virtual bool setTone(SecTone tone) = 0; + virtual bool setVoltage(SecVoltage voltage) = 0; + virtual bool sendMessage(const char *message, int length) = 0; + virtual bool sendBurst(SecBurst burst) = 0; + virtual bool tune(const DvbTransponder &transponder) = 0; // discards obsolete data + virtual bool isTuned() = 0; + virtual int getSignal() = 0; // 0 - 100 [%] or -1 = not supported + virtual int getSnr() = 0; // 0 - 100 [%] or -1 = not supported + virtual bool addPidFilter(int pid) = 0; + virtual void removePidFilter(int pid) = 0; + virtual void startDescrambling(const QByteArray &pmtSectionData) = 0; + virtual void stopDescrambling(int serviceId) = 0; + virtual void release() = 0; + +protected: + DvbBackendDevice() { } + virtual ~DvbBackendDevice() { } }; -template class DvbBackendAdapter : public DvbBackendDeviceBase +/* + +class DvbXXXDeviceManager : public QObject { + Q_OBJECT public: - static void execute(T *instance, Command command, ReturnData returnData, Data data) - { - switch (command) { - case SetBuffer: - instance->setBuffer(data.data.buffer); - break; - case GetDeviceId: - *returnData.data.string = instance->getDeviceId(); - break; - case GetFrontendName: - *returnData.data.string = instance->getFrontendName(); - break; - case GetTransmissionTypes: - *returnData.data.transmissionTypes = instance->getTransmissionTypes(); - break; - case GetCapabilities: - *returnData.data.capabilities = instance->getCapabilities(); - break; - case Acquire: - *returnData.data.boolean = instance->acquire(); - break; - case SetTone: - *returnData.data.boolean = instance->setTone(data.data.tone); - break; - case SetVoltage: - *returnData.data.boolean = instance->setVoltage(data.data.voltage); - break; - case SendMessage: - *returnData.data.boolean = instance->sendMessage(data.data.message->messageData, - data.data.message->messageLength); - break; - case SendBurst: - *returnData.data.boolean = instance->sendBurst(data.data.burst); - break; - case Tune: - *returnData.data.boolean = instance->tune(*data.data.transponder); - break; - case GetSignal: - *returnData.data.integer = instance->getSignal(); - break; - case GetSnr: - *returnData.data.integer = instance->getSnr(); - break; - case IsTuned: - *returnData.data.boolean = instance->isTuned(); - break; - case AddPidFilter: - *returnData.data.boolean = instance->addPidFilter(data.data.integer); - break; - case RemovePidFilter: - instance->removePidFilter(data.data.integer); - break; - case StartDescrambling: - instance->startDescrambling(*data.data.pmtSection); - break; - case StopDescrambling: - instance->stopDescrambling(data.data.integer); - break; - case Release: - instance->release(); - break; - } - } + DvbXXXDeviceManager(); + ~DvbXXXDeviceManager(); + +public slots: + void doColdPlug(); + +signals: + void requestBuiltinDeviceManager(QObject *&builtinDeviceManager); + void deviceAdded(DvbBackendDevice *device); + void deviceRemoved(DvbBackendDevice *device); }; +*/ + #endif /* DVBBACKENDDEVICE_H */ diff -Nru kaffeine-1.1/src/dvb/dvbcam_linux.cpp kaffeine-1.2.2/src/dvb/dvbcam_linux.cpp --- kaffeine-1.1/src/dvb/dvbcam_linux.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbcam_linux.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -31,10 +31,12 @@ #include #include "dvbsi.h" +// krazy:excludeall=syscalls + class DvbLinuxCamService { public: - DvbLinuxCamService() : pendingAction(Add), pmtSection(QByteArray()) { } + DvbLinuxCamService() : pendingAction(Add) { } ~DvbLinuxCamService() { } enum PendingActions { @@ -45,7 +47,7 @@ }; PendingActions pendingAction; - DvbPmtSection pmtSection; + QByteArray pmtSectionData; }; DvbLinuxCam::DvbLinuxCam() : caFd(-1), socketNotifier(NULL), ready(false), eventPosted(false) @@ -76,8 +78,10 @@ } } -void DvbLinuxCam::startDescrambling(const DvbPmtSection &pmtSection) +void DvbLinuxCam::startDescrambling(const QByteArray &pmtSectionData) { + DvbPmtSection pmtSection(pmtSectionData); + if (!pmtSection.isValid()) { kWarning() << "pmt section is invalid"; return; @@ -94,7 +98,7 @@ it->pendingAction = DvbLinuxCamService::Update; } - it->pmtSection = pmtSection; + it->pmtSectionData = pmtSectionData; if (ready && !eventPosted) { eventPosted = true; @@ -137,10 +141,8 @@ ready = false; eventPosted = false; - if (socketNotifier != NULL) { - delete socketNotifier; - socketNotifier = NULL; - } + delete socketNotifier; + socketNotifier = NULL; pollTimer.stop(); @@ -472,7 +474,8 @@ break; case SendCreateTransportConnection: messageData[0] = ConnectionId; - sendTransportLayerMessage(CreateTransportConnection, messageData, messageData + 1); + sendTransportLayerMessage(CreateTransportConnection, messageData, + messageData + 1); pendingCommands |= SendCreateTransportConnection; break; case SendPoll: @@ -490,7 +493,8 @@ sendApplicationLayerMessage(ProfileChange, messageData, messageData); break; case SendApplicationInfoEnquiry: - sendApplicationLayerMessage(ApplicationInfoEnquiry, messageData, messageData); + sendApplicationLayerMessage(ApplicationInfoEnquiry, messageData, + messageData); break; case SendCaInfoEnquiry: sendApplicationLayerMessage(CaInfoEnquiry, messageData, messageData); @@ -515,7 +519,7 @@ for (QMap::iterator it = services.begin(); it != services.end();) { if (it->pendingAction == DvbLinuxCamService::Remove) { - sendCaPmt(it->pmtSection, Update, StopDescrambling); + sendCaPmt(DvbPmtSection(it->pmtSectionData), Update, StopDescrambling); it = services.erase(it); } else { ++activeCaPmts; @@ -530,14 +534,14 @@ continue; case DvbLinuxCamService::Add: if (activeCaPmts == 1) { - sendCaPmt(it->pmtSection, Only, Descramble); + sendCaPmt(DvbPmtSection(it->pmtSectionData), Only, Descramble); } else { - sendCaPmt(it->pmtSection, Add, Descramble); + sendCaPmt(DvbPmtSection(it->pmtSectionData), Add, Descramble); } break; case DvbLinuxCamService::Update: - sendCaPmt(it->pmtSection, Update, Descramble); + sendCaPmt(DvbPmtSection(it->pmtSectionData), Update, Descramble); break; case DvbLinuxCamService::Remove: kWarning() << "impossible"; diff -Nru kaffeine-1.1/src/dvb/dvbcam_linux.h kaffeine-1.2.2/src/dvb/dvbcam_linux.h --- kaffeine-1.1/src/dvb/dvbcam_linux.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbcam_linux.h 2011-04-17 21:17:19.000000000 +0200 @@ -36,7 +36,7 @@ ~DvbLinuxCam(); void startCa(const QString &path); - void startDescrambling(const DvbPmtSection &pmtSection); + void startDescrambling(const QByteArray &pmtSection); void stopDescrambling(int serviceId); void stopCa(); diff -Nru kaffeine-1.1/src/dvb/dvbchannel.cpp kaffeine-1.2.2/src/dvb/dvbchannel.cpp --- kaffeine-1.1/src/dvb/dvbchannel.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbchannel.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbchannel.cpp * - * Copyright (C) 2007-2009 Christoph Pfister + * Copyright (C) 2007-2011 Christoph Pfister * * 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 @@ -20,529 +20,609 @@ #include "dvbchannel.h" -#include -#include +#include +#include +#include +#include +#include "../ensurenopendingoperation.h" +#include "dvbsi.h" + +bool DvbChannel::validate() +{ + if (!name.isEmpty() && (number >= 1) && !source.isEmpty() && transponder.isValid() && + (networkId >= -1) && (networkId <= 0xffff) && (transportStreamId >= 0) && + (transportStreamId <= 0xffff) && (pmtPid >= 0) && (pmtPid <= 0x1fff) && + (audioPid >= -1) && (audioPid <= 0x1fff)) { + if ((serviceId >= 0) && (serviceId <= 0xffff)) { + if (pmtSectionData.size() < 5) { + pmtSectionData = QByteArray(5, 0); + } -template static T maxEnumValue(); + pmtSectionData[3] = (serviceId >> 8); + pmtSectionData[4] = (serviceId & 0xff); + return true; + } else if (pmtSectionData.size() >= 5) { + serviceId = ((static_cast(pmtSectionData.at(3)) << 8) | + static_cast(pmtSectionData.at(4))); + return true; + } + } -template<> DvbTransponderBase::FecRate maxEnumValue() -{ - return DvbTransponderBase::FecRateMax; + return false; } -template<> DvbCTransponder::Modulation maxEnumValue() +bool DvbChannelId::operator==(const DvbChannelId &other) const { - return DvbCTransponder::ModulationMax; -} + if ((channel->source != other.channel->source) || + (channel->transponder.getTransmissionType() != + other.channel->transponder.getTransmissionType()) || + (channel->networkId != other.channel->networkId)) { + return false; + } -template<> DvbSTransponder::Polarization maxEnumValue() -{ - return DvbSTransponder::PolarizationMax; + switch (channel->transponder.getTransmissionType()) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: + case DvbTransponderBase::DvbS: + case DvbTransponderBase::DvbS2: + case DvbTransponderBase::DvbT: + return ((channel->transportStreamId == other.channel->transportStreamId) && + (channel->serviceId == other.channel->serviceId)); + case DvbTransponderBase::Atsc: + // source id has to be unique only within a transport stream + // --> we need to check transponder as well + return channel->transponder.corresponds(other.channel->transponder); + } + + return false; } -template<> DvbS2Transponder::Modulation maxEnumValue() +uint qHash(const DvbChannelId &channel) { - return DvbS2Transponder::ModulationMax; + uint hash = (qHash(channel.channel->source) ^ qHash(channel.channel->networkId)); + + switch (channel.channel->transponder.getTransmissionType()) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: + case DvbTransponderBase::DvbS: + case DvbTransponderBase::DvbS2: + case DvbTransponderBase::DvbT: + hash ^= (qHash(channel.channel->transportStreamId) << 8); + hash ^= (qHash(channel.channel->serviceId) << 16); + break; + case DvbTransponderBase::Atsc: + break; + } + + return hash; } -template<> DvbS2Transponder::RollOff maxEnumValue() +DvbChannelModel::DvbChannelModel(QObject *parent) : QObject(parent), hasPendingOperation(false), + isSqlModel(false) { - return DvbS2Transponder::RollOffMax; } -template<> DvbTTransponder::Bandwidth maxEnumValue() +DvbChannelModel::~DvbChannelModel() { - return DvbTTransponder::BandwidthMax; + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + } + + if (isSqlModel) { + sqlFlush(); + } } -template<> DvbTTransponder::Modulation maxEnumValue() +DvbChannelModel *DvbChannelModel::createSqlModel(QObject *parent) { - return DvbTTransponder::ModulationMax; + DvbChannelModel *channelModel = new DvbChannelModel(parent); + channelModel->isSqlModel = true; + channelModel->sqlInit("Channels", + QStringList() << "Name" << "Number" << "Source" << "Transponder" << "NetworkId" << + "TransportStreamId" << "PmtPid" << "PmtSection" << "AudioPid" << "Flags"); + + // compatibility code + + QFile file(KStandardDirs::locateLocal("appdata", "channels.dtv")); + + if (!file.exists()) { + return channelModel; + } + + if (!file.open(QIODevice::ReadOnly)) { + kWarning() << "cannot open" << file.fileName(); + return channelModel; + } + + QDataStream stream(&file); + stream.setVersion(QDataStream::Qt_4_4); + + while (!stream.atEnd()) { + DvbChannel channel; + int type; + stream >> type; + stream >> channel.name; + stream >> channel.number; + stream >> channel.source; + + switch (type) { + case DvbTransponderBase::DvbC: + channel.transponder = DvbTransponder(DvbTransponderBase::DvbC); + channel.transponder.as()->readTransponder(stream); + break; + case DvbTransponderBase::DvbS: + channel.transponder = DvbTransponder(DvbTransponderBase::DvbS); + channel.transponder.as()->readTransponder(stream); + break; + case DvbTransponderBase::DvbS2: + channel.transponder = DvbTransponder(DvbTransponderBase::DvbS2); + channel.transponder.as()->readTransponder(stream); + break; + case DvbTransponderBase::DvbT: + channel.transponder = DvbTransponder(DvbTransponderBase::DvbT); + channel.transponder.as()->readTransponder(stream); + break; + case DvbTransponderBase::Atsc: + channel.transponder = DvbTransponder(DvbTransponderBase::Atsc); + channel.transponder.as()->readTransponder(stream); + break; + default: + stream.setStatus(QDataStream::ReadCorruptData); + break; + } + + stream >> channel.networkId; + stream >> channel.transportStreamId; + int serviceId; + stream >> serviceId; + stream >> channel.pmtPid; + + stream >> channel.pmtSectionData; + int videoPid; + stream >> videoPid; + stream >> channel.audioPid; + + int flags; + stream >> flags; + channel.hasVideo = (videoPid >= 0); + channel.isScrambled = (flags & 0x1) != 0; + + if (stream.status() != QDataStream::Ok) { + kWarning() << "invalid channels in file" << file.fileName(); + break; + } + + channelModel->addChannel(channel); + } + + if (!file.remove()) { + kWarning() << "cannot remove" << file.fileName(); + } + + return channelModel; } -template<> DvbTTransponder::TransmissionMode maxEnumValue() +QMap DvbChannelModel::getChannels() const { - return DvbTTransponder::TransmissionModeMax; + return channelNumbers; } -template<> DvbTTransponder::GuardInterval maxEnumValue() +DvbSharedChannel DvbChannelModel::findChannelByName(const QString &channelName) const { - return DvbTTransponder::GuardIntervalMax; + return channelNames.value(channelName); } -template<> DvbTTransponder::Hierarchy maxEnumValue() +DvbSharedChannel DvbChannelModel::findChannelByNumber(int channelNumber) const { - return DvbTTransponder::HierarchyMax; + return channelNumbers.value(channelNumber); } -template<> AtscTransponder::Modulation maxEnumValue() +DvbSharedChannel DvbChannelModel::findChannelById(const DvbChannel &channel) const { - return AtscTransponder::ModulationMax; + return channelIds.value(DvbChannelId(&channel)); } -static const char *dvbFecRateTable[] = { - /* FecNone = 0 */ "NONE", - /* Fec1_2 = 1 */ "1/2", - /* Fec2_3 = 2 */ "2/3", - /* Fec3_4 = 3 */ "3/4", - /* Fec4_5 = 4 */ "4/5", - /* Fec5_6 = 5 */ "5/6", - /* Fec6_7 = 6 */ "6/7", - /* Fec7_8 = 7 */ "7/8", - /* Fec8_9 = 8 */ "8/9", - /* FecAuto = 9 */ "AUTO", - /* Fec1_3 = 10 */ "1/3", - /* Fec1_4 = 11 */ "1/4", - /* Fec2_5 = 12 */ "2/5", - /* Fec3_5 = 13 */ "3/5", - /* Fec9_10 = 14 */ "9/10" -}; +void DvbChannelModel::cloneFrom(DvbChannelModel *other) +{ + if (!isSqlModel && other->isSqlModel && channelNumbers.isEmpty()) { + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } -static const char *dvbCModulationTable[] = { - /* Qam16 = 0 */ "QAM16", - /* Qam32 = 1 */ "QAM32", - /* Qam64 = 2 */ "QAM64", - /* Qam128 = 3 */ "QAM128", - /* Qam256 = 4 */ "QAM256", - /* ModulationAuto = 5 */ "AUTO" -}; + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + channelNames = other->channelNames; + channelNumbers = other->channelNumbers; + channelIds = other->channelIds; -static const char *dvbSPolarizationTable[] = { - /* Horizontal = 0 */ "H", - /* Vertical = 1 */ "V", - /* CircularLeft = 2 */ "L", - /* CircularRight = 3 */ "R" -}; + foreach (const DvbSharedChannel &channel, channelNumbers) { + emit channelAdded(channel); + } + } else if (isSqlModel && !other->isSqlModel) { + QMultiMap otherChannelKeys; -static const char *dvbS2ModulationTable[] = { - /* Qpsk = 0 */ "QPSK", - /* Psk8 = 1 */ "8PSK", - /* Apsk16 = 2 */ "16APSK", - /* Apsk32 = 3 */ "32APSK", - /* ModulationAuto = 4 */ "AUTO" -}; + foreach (const DvbSharedChannel &channel, other->getChannels()) { + otherChannelKeys.insert(*channel, channel); + } -static const char *dvbS2RollOffTable[] = { - /* RollOff20 = 0 */ "20", - /* RollOff25 = 1 */ "25", - /* RollOff35 = 2 */ "35", - /* RollOffAuto = 3 */ "AUTO" -}; + for (QMap::ConstIterator it = channels.constBegin(); + it != channels.constEnd();) { + const DvbSharedChannel &channel = *it; + ++it; + DvbSharedChannel otherChannel = otherChannelKeys.take(*channel); + + if (otherChannel.isValid()) { + if (otherChannel != channel) { + DvbChannel modifiedChannel(*otherChannel); + updateChannel(channel, modifiedChannel); + } + } else { + removeChannel(channel); + } + } -static const char *dvbTBandwidthTable[] = { - /* Bandwidth6MHz = 0 */ "6MHz", - /* Bandwidth7MHz = 1 */ "7MHz", - /* Bandwidth8MHz = 2 */ "8MHz", - /* BandwidthAuto = 3 */ "AUTO" -}; + foreach (const DvbSharedChannel &channel, otherChannelKeys) { + DvbChannel newChannel(*channel); + addChannel(newChannel); + } + } else { + kWarning() << "illegal type of clone"; + } +} -static const char *dvbTModulationTable[] = { - /* Qpsk = 0 */ "QPSK", - /* Qam16 = 1 */ "QAM16", - /* Qam64 = 2 */ "QAM64", - /* ModulationAuto = 3 */ "AUTO" -}; +void DvbChannelModel::addChannel(DvbChannel &channel) +{ + bool forceAdd; -static const char *dvbTTransmissionModeTable[] = { - /* TransmissionMode2k = 0 */ "2k", - /* TransmissionMode8k = 1 */ "8k", - /* TransmissionModeAuto = 2 */ "AUTO", - /* TransmissionMode4k = 3 */ "4k" -}; + if (channel.number < 1) { + channel.number = 1; + forceAdd = false; + } else { + forceAdd = true; + } -static const char *dvbTGuardIntervalTable[] = { - /* GuardInterval1_4 = 0 */ "1/4", - /* GuardInterval1_8 = 1 */ "1/8", - /* GuardInterval1_16 = 2 */ "1/16", - /* GuardInterval1_32 = 3 */ "1/32", - /* GuardIntervalAuto = 4 */ "AUTO" -}; + if (!channel.validate()) { + kWarning() << "invalid channel"; + return; + } -static const char *dvbTHierarchyTable[] = { - /* HierarchyNone = 0 */ "NONE", - /* Hierarchy1 = 1 */ "1", - /* Hierarchy2 = 2 */ "2", - /* Hierarchy4 = 3 */ "4", - /* HierarchyAuto = 4 */ "AUTO" -}; + if (forceAdd) { + DvbSharedChannel existingChannel = channelNames.value(channel.name); -static const char *atscModulationTable[] = { - /* Qam64 = 0 */ "QAM64", - /* Qam256 = 1 */ "QAM256", - /* Vsb8 = 2 */ "8VSB", - /* Vsb16 = 3 */ "16VSB", - /* ModulationAuto = 4 */ "AUTO" -}; + if (existingChannel.isValid()) { + DvbChannel updatedChannel = *existingChannel; + updatedChannel.name = findNextFreeChannelName(updatedChannel.name); + updateChannel(existingChannel, updatedChannel); + } -template static QDataStream &operator>>(QDataStream &stream, T &value) -{ - int intValue; - stream >> intValue; + existingChannel = channelNumbers.value(channel.number); - if ((intValue < 0) || (intValue > maxEnumValue())) { - stream.setStatus(QDataStream::ReadCorruptData); + if (existingChannel.isValid()) { + DvbChannel updatedChannel = *existingChannel; + updatedChannel.number = findNextFreeChannelNumber(updatedChannel.number); + updateChannel(existingChannel, updatedChannel); + } } else { - value = static_cast(intValue); - } + DvbSharedChannel existingChannel = channelIds.value(DvbChannelId(&channel)); - return stream; -} + if (existingChannel.isValid()) { + if (channel.name == extractBaseName(existingChannel->name)) { + channel.name = existingChannel->name; + } else { + channel.name = findNextFreeChannelName(channel.name); + } -class DvbChannelStringReader -{ -public: - DvbChannelStringReader(const QString &string_) : string(string_) - { - stream.setString(&string); - stream.setIntegerBase(10); - } + channel.number = existingChannel->number; + DvbPmtParser pmtParser(DvbPmtSection(channel.pmtSectionData)); - ~DvbChannelStringReader() { } + for (int i = 0; i < pmtParser.audioPids.size(); ++i) { + if (pmtParser.audioPids.at(i).first == existingChannel->audioPid) { + channel.audioPid = existingChannel->audioPid; + break; + } + } - bool isValid() const - { - return stream.status() == QTextStream::Ok; - } + updateChannel(existingChannel, channel); + return; + } - void readInt(int &value) - { - stream >> value; + channel.name = findNextFreeChannelName(channel.name); + channel.number = findNextFreeChannelNumber(channel.number); } - template void readEnum(T &value, const char **table) - { - QString string; - stream >> string; + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } - for (int i = 0; i <= maxEnumValue(); ++i) { - if (string == table[i]) { - value = static_cast(i); - return; - } - } + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); - stream.setStatus(QTextStream::ReadCorruptData); + if (isSqlModel) { + channel.setSqlKey(sqlFindFreeKey(channels)); + } else { + channel.setSqlKey(SqlKey()); } - void checkChar(QChar value) - { - QString string; - stream >> string; + DvbSharedChannel newChannel(new DvbChannel(channel)); + channelNames.insert(newChannel->name, newChannel); + channelNumbers.insert(newChannel->number, newChannel); + channelIds.insert(DvbChannelId(newChannel), newChannel); - if (string != value) { - stream.setStatus(QTextStream::ReadCorruptData); - } + if (isSqlModel) { + channels.insert(*newChannel, newChannel); + sqlInsert(*newChannel); } - void checkString(const QString &value) - { - QString string; - stream >> string; + emit channelAdded(newChannel); +} - if (string != value) { - stream.setStatus(QTextStream::ReadCorruptData); - } +void DvbChannelModel::updateChannel(DvbSharedChannel channel, DvbChannel &modifiedChannel) +{ + if (!channel.isValid() || (channelNumbers.value(channel->number) != channel) || + !modifiedChannel.validate()) { + kWarning() << "invalid channel"; + return; } -private: - QString string; - QTextStream stream; -}; + if (channel->name != modifiedChannel.name) { + DvbSharedChannel existingChannel = channelNames.value(modifiedChannel.name); -class DvbChannelStringWriter -{ -public: - DvbChannelStringWriter() - { - stream.setString(&string); + if (existingChannel.isValid()) { + DvbChannel updatedChannel = *existingChannel; + updatedChannel.name = findNextFreeChannelName(updatedChannel.name); + updateChannel(existingChannel, updatedChannel); + } } - ~DvbChannelStringWriter() { } + if (channel->number != modifiedChannel.number) { + DvbSharedChannel existingChannel = channelNumbers.value(modifiedChannel.number); - QString getString() - { - string.chop(1); - return string; + if (existingChannel.isValid()) { + DvbChannel updatedChannel = *existingChannel; + updatedChannel.number = findNextFreeChannelNumber(updatedChannel.number); + updateChannel(existingChannel, updatedChannel); + } } - void writeInt(int value) - { - stream << value << ' '; + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; } - void writeEnum(int value, const char **table) - { - stream << table[value] << ' '; + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + modifiedChannel.setSqlKey(*channel); + bool channelNameChanged = (channel->name != modifiedChannel.name); + bool channelNumberChanged = (channel->number != modifiedChannel.number); + bool channelIdChanged = (DvbChannelId(channel) != DvbChannelId(&modifiedChannel)); + emit channelAboutToBeUpdated(channel); + + if (channelNameChanged) { + channelNames.remove(channel->name); } - void writeChar(QChar value) - { - stream << value << ' '; + if (channelNumberChanged) { + channelNumbers.remove(channel->number); } - void writeString(const QString &value) - { - stream << value << ' '; + if (channelIdChanged) { + channelIds.remove(DvbChannelId(channel), channel); } -private: - QString string; - QTextStream stream; -}; + if (!isSqlModel && channel->isSqlKeyValid()) { + DvbSharedChannel detachedChannel(new DvbChannel(modifiedChannel)); + channelNames.insert(detachedChannel->name, detachedChannel); + channelNumbers.insert(detachedChannel->number, detachedChannel); + channelIds.insert(DvbChannelId(detachedChannel), detachedChannel); + emit channelUpdated(detachedChannel); + } else { + *const_cast(channel.constData()) = modifiedChannel; -void DvbCTransponder::readTransponder(QDataStream &stream) -{ - stream >> frequency; - stream >> symbolRate; - stream >> modulation; - stream >> fecRate; -} + if (channelNameChanged) { + channelNames.insert(channel->name, channel); + } -bool DvbCTransponder::fromString(const QString &string) -{ - DvbChannelStringReader reader(string); - reader.checkChar('C'); - reader.readInt(frequency); - reader.readInt(symbolRate); - reader.readEnum(fecRate, dvbFecRateTable); - reader.readEnum(modulation, dvbCModulationTable); - return reader.isValid(); -} + if (channelNumberChanged) { + channelNumbers.insert(channel->number, channel); + } -QString DvbCTransponder::toString() const -{ - DvbChannelStringWriter writer; - writer.writeChar('C'); - writer.writeInt(frequency); - writer.writeInt(symbolRate); - writer.writeEnum(fecRate, dvbFecRateTable); - writer.writeEnum(modulation, dvbCModulationTable); - return writer.getString(); -} + if (channelIdChanged) { + channelIds.insert(DvbChannelId(channel), channel); + } -bool DvbCTransponder::corresponds(const DvbTransponder &transponder) const -{ - const DvbCTransponder *dvbCTransponder = transponder->getDvbCTransponder(); + if (isSqlModel) { + sqlUpdate(*channel); + } - return (dvbCTransponder != NULL) && - (qAbs(dvbCTransponder->frequency - frequency) <= 2000000); + emit channelUpdated(channel); + } } -void DvbSTransponder::readTransponder(QDataStream &stream) +void DvbChannelModel::removeChannel(DvbSharedChannel channel) { - stream >> polarization; - stream >> frequency; - stream >> symbolRate; - stream >> fecRate; -} + if (!channel.isValid() || (channelNumbers.value(channel->number) != channel)) { + kWarning() << "invalid channel"; + return; + } -bool DvbSTransponder::fromString(const QString &string) -{ - DvbChannelStringReader reader(string); - reader.checkChar('S'); - reader.readInt(frequency); - reader.readEnum(polarization, dvbSPolarizationTable); - reader.readInt(symbolRate); - reader.readEnum(fecRate, dvbFecRateTable); - return reader.isValid(); -} + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } -QString DvbSTransponder::toString() const -{ - DvbChannelStringWriter writer; - writer.writeChar('S'); - writer.writeInt(frequency); - writer.writeEnum(polarization, dvbSPolarizationTable); - writer.writeInt(symbolRate); - writer.writeEnum(fecRate, dvbFecRateTable); - return writer.getString(); -} + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + channelNames.remove(channel->name); + channelNumbers.remove(channel->number); + channelIds.remove(DvbChannelId(channel), channel); -bool DvbSTransponder::corresponds(const DvbTransponder &transponder) const -{ - const DvbSTransponder *dvbSTransponder = transponder->getDvbSTransponder(); + if (isSqlModel) { + channels.remove(*channel); + sqlRemove(*channel); + } - return (dvbSTransponder != NULL) && - (dvbSTransponder->polarization == polarization) && - (qAbs(dvbSTransponder->frequency - frequency) <= 2000); + emit channelRemoved(channel); } -void DvbS2Transponder::readTransponder(QDataStream &stream) +void DvbChannelModel::dndMoveChannels(const QList &selectedChannels, + int insertBeforeNumber) { - stream >> polarization; - stream >> frequency; - stream >> symbolRate; - stream >> fecRate; - stream >> modulation; - stream >> rollOff; -} + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } -bool DvbS2Transponder::fromString(const QString &string) -{ - DvbChannelStringReader reader(string); - reader.checkString("S2"); - reader.readInt(frequency); - reader.readEnum(polarization, dvbSPolarizationTable); - reader.readInt(symbolRate); - reader.readEnum(fecRate, dvbFecRateTable); - reader.readEnum(rollOff, dvbS2RollOffTable); - reader.readEnum(modulation, dvbS2ModulationTable); - return reader.isValid(); -} + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + typedef QMap::ConstIterator ConstIterator; + QList channelQueue; + + foreach (const DvbSharedChannel &channel, selectedChannels) { + if (channel.isValid()) { + ConstIterator it = channelNumbers.constFind(channel->number); + + if ((it != channelNumbers.constEnd()) && (*it == channel)) { + channelNumbers.remove(channel->number); + channelQueue.append(channel); + } + } + } -QString DvbS2Transponder::toString() const -{ - DvbChannelStringWriter writer; - writer.writeString("S2"); - writer.writeInt(frequency); - writer.writeEnum(polarization, dvbSPolarizationTable); - writer.writeInt(symbolRate); - writer.writeEnum(fecRate, dvbFecRateTable); - writer.writeEnum(rollOff, dvbS2RollOffTable); - writer.writeEnum(modulation, dvbS2ModulationTable); - return writer.getString(); -} + ConstIterator it = channelNumbers.constFind(insertBeforeNumber); + int currentNumber = 1; -bool DvbS2Transponder::corresponds(const DvbTransponder &transponder) const -{ - const DvbS2Transponder *dvbS2Transponder = transponder->getDvbS2Transponder(); + if (it != channelNumbers.constBegin()) { + currentNumber = ((it - 1).key() + 1); + } - return (dvbS2Transponder != NULL) && - (dvbS2Transponder->polarization == polarization) && - (qAbs(dvbS2Transponder->frequency - frequency) <= 2000); -} + while (!channelQueue.isEmpty()) { + DvbSharedChannel channel = channelQueue.takeFirst(); -void DvbTTransponder::readTransponder(QDataStream &stream) -{ - stream >> frequency; - stream >> bandwidth; - stream >> modulation; - stream >> fecRateHigh; - stream >> fecRateLow; - stream >> transmissionMode; - stream >> guardInterval; - stream >> hierarchy; -} + if (channel->number != currentNumber) { + emit channelAboutToBeUpdated(channel); + DvbSharedChannel existingChannel = channelNumbers.take(currentNumber); -bool DvbTTransponder::fromString(const QString &string) -{ - DvbChannelStringReader reader(string); - reader.checkChar('T'); - reader.readInt(frequency); - reader.readEnum(bandwidth, dvbTBandwidthTable); - reader.readEnum(fecRateHigh, dvbFecRateTable); - reader.readEnum(fecRateLow, dvbFecRateTable); - reader.readEnum(modulation, dvbTModulationTable); - reader.readEnum(transmissionMode, dvbTTransmissionModeTable); - reader.readEnum(guardInterval, dvbTGuardIntervalTable); - reader.readEnum(hierarchy, dvbTHierarchyTable); - return reader.isValid(); -} + if (existingChannel.isValid()) { + channelQueue.append(existingChannel); + } -QString DvbTTransponder::toString() const -{ - DvbChannelStringWriter writer; - writer.writeChar('T'); - writer.writeInt(frequency); - writer.writeEnum(bandwidth, dvbTBandwidthTable); - writer.writeEnum(fecRateHigh, dvbFecRateTable); - writer.writeEnum(fecRateLow, dvbFecRateTable); - writer.writeEnum(modulation, dvbTModulationTable); - writer.writeEnum(transmissionMode, dvbTTransmissionModeTable); - writer.writeEnum(guardInterval, dvbTGuardIntervalTable); - writer.writeEnum(hierarchy, dvbTHierarchyTable); - return writer.getString(); -} + if (!isSqlModel && channel->isSqlKeyValid()) { + DvbChannel *newChannel = new DvbChannel(*channel); + newChannel->number = currentNumber; + DvbSharedChannel detachedChannel(newChannel); + channelNames.insert(detachedChannel->name, detachedChannel); + channelNumbers.insert(detachedChannel->number, detachedChannel); + channelIds.insert(DvbChannelId(detachedChannel), detachedChannel); + emit channelUpdated(detachedChannel); + } else { + const_cast(channel.constData())->number = + currentNumber; + channelNumbers.insert(channel->number, channel); + + if (isSqlModel) { + sqlUpdate(*channel); + } -bool DvbTTransponder::corresponds(const DvbTransponder &transponder) const -{ - const DvbTTransponder *dvbTTransponder = transponder->getDvbTTransponder(); + emit channelUpdated(channel); + } + } else { + channelNumbers.insert(channel->number, channel); + } - return (dvbTTransponder != NULL) && - (qAbs(dvbTTransponder->frequency - frequency) <= 2000000); + ++currentNumber; + } } -void AtscTransponder::readTransponder(QDataStream &stream) +void DvbChannelModel::bindToSqlQuery(SqlKey sqlKey, QSqlQuery &query, int index) const { - stream >> frequency; - stream >> modulation; -} + DvbSharedChannel channel = channels.value(sqlKey); -bool AtscTransponder::fromString(const QString &string) -{ - DvbChannelStringReader reader(string); - reader.checkChar('A'); - reader.readInt(frequency); - reader.readEnum(modulation, atscModulationTable); - return reader.isValid(); -} + if (!channel.isValid()) { + kWarning() << "invalid channel"; + return; + } -QString AtscTransponder::toString() const + query.bindValue(index++, channel->name); + query.bindValue(index++, channel->number); + query.bindValue(index++, channel->source); + query.bindValue(index++, channel->transponder.toString()); + query.bindValue(index++, channel->networkId); + query.bindValue(index++, channel->transportStreamId); + query.bindValue(index++, channel->pmtPid); + query.bindValue(index++, channel->pmtSectionData); + query.bindValue(index++, channel->audioPid); + query.bindValue(index++, (channel->hasVideo ? 0x01 : 0) | + (channel->isScrambled ? 0x02 : 0)); +} + +bool DvbChannelModel::insertFromSqlQuery(SqlKey sqlKey, const QSqlQuery &query, int index) +{ + DvbChannel *channel = new DvbChannel(); + DvbSharedChannel sharedChannel(channel); + channel->setSqlKey(sqlKey); + channel->name = query.value(index++).toString(); + channel->number = query.value(index++).toInt(); + channel->source = query.value(index++).toString(); + channel->transponder = DvbTransponder::fromString(query.value(index++).toString()); + channel->networkId = query.value(index++).toInt(); + channel->transportStreamId = query.value(index++).toInt(); + channel->pmtPid = query.value(index++).toInt(); + channel->pmtSectionData = query.value(index++).toByteArray(); + channel->audioPid = query.value(index++).toInt(); + int flags = query.value(index++).toInt(); + channel->hasVideo = ((flags & 0x01) != 0); + channel->isScrambled = ((flags & 0x02) != 0); + + if (channel->validate() && !channelNames.contains(channel->name) && + !channelNumbers.contains(channel->number)) { + channelNames.insert(sharedChannel->name, sharedChannel); + channelNumbers.insert(sharedChannel->number, sharedChannel); + channelIds.insert(DvbChannelId(sharedChannel), sharedChannel); + channels.insert(*sharedChannel, sharedChannel); + return true; + } + + return false; +} + +QString DvbChannelModel::extractBaseName(const QString &name) const { - DvbChannelStringWriter writer; - writer.writeChar('A'); - writer.writeInt(frequency); - writer.writeEnum(modulation, atscModulationTable); - return writer.getString(); -} + QString baseName = name; + int position = baseName.lastIndexOf('-'); -bool AtscTransponder::corresponds(const DvbTransponder &transponder) const -{ - const AtscTransponder *atscTransponder = transponder->getAtscTransponder(); + if (position > 0) { + QString suffix = baseName.mid(position + 1); - return (atscTransponder != NULL) && - (qAbs(atscTransponder->frequency - frequency) <= 2000000); + if (suffix == QString::number(suffix.toInt())) { + baseName.truncate(position); + } + } + + return baseName; } -void DvbChannelBase::readChannel(QDataStream &stream) +QString DvbChannelModel::findNextFreeChannelName(const QString &name) const { - int type; - stream >> type; + if (!channelNames.contains(name)) { + return name; + } - DvbTransponderBase *transponderBase = NULL; + QString baseName = extractBaseName(name); + int suffix = 0; + QString newName = baseName; - switch (type) { - case DvbTransponderBase::DvbC: - transponderBase = new DvbCTransponder(); - break; - case DvbTransponderBase::DvbS: - transponderBase = new DvbSTransponder(); - break; - case DvbTransponderBase::DvbS2: - transponderBase = new DvbS2Transponder(); - break; - case DvbTransponderBase::DvbT: - transponderBase = new DvbTTransponder(); - break; - case DvbTransponderBase::Atsc: - transponderBase = new AtscTransponder(); - break; + while (channelNames.contains(newName)) { + ++suffix; + newName = baseName + '-' + QString::number(suffix); } - if (transponderBase == NULL) { - stream.setStatus(QDataStream::ReadCorruptData); - return; - } + return newName; +} - stream >> name; - stream >> number; +int DvbChannelModel::findNextFreeChannelNumber(int number) const +{ + while (channelNumbers.contains(number)) { + ++number; + } - stream >> source; - transponderBase->readTransponder(stream); - transponder = DvbTransponder(transponderBase); - stream >> networkId; - stream >> transportStreamId; - int serviceId; - stream >> serviceId; - stream >> pmtPid; - - stream >> pmtSection; - int videoPid; - stream >> videoPid; - stream >> audioPid; - - int flags; - stream >> flags; - hasVideo = (videoPid >= 0); - isScrambled = (flags & 0x1) != 0; + return number; } diff -Nru kaffeine-1.1/src/dvb/dvbchanneldialog.cpp kaffeine-1.2.2/src/dvb/dvbchanneldialog.cpp --- kaffeine-1.1/src/dvb/dvbchanneldialog.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbchanneldialog.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,734 @@ +/* + * dvbchanneldialog.cpp + * + * Copyright (C) 2007-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "dvbchanneldialog.h" +#include "dvbchanneldialog_p.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "dvbsi.h" + +bool DvbChannelLessThan::operator()(const DvbSharedChannel &x, const DvbSharedChannel &y) const +{ + switch (sortOrder) { + case ChannelNameAscending: + if (x->name != y->name) { + return (x->name.localeAwareCompare(y->name) < 0); + } + + break; + case ChannelNameDescending: + if (x->name != y->name) { + return (x->name.localeAwareCompare(y->name) > 0); + } + + break; + case ChannelNumberAscending: + if (x->number != y->number) { + return (x->number < y->number); + } + + break; + case ChannelNumberDescending: + if (x->number != y->number) { + return (x->number > y->number); + } + + break; + } + + return (x < y); +} + +DvbChannelTableModel::DvbChannelTableModel(QObject *parent) : + TableModel(parent), channelModel(NULL), + dndInsertBeforeNumber(-1), dndEventPosted(false) +{ +} + +DvbChannelTableModel::~DvbChannelTableModel() +{ +} + +void DvbChannelTableModel::setChannelModel(DvbChannelModel *channelModel_) +{ + if (channelModel != NULL) { + kWarning() << "channel model already set"; + return; + } + + channelModel = channelModel_; + connect(channelModel, SIGNAL(channelAdded(DvbSharedChannel)), + this, SLOT(channelAdded(DvbSharedChannel))); + connect(channelModel, SIGNAL(channelAboutToBeUpdated(DvbSharedChannel)), + this, SLOT(channelAboutToBeUpdated(DvbSharedChannel))); + connect(channelModel, SIGNAL(channelUpdated(DvbSharedChannel)), + this, SLOT(channelUpdated(DvbSharedChannel))); + connect(channelModel, SIGNAL(channelRemoved(DvbSharedChannel)), + this, SLOT(channelRemoved(DvbSharedChannel))); + reset(channelModel->getChannels()); +} + +QVariant DvbChannelTableModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if ((orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { + switch (section) { + case 0: + return i18nc("@title:column tv show", "Channel"); + case 1: + return i18nc("@title:column tv channel", "Number"); + } + } + + return QVariant(); +} + +QVariant DvbChannelTableModel::data(const QModelIndex &index, int role) const +{ + const DvbSharedChannel &channel = value(index); + + if (channel.isValid()) { + switch (role) { + case Qt::DecorationRole: + if (index.column() == 0) { + if (channel->hasVideo) { + if (!channel->isScrambled) { + return KIcon("video-television"); + } else { + return KIcon("video-television-encrypted"); + } + } else { + if (!channel->isScrambled) { + return KIcon("text-speak"); + } else { + return KIcon("audio-radio-encrypted"); + } + } + } + + break; + case Qt::DisplayRole: + switch (index.column()) { + case 0: + return channel->name; + case 1: + return channel->number; + } + + break; + } + } + + return QVariant(); +} + +void DvbChannelTableModel::sort(int column, Qt::SortOrder order) +{ + DvbChannelLessThan::SortOrder sortOrder; + + if (order == Qt::AscendingOrder) { + if (column == 0) { + sortOrder = DvbChannelLessThan::ChannelNameAscending; + } else { + sortOrder = DvbChannelLessThan::ChannelNumberAscending; + } + } else { + if (column == 0) { + sortOrder = DvbChannelLessThan::ChannelNameDescending; + } else { + sortOrder = DvbChannelLessThan::ChannelNumberDescending; + } + } + + internalSort(sortOrder); +} + +Qt::ItemFlags DvbChannelTableModel::flags(const QModelIndex &index) const +{ + if (index.isValid()) { + return (QAbstractTableModel::flags(index) | Qt::ItemIsDragEnabled); + } else { + return (QAbstractTableModel::flags(index) | Qt::ItemIsDropEnabled); + } +} + +QMimeData *DvbChannelTableModel::mimeData(const QModelIndexList &indexes) const +{ + QList selectedChannels; + + foreach (const QModelIndex &index, indexes) { + if (index.column() == 0) { + selectedChannels.append(value(index)); + } + } + + QMimeData *mimeData = new QMimeData(); + mimeData->setData("application/x-org.kde.kaffeine-selectedchannels", QByteArray()); + // this way the list will be properly deleted once drag and drop ends + mimeData->setProperty("SelectedChannels", QVariant::fromValue(selectedChannels)); + return mimeData; +} + +QStringList DvbChannelTableModel::mimeTypes() const +{ + return QStringList("application/x-org.kde.kaffeine-selectedchannels"); +} + +Qt::DropActions DvbChannelTableModel::supportedDropActions() const +{ + return Qt::MoveAction; +} + +bool DvbChannelTableModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, + int column, const QModelIndex &parent) +{ + Q_UNUSED(column) + Q_UNUSED(parent) + dndSelectedChannels.clear(); + dndInsertBeforeNumber = -1; + + if (action == Qt::MoveAction) { + dndSelectedChannels = + data->property("SelectedChannels").value >(); + const DvbSharedChannel &dndInsertBeforeChannel = value(row); + + if (dndInsertBeforeChannel.isValid()) { + dndInsertBeforeNumber = dndInsertBeforeChannel->number; + } + + if (!dndSelectedChannels.isEmpty() && !dndEventPosted) { + dndEventPosted = true; + QCoreApplication::postEvent(this, new QEvent(QEvent::User)); + } + } + + return false; +} + +void DvbChannelTableModel::setFilter(const QString &filter) +{ + // Qt::CaseSensitive == no filtering + helper.filter.setCaseSensitivity( + filter.isEmpty() ? Qt::CaseSensitive : Qt::CaseInsensitive); + helper.filter.setPattern(filter); + reset(channelModel->getChannels()); +} + +void DvbChannelTableModel::channelAdded(const DvbSharedChannel &channel) +{ + insert(channel); +} + +void DvbChannelTableModel::channelAboutToBeUpdated(const DvbSharedChannel &channel) +{ + aboutToUpdate(channel); +} + +void DvbChannelTableModel::channelUpdated(const DvbSharedChannel &channel) +{ + update(channel); +} + +void DvbChannelTableModel::channelRemoved(const DvbSharedChannel &channel) +{ + remove(channel); +} + +void DvbChannelTableModel::customEvent(QEvent *event) +{ + Q_UNUSED(event) + bool ok = true; + emit checkChannelDragAndDrop(&ok); + + if (ok && !dndSelectedChannels.isEmpty()) { + channelModel->dndMoveChannels(dndSelectedChannels, dndInsertBeforeNumber); + } + + dndSelectedChannels.clear(); + dndEventPosted = false; +} + +DvbChannelView::DvbChannelView(QWidget *parent) : QTreeView(parent), tableModel(NULL) +{ +} + +DvbChannelView::~DvbChannelView() +{ +} + +KAction *DvbChannelView::addEditAction() +{ + KAction *action = new KAction(KIcon("configure"), i18nc("@action", "Edit"), this); + connect(action, SIGNAL(triggered()), this, SLOT(editChannel())); + addAction(action); + return action; +} + +KAction *DvbChannelView::addRemoveAction() +{ + KAction *action = new KAction(KIcon("edit-delete"), i18nc("@action", "Remove"), this); + connect(action, SIGNAL(triggered()), this, SLOT(removeChannel())); + addAction(action); + return action; +} + +void DvbChannelView::setModel(DvbChannelTableModel *tableModel_) +{ + tableModel = tableModel_; + QTreeView::setModel(tableModel); +} + +void DvbChannelView::checkChannelDragAndDrop(bool *ok) +{ + if ((*ok) && ((header()->sortIndicatorSection() != 1) || + (header()->sortIndicatorOrder() != Qt::AscendingOrder))) { + if (KMessageBox::warningContinueCancel(this, i18nc("@info", + "The channels will be sorted by number to allow drag and drop.\n" + "Do you want to continue?")) == KMessageBox::Continue) { + sortByColumn(1, Qt::AscendingOrder); + } else { + *ok = false; + } + } +} + +void DvbChannelView::editChannel() +{ + QModelIndex index = currentIndex(); + + if (index.isValid()) { + KDialog *dialog = new DvbChannelEditor(tableModel, tableModel->value(index), this); + dialog->setAttribute(Qt::WA_DeleteOnClose, true); + dialog->setModal(true); + dialog->show(); + } +} + +void DvbChannelView::removeChannel() +{ + QList selectedChannels; + + foreach (const QModelIndex &index, selectionModel()->selectedIndexes()) { + if (index.column() == 0) { + selectedChannels.append(tableModel->value(index)); + } + } + + DvbChannelModel *channelModel = tableModel->getChannelModel(); + + foreach (const DvbSharedChannel &channel, selectedChannels) { + channelModel->removeChannel(channel); + } +} + +void DvbChannelView::removeAllChannels() +{ + DvbChannelModel *channelModel = tableModel->getChannelModel(); + + foreach (const DvbSharedChannel &channel, channelModel->getChannels().values()) { + channelModel->removeChannel(channel); + } +} + +static QString enumToString(DvbTransponderBase::FecRate fecRate) +{ + switch (fecRate) { + case DvbTransponderBase::FecNone: return "NONE"; + case DvbTransponderBase::Fec1_2: return "1/2"; + case DvbTransponderBase::Fec1_3: return "1/3"; + case DvbTransponderBase::Fec1_4: return "1/4"; + case DvbTransponderBase::Fec2_3: return "2/3"; + case DvbTransponderBase::Fec2_5: return "2/5"; + case DvbTransponderBase::Fec3_4: return "3/4"; + case DvbTransponderBase::Fec3_5: return "3/5"; + case DvbTransponderBase::Fec4_5: return "4/5"; + case DvbTransponderBase::Fec5_6: return "5/6"; + case DvbTransponderBase::Fec6_7: return "6/7"; + case DvbTransponderBase::Fec7_8: return "7/8"; + case DvbTransponderBase::Fec8_9: return "8/9"; + case DvbTransponderBase::Fec9_10: return "9/10"; + case DvbTransponderBase::FecAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbCTransponder::Modulation modulation) +{ + switch (modulation) { + case DvbCTransponder::Qam16: return "16-QAM"; + case DvbCTransponder::Qam32: return "32-QAM"; + case DvbCTransponder::Qam64: return "64-QAM"; + case DvbCTransponder::Qam128: return "128-QAM"; + case DvbCTransponder::Qam256: return "256-QAM"; + case DvbCTransponder::ModulationAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbSTransponder::Polarization polarization) +{ + switch (polarization) { + case DvbSTransponder::Horizontal: return i18n("Horizontal"); + case DvbSTransponder::Vertical: return i18n("Vertical"); + case DvbSTransponder::CircularLeft: return i18n("Circular left"); + case DvbSTransponder::CircularRight: return i18n("Circular right"); + } + + return QString(); +} + +static QString enumToString(DvbS2Transponder::Modulation modulation) +{ + switch (modulation) { + case DvbS2Transponder::Qpsk: return "QPSK"; + case DvbS2Transponder::Psk8: return "8-PSK"; + case DvbS2Transponder::Apsk16: return "16-APSK"; + case DvbS2Transponder::Apsk32: return "32-APSK"; + case DvbS2Transponder::ModulationAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbS2Transponder::RollOff rollOff) +{ + switch (rollOff) { + case DvbS2Transponder::RollOff20: return "0.20"; + case DvbS2Transponder::RollOff25: return "0.25"; + case DvbS2Transponder::RollOff35: return "0.35"; + case DvbS2Transponder::RollOffAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbTTransponder::Bandwidth bandwidth) +{ + switch (bandwidth) { + case DvbTTransponder::Bandwidth6MHz: return "6MHz"; + case DvbTTransponder::Bandwidth7MHz: return "7MHz"; + case DvbTTransponder::Bandwidth8MHz: return "8MHz"; + case DvbTTransponder::BandwidthAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbTTransponder::Modulation modulation) +{ + switch (modulation) { + case DvbTTransponder::Qpsk: return "QPSK"; + case DvbTTransponder::Qam16: return "16-QAM"; + case DvbTTransponder::Qam64: return "64-QAM"; + case DvbTTransponder::ModulationAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbTTransponder::TransmissionMode transmissionMode) +{ + switch (transmissionMode) { + case DvbTTransponder::TransmissionMode2k: return "2k"; + case DvbTTransponder::TransmissionMode4k: return "4k"; + case DvbTTransponder::TransmissionMode8k: return "8k"; + case DvbTTransponder::TransmissionModeAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbTTransponder::GuardInterval guardInterval) +{ + switch (guardInterval) { + case DvbTTransponder::GuardInterval1_4: return "1/4"; + case DvbTTransponder::GuardInterval1_8: return "1/8"; + case DvbTTransponder::GuardInterval1_16: return "1/16"; + case DvbTTransponder::GuardInterval1_32: return "1/32"; + case DvbTTransponder::GuardIntervalAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(DvbTTransponder::Hierarchy hierarchy) +{ + switch (hierarchy) { + case DvbTTransponder::HierarchyNone: return "NONE"; + case DvbTTransponder::Hierarchy1: return "1"; + case DvbTTransponder::Hierarchy2: return "2"; + case DvbTTransponder::Hierarchy4: return "4"; + case DvbTTransponder::HierarchyAuto: return "AUTO"; + } + + return QString(); +} + +static QString enumToString(AtscTransponder::Modulation modulation) +{ + switch (modulation) { + case AtscTransponder::Qam64: return "64-QAM"; + case AtscTransponder::Qam256: return "256-QAM"; + case AtscTransponder::Vsb8: return "8-VSB"; + case AtscTransponder::Vsb16: return "16-VSB"; + case AtscTransponder::ModulationAuto: return "AUTO"; + } + + return QString(); +} + +DvbChannelEditor::DvbChannelEditor(DvbChannelTableModel *model_, const DvbSharedChannel &channel_, + QWidget *parent) : KDialog(parent), model(model_), channel(channel_) +{ + setCaption(i18nc("@title:window", "Edit Channel")); + + QWidget *widget = new QWidget(this); + QBoxLayout *mainLayout = new QVBoxLayout(widget); + QGridLayout *gridLayout = new QGridLayout(); + + nameEdit = new KLineEdit(widget); + nameEdit->setText(channel->name); + gridLayout->addWidget(nameEdit, 0, 1); + + QLabel *label = new QLabel(i18nc("@label tv channel", "Name:"), widget); + label->setBuddy(nameEdit); + gridLayout->addWidget(label, 0, 0); + + numberBox = new QSpinBox(widget); + numberBox->setRange(1, 99999); + numberBox->setValue(channel->number); + gridLayout->addWidget(numberBox, 0, 3); + + label = new QLabel(i18nc("@label tv channel", "Number:"), widget); + label->setBuddy(numberBox); + gridLayout->addWidget(label, 0, 2); + mainLayout->addLayout(gridLayout); + + QBoxLayout *boxLayout = new QHBoxLayout(); + + QGroupBox *groupBox = new QGroupBox(widget); + gridLayout = new QGridLayout(groupBox); + gridLayout->addWidget(new QLabel(i18nc("@label tv channel", "Source:")), 0, 0); + gridLayout->addWidget(new QLabel(channel->source), 0, 1); + + switch (channel->transponder.getTransmissionType()) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: { + const DvbCTransponder *tp = channel->transponder.as(); + gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); + gridLayout->addWidget( + new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); + gridLayout->addWidget(new QLabel(i18n("Symbol rate (kS/s):")), 2, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->symbolRate / 1000.0)), 2, 1); + gridLayout->addWidget(new QLabel(i18n("Modulation:")), 3, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 3, 1); + gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRate)), 4, 1); + break; + } + case DvbTransponderBase::DvbS: + case DvbTransponderBase::DvbS2: { + const DvbS2Transponder *tp2 = channel->transponder.as(); + const DvbSTransponder *tp = channel->transponder.as(); + + if (tp == NULL) { + tp = tp2; + } + + gridLayout->addWidget(new QLabel(i18n("Polarization:")), 1, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->polarization)), 1, 1); + gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 2, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->frequency / 1000.0)), 2, 1); + gridLayout->addWidget(new QLabel(i18n("Symbol rate (kS/s):")), 3, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->symbolRate / 1000.0)), 3, 1); + gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRate)), 4, 1); + + if (tp2 != NULL) { + gridLayout->addWidget(new QLabel(i18n("Modulation:")), 5, 0); + gridLayout->addWidget(new QLabel(enumToString(tp2->modulation)), 5, 1); + gridLayout->addWidget(new QLabel(i18n("Roll-off:")), 6, 0); + gridLayout->addWidget(new QLabel(enumToString(tp2->rollOff)), 6, 1); + } + + break; + } + case DvbTransponderBase::DvbT: { + const DvbTTransponder *tp = channel->transponder.as(); + gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); + gridLayout->addWidget( + new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); + gridLayout->addWidget(new QLabel(i18n("Bandwidth:")), 2, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->bandwidth)), 2, 1); + gridLayout->addWidget(new QLabel(i18n("Modulation:")), 3, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 3, 1); + gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRateHigh)), 4, 1); + gridLayout->addWidget(new QLabel(i18n("FEC rate LP:")), 5, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRateLow)), 5, 1); + gridLayout->addWidget(new QLabel(i18n("Transmission mode:")), 6, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->transmissionMode)), 6, 1); + gridLayout->addWidget(new QLabel(i18n("Guard interval:")), 7, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->guardInterval)), 7, 1); + gridLayout->addWidget(new QLabel(i18n("Hierarchy:")), 8, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->hierarchy)), 8, 1); + break; + } + case DvbTransponderBase::Atsc: { + const AtscTransponder *tp = channel->transponder.as(); + gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); + gridLayout->addWidget( + new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); + gridLayout->addWidget(new QLabel(i18n("Modulation:")), 2, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 2, 1); + break; + } + } + + gridLayout->addWidget(new QLabel(), 10, 0, 1, 2); + + gridLayout->addWidget(new QLabel(i18n("PMT PID:")), 11, 0); + gridLayout->addWidget(new QLabel(QString::number(channel->pmtPid)), 11, 1); + + DvbPmtParser pmtParser(DvbPmtSection(channel->pmtSectionData)); + int row = 12; + + if (pmtParser.videoPid >= 0) { + gridLayout->addWidget(new QLabel(i18n("Video PID:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(pmtParser.videoPid)), row++, 1); + } + + if (!pmtParser.subtitlePids.isEmpty()) { + gridLayout->addWidget(new QLabel(i18n("Subtitle PID:")), row, 0); + } + + for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { + const QPair &it = pmtParser.subtitlePids.at(i); + gridLayout->addWidget(new QLabel(QString("%1 (%2)").arg(it.first).arg(it.second)), + row++, 1); + } + + if (pmtParser.teletextPid != -1) { + gridLayout->addWidget(new QLabel(i18n("Teletext PID:")), row, 0); + gridLayout->addWidget( + new QLabel(QString::number(pmtParser.teletextPid)), row++, 1); + } + + gridLayout->addItem(new QSpacerItem(0, 0), row, 0, 1, 2); + gridLayout->setRowStretch(row, 1); + boxLayout->addWidget(groupBox); + + groupBox = new QGroupBox(widget); + gridLayout = new QGridLayout(groupBox); + gridLayout->addWidget(new QLabel(i18n("Network ID:")), 0, 0); + + networkIdBox = new QSpinBox(groupBox); + networkIdBox->setRange(-1, (1 << 16) - 1); + networkIdBox->setValue(channel->networkId); + gridLayout->addWidget(networkIdBox, 0, 1); + + gridLayout->addWidget(new QLabel(i18n("Transport stream ID:")), 1, 0); + + transportStreamIdBox = new QSpinBox(groupBox); + transportStreamIdBox->setRange(0, (1 << 16) - 1); + transportStreamIdBox->setValue(channel->transportStreamId); + gridLayout->addWidget(transportStreamIdBox, 1, 1); + + gridLayout->addWidget(new QLabel(i18n("Service ID:")), 2, 0); + + serviceIdBox = new QSpinBox(groupBox); + serviceIdBox->setRange(0, (1 << 16) - 1); + serviceIdBox->setValue(channel->serviceId); + gridLayout->addWidget(serviceIdBox, 2, 1); + + gridLayout->addWidget(new QLabel(i18n("Audio channel:")), 3, 0); + + audioChannelBox = new KComboBox(groupBox); + + for (int i = 0; i < pmtParser.audioPids.size(); ++i) { + const QPair &it = pmtParser.audioPids.at(i); + QString text = QString::number(it.first); + + if (!it.second.isEmpty()) { + text = text + " (" + it.second + ')'; + } + + audioChannelBox->addItem(text); + audioPids.append(it.first); + } + + audioChannelBox->setCurrentIndex(audioPids.indexOf(channel->audioPid)); + + if (audioPids.size() <= 1) { + audioChannelBox->setEnabled(false); + } + + gridLayout->addWidget(audioChannelBox, 3, 1); + + gridLayout->addWidget(new QLabel(i18n("Scrambled:")), 4, 0); + + scrambledBox = new QCheckBox(groupBox); + scrambledBox->setChecked(channel->isScrambled); + gridLayout->addWidget(scrambledBox, 4, 1); + + gridLayout->addItem(new QSpacerItem(0, 0), 5, 0, 1, 2); + gridLayout->setRowStretch(5, 1); + boxLayout->addWidget(groupBox); + mainLayout->addLayout(boxLayout); + + setMainWidget(widget); +} + +DvbChannelEditor::~DvbChannelEditor() +{ +} + +void DvbChannelEditor::accept() +{ + DvbChannel updatedChannel = *channel; + updatedChannel.name = nameEdit->text(); + updatedChannel.number = numberBox->value(); + updatedChannel.networkId = networkIdBox->value(); + updatedChannel.transportStreamId = transportStreamIdBox->value(); + updatedChannel.serviceId = serviceIdBox->value(); + + if (audioChannelBox->currentIndex() != -1) { + updatedChannel.audioPid = audioPids.at(audioChannelBox->currentIndex()); + } + + updatedChannel.isScrambled = scrambledBox->isChecked(); + model->getChannelModel()->updateChannel(channel, updatedChannel); + KDialog::accept(); +} diff -Nru kaffeine-1.1/src/dvb/dvbchanneldialog.h kaffeine-1.2.2/src/dvb/dvbchanneldialog.h --- kaffeine-1.1/src/dvb/dvbchanneldialog.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbchanneldialog.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,156 @@ +/* + * dvbchanneldialog.h + * + * Copyright (C) 2007-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBCHANNELDIALOG_H +#define DVBCHANNELDIALOG_H + +#include +#include "../tablemodel.h" +#include "dvbchannel.h" + +class KAction; + +class DvbChannelLessThan +{ +public: + DvbChannelLessThan() : sortOrder(ChannelNameAscending) { } + ~DvbChannelLessThan() { } + + enum SortOrder + { + ChannelNameAscending, + ChannelNameDescending, + ChannelNumberAscending, + ChannelNumberDescending + }; + + SortOrder getSortOrder() const + { + return sortOrder; + } + + void setSortOrder(SortOrder sortOrder_) + { + sortOrder = sortOrder_; + } + + bool operator()(const DvbSharedChannel &x, const DvbSharedChannel &y) const; + +private: + SortOrder sortOrder; +}; + +class DvbChannelTableModelHelper +{ +public: + DvbChannelTableModelHelper() { } + ~DvbChannelTableModelHelper() { } + + typedef DvbSharedChannel ItemType; + typedef DvbChannelLessThan LessThanType; + + int columnCount() const + { + return 2; + } + + bool filterAcceptsItem(const DvbSharedChannel &channel) const + { + // Qt::CaseSensitive == no filtering + return ((filter.caseSensitivity() == Qt::CaseSensitive) || + (filter.indexIn(channel->name) >= 0)); + } + + QStringMatcher filter; + +private: + Q_DISABLE_COPY(DvbChannelTableModelHelper) +}; + +class DvbChannelTableModel : public TableModel +{ + Q_OBJECT +public: + explicit DvbChannelTableModel(QObject *parent); + ~DvbChannelTableModel(); + + void setChannelModel(DvbChannelModel *channelModel_); + + DvbChannelModel *getChannelModel() const + { + return channelModel; + } + + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + QVariant data(const QModelIndex &index, int role) const; + void sort(int column, Qt::SortOrder order); + + Qt::ItemFlags flags(const QModelIndex &index) const; + QMimeData *mimeData(const QModelIndexList &indexes) const; + QStringList mimeTypes() const; + Qt::DropActions supportedDropActions() const; + bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, + const QModelIndex &parent); + +public slots: + void setFilter(const QString &filter); + +signals: + void checkChannelDragAndDrop(bool *ok); + +private slots: + void channelAdded(const DvbSharedChannel &channel); + void channelAboutToBeUpdated(const DvbSharedChannel &channel); + void channelUpdated(const DvbSharedChannel &channel); + void channelRemoved(const DvbSharedChannel &channel); + +private: + void customEvent(QEvent *event); + + DvbChannelModel *channelModel; + QList dndSelectedChannels; + int dndInsertBeforeNumber; + bool dndEventPosted; +}; + +class DvbChannelView : public QTreeView +{ + Q_OBJECT +public: + explicit DvbChannelView(QWidget *parent); + ~DvbChannelView(); + + KAction *addEditAction(); + KAction *addRemoveAction(); + void setModel(DvbChannelTableModel *tableModel_); + +public slots: + void checkChannelDragAndDrop(bool *ok); + void editChannel(); + void removeChannel(); + void removeAllChannels(); + +private: + void setModel(QAbstractItemModel *) { } + + DvbChannelTableModel *tableModel; +}; + +#endif /* DVBCHANNELDIALOG_H */ diff -Nru kaffeine-1.1/src/dvb/dvbchanneldialog_p.h kaffeine-1.2.2/src/dvb/dvbchanneldialog_p.h --- kaffeine-1.1/src/dvb/dvbchanneldialog_p.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbchanneldialog_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,57 @@ +/* + * dvbchanneldialog_p.h + * + * Copyright (C) 2007-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBCHANNELDIALOG_P_H +#define DVBCHANNELDIALOG_P_H + +#include +#include "dvbchannel.h" + +class QCheckBox; +class QSpinBox; +class KComboBox; +class KLineEdit; +class DvbChannelTableModel; + +Q_DECLARE_METATYPE(QList) + +class DvbChannelEditor : public KDialog +{ +public: + DvbChannelEditor(DvbChannelTableModel *model_, const DvbSharedChannel &channel_, + QWidget *parent); + ~DvbChannelEditor(); + +private: + void accept(); + + DvbChannelTableModel *model; + DvbSharedChannel channel; + KLineEdit *nameEdit; + QSpinBox *numberBox; + QSpinBox *networkIdBox; + QSpinBox *transportStreamIdBox; + QSpinBox *serviceIdBox; + KComboBox *audioChannelBox; + QList audioPids; + QCheckBox *scrambledBox; +}; + +#endif /* DVBCHANNELDIALOG_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbchannel.h kaffeine-1.2.2/src/dvb/dvbchannel.h --- kaffeine-1.1/src/dvb/dvbchannel.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbchannel.h 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbchannel.h * - * Copyright (C) 2007-2009 Christoph Pfister + * Copyright (C) 2007-2011 Christoph Pfister * * 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 @@ -21,379 +21,112 @@ #ifndef DVBCHANNEL_H #define DVBCHANNEL_H -#include -#include +#include +#include "../shareddata.h" +#include "../sqlinterface.h" +#include "dvbtransponder.h" -class AtscTransponder; -class DvbCTransponder; -class DvbSTransponder; -class DvbS2Transponder; -class DvbTTransponder; -class DvbTransponder; - -class DvbTransponderBase : public QSharedData +class DvbChannel : public SharedData, public SqlKey { public: - enum TransmissionType { - DvbC = 0, - DvbS = 1, - DvbS2 = 4, - DvbT = 2, - Atsc = 3 - }; - - enum FecRate { - FecNone = 0, - Fec1_2 = 1, - Fec1_3 = 10, - Fec1_4 = 11, - Fec2_3 = 2, - Fec2_5 = 12, - Fec3_4 = 3, - Fec3_5 = 13, - Fec4_5 = 4, - Fec5_6 = 5, - Fec6_7 = 6, - Fec7_8 = 7, - Fec8_9 = 8, - Fec9_10 = 14, - FecAuto = 9, - FecRateMax = Fec9_10 - }; - - DvbTransponderBase() { } - virtual ~DvbTransponderBase() { } - - virtual TransmissionType getTransmissionType() const = 0; - - virtual const DvbCTransponder *getDvbCTransponder() const - { - return NULL; - } - - virtual const DvbSTransponder *getDvbSTransponder() const - { - return NULL; - } - - virtual const DvbS2Transponder *getDvbS2Transponder() const - { - return NULL; - } - - virtual const DvbTTransponder *getDvbTTransponder() const - { - return NULL; - } - - virtual const AtscTransponder *getAtscTransponder() const - { - return NULL; - } - - virtual void readTransponder(QDataStream &stream) = 0; - - /* - * convert from / to linuxtv scan file format - */ - - virtual bool fromString(const QString &string) = 0; - virtual QString toString() const = 0; - - /* - * corresponding in this context means that both tuning parameters will lead to the same - * transponder; note the tuning parameters don't have to be equal, it's sufficient that they - * can't coexist at the same time (for example the frequency difference between two channels - * in the same network has to be big enough because of bandwith) - */ - - virtual bool corresponds(const DvbTransponder &transponder) const = 0; -}; + DvbChannel() : number(-1), networkId(-1), transportStreamId(-1), pmtPid(-1), serviceId(-1), + audioPid(-1), hasVideo(false), isScrambled(false) { } + ~DvbChannel() { } -class DvbCTransponder : public DvbTransponderBase -{ -public: - enum Modulation { - Qam16 = 0, - Qam32 = 1, - Qam64 = 2, - Qam128 = 3, - Qam256 = 4, - ModulationAuto = 5, - ModulationMax = ModulationAuto - }; + // checks that all variables are ok + // updates 'pmtSectionData' if 'serviceId' is valid + // (else updates 'serviceId' if 'pmtSectionData' is valid) + // 'sqlKey' is ignored + bool validate(); - TransmissionType getTransmissionType() const - { - return DvbC; - } + QString name; + int number; - const DvbCTransponder *getDvbCTransponder() const - { - return this; - } + QString source; + DvbTransponder transponder; + int networkId; // may be -1 (not present), atsc meaning: source id + int transportStreamId; + int pmtPid; - void readTransponder(QDataStream &stream); - bool fromString(const QString &string); - QString toString() const; - - bool corresponds(const DvbTransponder &transponder) const; - - int frequency; // Hz - int symbolRate; // symbols per second - Modulation modulation; - FecRate fecRate; + QByteArray pmtSectionData; + int serviceId; + int audioPid; // may be -1 (not present), doesn't have to be present in the pmt section + bool hasVideo; + bool isScrambled; }; -class DvbSTransponder : public DvbTransponderBase -{ -public: - enum Polarization { - Horizontal = 0, - Vertical = 1, - CircularLeft = 2, - CircularRight = 3, - PolarizationMax = CircularRight - }; - - TransmissionType getTransmissionType() const - { - return DvbS; - } - - const DvbSTransponder *getDvbSTransponder() const - { - return this; - } +typedef ExplicitlySharedDataPointer DvbSharedChannel; +Q_DECLARE_TYPEINFO(DvbSharedChannel, Q_MOVABLE_TYPE); - void readTransponder(QDataStream &stream); - bool fromString(const QString &string); - QString toString() const; - - bool corresponds(const DvbTransponder &transponder) const; - - Polarization polarization; - int frequency; // kHz - int symbolRate; // symbols per second - FecRate fecRate; -}; - -class DvbS2Transponder : public DvbSTransponder +class DvbChannelId { public: - enum Modulation { - Qpsk = 0, - Psk8 = 1, - Apsk16 = 2, - Apsk32 = 3, - ModulationAuto = 4, - ModulationMax = ModulationAuto - }; - - enum RollOff { - RollOff20 = 0, - RollOff25 = 1, - RollOff35 = 2, - RollOffAuto = 3, - RollOffMax = RollOffAuto - }; + explicit DvbChannelId(const DvbChannel *channel_) : channel(channel_) { } + explicit DvbChannelId(const DvbSharedChannel &channel_) : channel(channel_.constData()) { } + ~DvbChannelId() { } - TransmissionType getTransmissionType() const - { - return DvbS2; - } + // compares channels by transmission type and + // ( dvb) 'source', 'networkId', 'transportStreamId', 'serviceId' + // (atsc) 'source', 'transponder', 'networkId' - const DvbSTransponder *getDvbSTransponder() const - { - return NULL; - } + bool operator==(const DvbChannelId &other) const; - const DvbS2Transponder *getDvbS2Transponder() const + bool operator!=(const DvbChannelId &other) const { - return this; + return !(*this == other); } - void readTransponder(QDataStream &stream); - bool fromString(const QString &string); - QString toString() const; + friend uint qHash(const DvbChannelId &channel); - bool corresponds(const DvbTransponder &transponder) const; - - Modulation modulation; - RollOff rollOff; +private: + const DvbChannel *channel; }; -class DvbTTransponder : public DvbTransponderBase +class DvbChannelModel : public QObject, private SqlInterface { + Q_OBJECT public: - enum Bandwidth { - Bandwidth6MHz = 0, - Bandwidth7MHz = 1, - Bandwidth8MHz = 2, - BandwidthAuto = 3, - BandwidthMax = BandwidthAuto - }; - - enum Modulation { - Qpsk = 0, - Qam16 = 1, - Qam64 = 2, - ModulationAuto = 3, - ModulationMax = ModulationAuto - }; - - enum TransmissionMode { - TransmissionMode2k = 0, - TransmissionMode4k = 3, - TransmissionMode8k = 1, - TransmissionModeAuto = 2, - TransmissionModeMax = TransmissionMode4k - }; - - enum GuardInterval { - GuardInterval1_4 = 0, - GuardInterval1_8 = 1, - GuardInterval1_16 = 2, - GuardInterval1_32 = 3, - GuardIntervalAuto = 4, - GuardIntervalMax = GuardIntervalAuto - }; - - enum Hierarchy { - HierarchyNone = 0, - Hierarchy1 = 1, - Hierarchy2 = 2, - Hierarchy4 = 3, - HierarchyAuto = 4, - HierarchyMax = HierarchyAuto - }; + explicit DvbChannelModel(QObject *parent); + ~DvbChannelModel(); - TransmissionType getTransmissionType() const - { - return DvbT; - } + static DvbChannelModel *createSqlModel(QObject *parent); - const DvbTTransponder *getDvbTTransponder() const - { - return this; - } + // channel names and numbers are guaranteed to be unique within this model - void readTransponder(QDataStream &stream); - bool fromString(const QString &string); - QString toString() const; - - bool corresponds(const DvbTransponder &transponder) const; - - int frequency; // Hz - Bandwidth bandwidth; - Modulation modulation; - FecRate fecRateHigh; // high priority stream - FecRate fecRateLow; // low priority stream - TransmissionMode transmissionMode; - GuardInterval guardInterval; - Hierarchy hierarchy; -}; + QMap getChannels() const; + DvbSharedChannel findChannelByName(const QString &channelName) const; + DvbSharedChannel findChannelByNumber(int channelNumber) const; + DvbSharedChannel findChannelById(const DvbChannel &channel) const; -class AtscTransponder : public DvbTransponderBase -{ -public: - enum Modulation { - Qam64 = 0, - Qam256 = 1, - Vsb8 = 2, - Vsb16 = 3, - ModulationAuto = 4, - ModulationMax = ModulationAuto - }; - - TransmissionType getTransmissionType() const - { - return Atsc; - } - - const AtscTransponder *getAtscTransponder() const - { - return this; - } + void cloneFrom(DvbChannelModel *other); + void addChannel(DvbChannel &channel); + void updateChannel(DvbSharedChannel channel, DvbChannel &modifiedChannel); + void removeChannel(DvbSharedChannel channel); + void dndMoveChannels(const QList &selectedChannels, + int insertBeforeNumber); - void readTransponder(QDataStream &stream); - bool fromString(const QString &string); - QString toString() const; +signals: + void channelAdded(const DvbSharedChannel &channel); + // if this is the main model, updating doesn't change the channel pointer + // (modifies existing content); otherwise the channel pointer may be updated + void channelAboutToBeUpdated(const DvbSharedChannel &channel); + void channelUpdated(const DvbSharedChannel &channel); + void channelRemoved(const DvbSharedChannel &channel); - bool corresponds(const DvbTransponder &transponder) const; +private: + void bindToSqlQuery(SqlKey sqlKey, QSqlQuery &query, int index) const; + bool insertFromSqlQuery(SqlKey sqlKey, const QSqlQuery &query, int index); - int frequency; // Hz - Modulation modulation; -}; + QString extractBaseName(const QString &name) const; + QString findNextFreeChannelName(const QString &name) const; + int findNextFreeChannelNumber(int number) const; -class DvbTransponder : public QExplicitlySharedDataPointer -{ -public: - explicit DvbTransponder(const DvbTransponderBase *transponder = NULL) : - QExplicitlySharedDataPointer(transponder) { } - ~DvbTransponder() { } + QMap channelNames; + QMap channelNumbers; + QMultiHash channelIds; + QMap channels; // only used for the sql model + bool hasPendingOperation; + bool isSqlModel; }; -class DvbChannelBase -{ -public: - DvbChannelBase() : number(-1), networkId(-1), transportStreamId(-1), pmtPid(-1), - audioPid(-1), hasVideo(false), isScrambled(false) { } - ~DvbChannelBase() { } - - void readChannel(QDataStream &stream); - - int getServiceId() const - { - if (pmtSection.size() < 5) { - return -1; - } - - return ((static_cast(pmtSection.at(3)) << 8) | - static_cast(pmtSection.at(4))); - } - - void setServiceId(int serviceId) - { - if (pmtSection.size() < 5) { - return; - } - - pmtSection[3] = (serviceId >> 8); - pmtSection[4] = (serviceId & 0xff); - } - - QString name; - int number; - - QString source; - DvbTransponder transponder; - int networkId; // may be -1 (not present); ATSC meaning: source id - int transportStreamId; - int pmtPid; - - QByteArray pmtSection; - int audioPid; // may be -1 (not present) - bool hasVideo; - bool isScrambled; -}; - -class DvbChannel : public DvbChannelBase, public QSharedData -{ -public: - DvbChannel() { } - explicit DvbChannel(const DvbChannelBase &channel) : DvbChannelBase(channel) { } - ~DvbChannel() { } - - DvbChannel &operator=(const DvbChannel &other) - { - DvbChannelBase *base = this; - *base = other; - return (*this); - } -}; - -Q_DECLARE_TYPEINFO(QSharedDataPointer, Q_MOVABLE_TYPE); -Q_DECLARE_TYPEINFO(QExplicitlySharedDataPointer, Q_MOVABLE_TYPE); - #endif /* DVBCHANNEL_H */ diff -Nru kaffeine-1.1/src/dvb/dvbchannelui.cpp kaffeine-1.2.2/src/dvb/dvbchannelui.cpp --- kaffeine-1.1/src/dvb/dvbchannelui.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbchannelui.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,1118 +0,0 @@ -/* - * dvbchannelui.cpp - * - * Copyright (C) 2007-2010 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "dvbchannelui.h" -#include "dvbchannelui_p.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "dvbsi.h" - -static QString enumToString(DvbTransponderBase::FecRate fecRate) -{ - switch (fecRate) { - case DvbTransponderBase::FecNone: return "NONE"; - case DvbTransponderBase::Fec1_2: return "1/2"; - case DvbTransponderBase::Fec1_3: return "1/3"; - case DvbTransponderBase::Fec1_4: return "1/4"; - case DvbTransponderBase::Fec2_3: return "2/3"; - case DvbTransponderBase::Fec2_5: return "2/5"; - case DvbTransponderBase::Fec3_4: return "3/4"; - case DvbTransponderBase::Fec3_5: return "3/5"; - case DvbTransponderBase::Fec4_5: return "4/5"; - case DvbTransponderBase::Fec5_6: return "5/6"; - case DvbTransponderBase::Fec6_7: return "6/7"; - case DvbTransponderBase::Fec7_8: return "7/8"; - case DvbTransponderBase::Fec8_9: return "8/9"; - case DvbTransponderBase::Fec9_10: return "9/10"; - case DvbTransponderBase::FecAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbCTransponder::Modulation modulation) -{ - switch (modulation) { - case DvbCTransponder::Qam16: return "16-QAM"; - case DvbCTransponder::Qam32: return "32-QAM"; - case DvbCTransponder::Qam64: return "64-QAM"; - case DvbCTransponder::Qam128: return "128-QAM"; - case DvbCTransponder::Qam256: return "256-QAM"; - case DvbCTransponder::ModulationAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbSTransponder::Polarization polarization) -{ - switch (polarization) { - case DvbSTransponder::Horizontal: return i18n("Horizontal"); - case DvbSTransponder::Vertical: return i18n("Vertical"); - case DvbSTransponder::CircularLeft: return i18n("Circular left"); - case DvbSTransponder::CircularRight: return i18n("Circular right"); - } - - return QString(); -} - -static QString enumToString(DvbS2Transponder::Modulation modulation) -{ - switch (modulation) { - case DvbS2Transponder::Qpsk: return "QPSK"; - case DvbS2Transponder::Psk8: return "8-PSK"; - case DvbS2Transponder::Apsk16: return "16-APSK"; - case DvbS2Transponder::Apsk32: return "32-APSK"; - case DvbS2Transponder::ModulationAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbS2Transponder::RollOff rollOff) -{ - switch (rollOff) { - case DvbS2Transponder::RollOff20: return "0.20"; - case DvbS2Transponder::RollOff25: return "0.25"; - case DvbS2Transponder::RollOff35: return "0.35"; - case DvbS2Transponder::RollOffAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbTTransponder::Bandwidth bandwidth) -{ - switch (bandwidth) { - case DvbTTransponder::Bandwidth6MHz: return "6MHz"; - case DvbTTransponder::Bandwidth7MHz: return "7MHz"; - case DvbTTransponder::Bandwidth8MHz: return "8MHz"; - case DvbTTransponder::BandwidthAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbTTransponder::Modulation modulation) -{ - switch (modulation) { - case DvbTTransponder::Qpsk: return "QPSK"; - case DvbTTransponder::Qam16: return "16-QAM"; - case DvbTTransponder::Qam64: return "64-QAM"; - case DvbTTransponder::ModulationAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbTTransponder::TransmissionMode transmissionMode) -{ - switch (transmissionMode) { - case DvbTTransponder::TransmissionMode2k: return "2k"; - case DvbTTransponder::TransmissionMode4k: return "4k"; - case DvbTTransponder::TransmissionMode8k: return "8k"; - case DvbTTransponder::TransmissionModeAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbTTransponder::GuardInterval guardInterval) -{ - switch (guardInterval) { - case DvbTTransponder::GuardInterval1_4: return "1/4"; - case DvbTTransponder::GuardInterval1_8: return "1/8"; - case DvbTTransponder::GuardInterval1_16: return "1/16"; - case DvbTTransponder::GuardInterval1_32: return "1/32"; - case DvbTTransponder::GuardIntervalAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(DvbTTransponder::Hierarchy hierarchy) -{ - switch (hierarchy) { - case DvbTTransponder::HierarchyNone: return "NONE"; - case DvbTTransponder::Hierarchy1: return "1"; - case DvbTTransponder::Hierarchy2: return "2"; - case DvbTTransponder::Hierarchy4: return "4"; - case DvbTTransponder::HierarchyAuto: return "AUTO"; - } - - return QString(); -} - -static QString enumToString(AtscTransponder::Modulation modulation) -{ - switch (modulation) { - case AtscTransponder::Qam64: return "64-QAM"; - case AtscTransponder::Qam256: return "256-QAM"; - case AtscTransponder::Vsb8: return "8-VSB"; - case AtscTransponder::Vsb16: return "16-VSB"; - case AtscTransponder::ModulationAuto: return "AUTO"; - } - - return QString(); -} - -DvbChannelModel::DvbChannelModel(QObject *parent) : QAbstractTableModel(parent) -{ - qRegisterMetaType >("QList"); - connect(this, SIGNAL(queueInternalMove(QList,int)), - this, SLOT(internalMove(QList,int)), Qt::QueuedConnection); -} - -DvbChannelModel::~DvbChannelModel() -{ -} - -QModelIndex DvbChannelModel::findChannelByName(const QString &name) const -{ - for (int row = 0; row < channels.size(); ++row) { - if (channels.at(row)->name == name) { - return index(row, 0); - } - } - - return QModelIndex(); -} - -QModelIndex DvbChannelModel::findChannelByNumber(int number) const -{ - for (int row = 0; row < channels.size(); ++row) { - if (channels.at(row)->number == number) { - return index(row, 0); - } - } - - return QModelIndex(); -} - -void DvbChannelModel::cloneFrom(const DvbChannelModel *other) -{ - if (this == other) { - kWarning() << "self assignment"; - return; - } - - QList > newChannels = other->channels; - qSort(newChannels); - - for (int row = 0; row < channels.size(); ++row) { - int nextValidRow = row; - - while (nextValidRow < channels.size()) { - int position = (qBinaryFind(newChannels, channels.at(nextValidRow)) - - newChannels.constBegin()); - - if (position < newChannels.size()) { - newChannels.removeAt(position); - break; - } - - ++nextValidRow; - } - - if (nextValidRow > row) { - beginRemoveRows(QModelIndex(), row, nextValidRow - 1); - channels.erase(channels.begin() + row, channels.begin() + nextValidRow); - endRemoveRows(); - } - } - - if (!newChannels.isEmpty()) { - int row = channels.size(); - beginInsertRows(QModelIndex(), row, row + newChannels.size() - 1); - channels.append(newChannels); - endInsertRows(); - } - - names = other->names; - numbers = other->numbers; -} - -QAbstractProxyModel *DvbChannelModel::createProxyModel(QObject *parent) -{ - QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(parent); - proxyModel->setDynamicSortFilter(true); - proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); - proxyModel->setSortLocaleAware(true); - proxyModel->setSourceModel(this); - return proxyModel; -} - -int DvbChannelModel::columnCount(const QModelIndex &parent) const -{ - if (!parent.isValid()) { - return 2; - } - - return 0; -} - -int DvbChannelModel::rowCount(const QModelIndex &parent) const -{ - if (!parent.isValid()) { - return channels.size(); - } - - return 0; -} - -QVariant DvbChannelModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if ((orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { - switch (section) { - case 0: - return i18n("Name"); - case 1: - return i18n("Number"); - } - } - - return QVariant(); -} - -QVariant DvbChannelModel::data(const QModelIndex &index, int role) const -{ - const DvbChannel *channel = channels.at(index.row()); - - switch (role) { - case Qt::DecorationRole: - if (index.column() == 0) { - if (channel->hasVideo) { - if (!channel->isScrambled) { - return KIcon("video-television"); - } else { - return KIcon("video-television-encrypted"); - } - } else { - if (!channel->isScrambled) { - return KIcon("text-speak"); - } else { - return KIcon("audio-radio-encrypted"); - } - } - } - - break; - case Qt::DisplayRole: - switch (index.column()) { - case 0: - return channel->name; - case 1: - return channel->number; - } - - break; - case DvbChannelRole: - return QVariant::fromValue(channel); - } - - return QVariant(); -} - -bool DvbChannelModel::removeRows(int row, int count, const QModelIndex &parent) -{ - Q_UNUSED(parent) - beginRemoveRows(QModelIndex(), row, row + count - 1); - - for (int currentRow = row; currentRow < (row + count); ++currentRow) { - names.remove(channels.at(currentRow)->name); - numbers.remove(channels.at(currentRow)->number); - } - - channels.erase(channels.begin() + row, channels.begin() + row + count); - endRemoveRows(); - return true; -} - -bool DvbChannelModel::setData(const QModelIndex &modelIndex, const QVariant &value, int role) -{ - Q_UNUSED(role) - const DvbChannel *constChannel = value.value(); - - if (constChannel == NULL) { - return false; - } - - DvbChannel *channel = new DvbChannel(*constChannel); - int row; - - if (modelIndex.isValid()) { - // explicit update - row = modelIndex.row(); - } else { - channel->number = 1; - row = -1; - - for (int i = 0; i < channels.size(); ++i) { - const DvbChannel *currentChannel = channels.at(i); - - if ((channel->source == currentChannel->source) && - (channel->networkId == currentChannel->networkId) && - (channel->transportStreamId == currentChannel->transportStreamId) && - (channel->getServiceId() == currentChannel->getServiceId())) { - // implicit update - QString currentChannelBaseName = currentChannel->name; - int position = currentChannelBaseName.lastIndexOf('-'); - - if (position > 0) { - QString suffix = currentChannelBaseName.mid(position + 1); - - if (suffix == QString::number(suffix.toInt())) { - currentChannelBaseName.truncate(position); - } - } - - if (channel->name == currentChannelBaseName) { - channel->name = currentChannel->name; - } else { - channel->name = findNextFreeName(channel->name); - } - - channel->number = currentChannel->number; - channel->audioPid = currentChannel->audioPid; - row = i; - break; - } - } - - DvbPmtParser pmtParser(DvbPmtSection(channel->pmtSection)); - bool containsAudioPid = false; - - for (int i = 0; i < pmtParser.audioPids.size(); ++i) { - if (channel->audioPid == pmtParser.audioPids.at(i).first) { - containsAudioPid = true; - break; - } - } - - if (!containsAudioPid) { - if (!pmtParser.audioPids.isEmpty()) { - channel->audioPid = pmtParser.audioPids.at(0).first; - } else { - channel->audioPid = -1; - } - } - } - - if (row >= 0) { - QString oldName = channels.at(row)->name; - QString newName = channel->name; - - if (oldName != newName) { - names.remove(oldName); - - if (!names.contains(newName)) { - names.insert(newName); - } else { - for (int i = 0; i < channels.size(); ++i) { - if (channels.at(i)->name == newName) { - channels[i]->name = - findNextFreeName(channels.at(i)->name); - names.insert(channels.at(i)->name); - QModelIndex modelIndex = index(i, 0); - emit dataChanged(modelIndex, modelIndex); - break; - } - } - } - } - - int oldNumber = channels.at(row)->number; - int newNumber = channel->number; - - if (oldNumber != newNumber) { - numbers.remove(oldNumber); - - if (!numbers.contains(newNumber)) { - numbers.insert(newNumber); - } else { - for (int i = 0; i < channels.size(); ++i) { - if (channels.at(i)->number == newNumber) { - channels[i]->number = - findNextFreeNumber(channels.at(i)->number); - numbers.insert(channels.at(i)->number); - QModelIndex modelIndex = index(i, 1); - emit dataChanged(modelIndex, modelIndex); - break; - } - } - } - } - - channels.replace(row, QSharedDataPointer(channel)); - emit dataChanged(index(row, 0), index(row, 1)); - } else { - row = channels.size(); - beginInsertRows(QModelIndex(), row, row); - channel->name = findNextFreeName(channel->name); - channel->number = findNextFreeNumber(channel->number); - channels.append(QSharedDataPointer(channel)); - names.insert(channel->name); - numbers.insert(channel->number); - endInsertRows(); - } - - return true; -} - -Qt::ItemFlags DvbChannelModel::flags(const QModelIndex &index) const -{ - if (index.isValid()) { - return (QAbstractTableModel::flags(index) | Qt::ItemIsDragEnabled); - } else { - return (QAbstractTableModel::flags(index) | Qt::ItemIsDropEnabled); - } -} - -QMimeData *DvbChannelModel::mimeData(const QModelIndexList &indexes) const -{ - QList persistentIndexes; - QSet selectedRows; - - foreach (const QModelIndex &index, indexes) { - int row = index.row(); - - if (!selectedRows.contains(row)) { - selectedRows.insert(row); - persistentIndexes.append(index); - } - } - - QMimeData *mimeData = new QMimeData(); - mimeData->setData("application/x-org.kde.kaffeine-channelindexes", QByteArray()); - mimeData->setProperty("DvbChannelIndexes", QVariant::fromValue(persistentIndexes)); - return mimeData; -} - -QStringList DvbChannelModel::mimeTypes() const -{ - return QStringList("application/x-org.kde.kaffeine-channelindexes"); -} - -Qt::DropActions DvbChannelModel::supportedDropActions() const -{ - return Qt::MoveAction; -} - -bool DvbChannelModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, - int column, const QModelIndex &parent) -{ - Q_UNUSED(column) - Q_UNUSED(parent) - - if (action != Qt::MoveAction) { - return false; - } - - QList indexes = - data->property("DvbChannelIndexes").value >(); - - if (indexes.isEmpty()) { - return false; - } - - int newNumber = 1; - - if (row < 0) { - foreach (int number, numbers) { - if (newNumber <= number) { - newNumber = (number + 1); - } - } - } else { - newNumber = channels.at(row)->number; - - while ((newNumber > 1) && !numbers.contains(newNumber - 1)) { - --newNumber; - } - } - - emit queueInternalMove(indexes, newNumber); - return false; -} - -QString DvbChannelModel::findNextFreeName(const QString &name) const -{ - if (!names.contains(name)) { - return name; - } - - QString baseName = name; - int position = baseName.lastIndexOf('-'); - - if (position > 0) { - QString suffix = baseName.mid(position + 1); - - if (suffix == QString::number(suffix.toInt())) { - baseName.truncate(position); - } - } - - QString newName = baseName; - int suffix = 1; - - while (names.contains(newName)) { - newName = baseName + '-' + QString::number(suffix); - ++suffix; - } - - return newName; -} - -int DvbChannelModel::findNextFreeNumber(int number) const -{ - while (numbers.contains(number)) { - ++number; - } - - return number; -} - -void DvbChannelModel::internalMove(const QList &indexes, int newNumber) -{ - bool ok = true; - emit checkInternalMove(&ok); - - if (!ok) { - return; - } - - QMap mapping; // number --> row - - foreach (const QPersistentModelIndex &index, indexes) { - if (index.isValid()) { - int row = index.row(); - numbers.remove(channels.at(row)->number); - channels[row]->number = -1; - mapping.insert(newNumber, row); - ++newNumber; - } - } - - while (!mapping.isEmpty()) { - int number = mapping.constBegin().key(); - int row = mapping.constBegin().value(); - - if (!numbers.contains(number)) { - numbers.insert(number); - } else { - for (int i = 0; i < channels.size(); ++i) { - if (channels.at(i)->number == number) { - mapping.insert(newNumber, i); - ++newNumber; - } - } - } - - channels[row]->number = number; - QModelIndex modelIndex = index(row, 1); - emit dataChanged(modelIndex, modelIndex); - mapping.erase(mapping.begin()); - } -} - -DvbSqlChannelModel::DvbSqlChannelModel(QObject *parent) : DvbChannelModel(parent) -{ - sqlInterface = new DvbChannelSqlInterface(this, &channels, this); - - for (int row = 0; row < channels.size(); ++row) { - const DvbChannel *constChannel = channels.at(row); - QString newName = findNextFreeName(constChannel->name); - int newNumber = findNextFreeNumber(constChannel->number); - names.insert(newName); - numbers.insert(newNumber); - - if ((constChannel->name != newName) || (constChannel->number != newNumber)) { - DvbChannel *channel = channels[row]; - channel->name = newName; - channel->number = newNumber; - emit dataChanged(index(row, 0), index(row, 1)); - } - } - - // compatibility code - - QFile file(KStandardDirs::locateLocal("appdata", "channels.dtv")); - - if (!file.exists()) { - return; - } - - if (!file.open(QIODevice::ReadOnly)) { - kWarning() << "cannot open" << file.fileName(); - return; - } - - QDataStream stream(&file); - stream.setVersion(QDataStream::Qt_4_4); - - while (!stream.atEnd()) { - DvbChannel channel; - channel.readChannel(stream); - - if (stream.status() != QDataStream::Ok) { - kWarning() << "invalid channels in file" << file.fileName(); - break; - } - - // if the index is invalid, the channel is added - const DvbChannel *constChannel = &channel; - setData(QModelIndex(), QVariant::fromValue(constChannel)); - } - - if (!file.remove()) { - kWarning() << "cannot remove" << file.fileName(); - } -} - -DvbSqlChannelModel::~DvbSqlChannelModel() -{ - sqlInterface->flush(); -} - -DvbChannelView::DvbChannelView(QWidget *parent) : QTreeView(parent) -{ -} - -DvbChannelView::~DvbChannelView() -{ -} - -KAction *DvbChannelView::addEditAction() -{ - KAction *action = new KAction(KIcon("configure"), i18n("Edit"), this); - connect(action, SIGNAL(triggered()), this, SLOT(editChannel())); - addAction(action); - return action; -} - -KAction *DvbChannelView::addRemoveAction() -{ - KAction *action = new KAction(KIcon("edit-delete"), - i18nc("remove an item from a list", "Remove"), this); - connect(action, SIGNAL(triggered()), this, SLOT(removeChannel())); - addAction(action); - return action; -} - -void DvbChannelView::checkInternalMove(bool *ok) -{ - if ((*ok) && ((header()->sortIndicatorSection() != 1) || - (header()->sortIndicatorOrder() != Qt::AscendingOrder))) { - if (KMessageBox::warningContinueCancel(this, i18nc("message box", - "The channels will be sorted by number to allow drag and drop.\n" - "Do you want to continue?")) == KMessageBox::Continue) { - sortByColumn(1, Qt::AscendingOrder); - } else { - *ok = false; - } - } -} - -void DvbChannelView::editChannel() -{ - QModelIndex index = currentIndex(); - - if (index.isValid()) { - KDialog *dialog = new DvbChannelEditor(model(), index, this); - dialog->setAttribute(Qt::WA_DeleteOnClose, true); - dialog->setModal(true); - dialog->show(); - } -} - -void DvbChannelView::removeChannel() -{ - QList selectedRows; - - foreach (const QItemSelectionRange &range, selectionModel()->selection()) { - if (range.left() == 0) { - for (int row = range.top(); row <= range.bottom(); ++row) { - selectedRows.append(row); - } - } - } - - qSort(selectedRows); - QAbstractItemModel *channelProxyModel = model(); - int offset = 0; - - for (int i = 0; i < selectedRows.size(); ++i) { - int begin = selectedRows.at(i); - int end = (begin + 1); - - while (((i + 1) < selectedRows.size()) && (selectedRows.at(i + 1) == end)) { - ++end; - ++i; - } - - channelProxyModel->removeRows(begin - offset, end - begin); - offset += (end - begin); - } -} - -void DvbChannelView::removeAllChannels() -{ - QAbstractItemModel *channelModel = model(); - int count = channelModel->rowCount(); - - if (count > 0) { - channelModel->removeRows(0, count); - } -} - -DvbChannelSqlInterface::DvbChannelSqlInterface(QAbstractItemModel *model, - QList > *channels_, QObject *parent) : - SqlTableModelInterface(parent), channels(channels_) -{ - init(model, "Channels", - QStringList() << "Name" << "Number" << "Source" << "Transponder" << "NetworkId" << - "TransportStreamId" << "PmtPid" << "PmtSection" << "AudioPid" << "Flags"); -} - -DvbChannelSqlInterface::~DvbChannelSqlInterface() -{ -} - -int DvbChannelSqlInterface::insertFromSqlQuery(const QSqlQuery &query, int index) -{ - DvbChannel *channel = new DvbChannel(); - channel->name = query.value(index++).toString(); - channel->number = query.value(index++).toInt(); - channel->source = query.value(index++).toString(); - QString transponder = query.value(index++).toString(); - DvbTransponderBase *transponderBase = NULL; - - if (transponder.size() >= 2) { - switch (transponder.at(0).unicode()) { - case 'C': - transponderBase = new DvbCTransponder(); - break; - case 'S': - if (transponder.at(1) != '2') { - transponderBase = new DvbSTransponder(); - } else { - transponderBase = new DvbS2Transponder(); - } - - break; - case 'T': - transponderBase = new DvbTTransponder(); - break; - case 'A': - transponderBase = new AtscTransponder(); - break; - } - } - - if ((transponderBase == NULL) || !transponderBase->fromString(transponder)) { - delete transponderBase; - delete channel; - return -1; - } - - channel->transponder = DvbTransponder(transponderBase); - channel->networkId = query.value(index++).toInt(); - channel->transportStreamId = query.value(index++).toInt(); - channel->pmtPid = query.value(index++).toInt(); - channel->pmtSection = query.value(index++).toByteArray(); - channel->audioPid = query.value(index++).toInt(); - int flags = query.value(index++).toInt(); - channel->hasVideo = ((flags & 0x01) != 0); - channel->isScrambled = ((flags & 0x02) != 0); - - if (channel->name.isEmpty() || (channel->number < 1) || channel->source.isEmpty() || - (channel->networkId < -1) || (channel->networkId > 0xffff) || - (channel->transportStreamId < 0) || (channel->transportStreamId > 0xffff) || - (channel->pmtPid < 0) || (channel->pmtPid > 0x1fff) || channel->pmtSection.isEmpty() || - (channel->audioPid < -1) || (channel->audioPid > 0x1fff)) { - delete channel; - return -1; - } - - int row = channels->size(); - channels->append(QSharedDataPointer(channel)); - return row; -} - -void DvbChannelSqlInterface::bindToSqlQuery(QSqlQuery &query, int index, int row) const -{ - const DvbChannel *channel = channels->at(row); - query.bindValue(index++, channel->name); - query.bindValue(index++, channel->number); - query.bindValue(index++, channel->source); - query.bindValue(index++, channel->transponder->toString()); - query.bindValue(index++, channel->networkId); - query.bindValue(index++, channel->transportStreamId); - query.bindValue(index++, channel->pmtPid); - query.bindValue(index++, channel->pmtSection); - query.bindValue(index++, channel->audioPid); - query.bindValue(index++, (channel->hasVideo ? 0x01 : 0) | - (channel->isScrambled ? 0x02 : 0)); -} - -DvbChannelEditor::DvbChannelEditor(QAbstractItemModel *model_, const QModelIndex &modelIndex_, - QWidget *parent) : KDialog(parent), model(model_), persistentIndex(modelIndex_) -{ - setCaption(i18n("Channel Settings")); - channel = model->data(persistentIndex, - DvbChannelModel::DvbChannelRole).value(); - - QWidget *widget = new QWidget(this); - QBoxLayout *mainLayout = new QVBoxLayout(widget); - QGridLayout *gridLayout = new QGridLayout(); - - nameEdit = new KLineEdit(widget); - nameEdit->setText(channel->name); - gridLayout->addWidget(nameEdit, 0, 1); - - QLabel *label = new QLabel(i18n("Name:"), widget); - label->setBuddy(nameEdit); - gridLayout->addWidget(label, 0, 0); - - numberBox = new QSpinBox(widget); - numberBox->setRange(1, 99999); - numberBox->setValue(channel->number); - gridLayout->addWidget(numberBox, 0, 3); - - label = new QLabel(i18n("Number:"), widget); - label->setBuddy(numberBox); - gridLayout->addWidget(label, 0, 2); - mainLayout->addLayout(gridLayout); - - QBoxLayout *boxLayout = new QHBoxLayout(); - - QGroupBox *groupBox = new QGroupBox(widget); - gridLayout = new QGridLayout(groupBox); - gridLayout->addWidget(new QLabel(i18n("Source:")), 0, 0); - gridLayout->addWidget(new QLabel(channel->source), 0, 1); - - switch (channel->transponder->getTransmissionType()) { - case DvbTransponderBase::DvbC: { - const DvbCTransponder *tp = channel->transponder->getDvbCTransponder(); - gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); - gridLayout->addWidget( - new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); - gridLayout->addWidget(new QLabel(i18n("Symbol rate (kS/s):")), 2, 0); - gridLayout->addWidget(new QLabel(QString::number(tp->symbolRate / 1000.0)), 2, 1); - gridLayout->addWidget(new QLabel(i18n("Modulation:")), 3, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 3, 1); - gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->fecRate)), 4, 1); - break; - } - case DvbTransponderBase::DvbS: - case DvbTransponderBase::DvbS2: { - const DvbS2Transponder *tp2 = channel->transponder->getDvbS2Transponder(); - const DvbSTransponder *tp = channel->transponder->getDvbSTransponder(); - - if (tp == NULL) { - tp = tp2; - } - - gridLayout->addWidget(new QLabel(i18n("Polarization:")), 1, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->polarization)), 1, 1); - gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 2, 0); - gridLayout->addWidget(new QLabel(QString::number(tp->frequency / 1000.0)), 2, 1); - gridLayout->addWidget(new QLabel(i18n("Symbol rate (kS/s):")), 3, 0); - gridLayout->addWidget(new QLabel(QString::number(tp->symbolRate / 1000.0)), 3, 1); - gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->fecRate)), 4, 1); - - if (tp2 != NULL) { - gridLayout->addWidget(new QLabel(i18n("Modulation:")), 5, 0); - gridLayout->addWidget(new QLabel(enumToString(tp2->modulation)), 5, 1); - gridLayout->addWidget(new QLabel(i18n("Roll-off:")), 6, 0); - gridLayout->addWidget(new QLabel(enumToString(tp2->rollOff)), 6, 1); - } - - break; - } - case DvbTransponderBase::DvbT: { - const DvbTTransponder *tp = channel->transponder->getDvbTTransponder(); - gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); - gridLayout->addWidget( - new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); - gridLayout->addWidget(new QLabel(i18n("Bandwidth:")), 2, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->bandwidth)), 2, 1); - gridLayout->addWidget(new QLabel(i18n("Modulation:")), 3, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 3, 1); - gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->fecRateHigh)), 4, 1); - gridLayout->addWidget(new QLabel(i18n("FEC rate LP:")), 5, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->fecRateLow)), 5, 1); - gridLayout->addWidget(new QLabel(i18n("Transmission mode:")), 6, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->transmissionMode)), 6, 1); - gridLayout->addWidget(new QLabel(i18n("Guard interval:")), 7, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->guardInterval)), 7, 1); - gridLayout->addWidget(new QLabel(i18n("Hierarchy:")), 8, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->hierarchy)), 8, 1); - break; - } - case DvbTransponderBase::Atsc: { - const AtscTransponder *tp = channel->transponder->getAtscTransponder(); - gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); - gridLayout->addWidget( - new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); - gridLayout->addWidget(new QLabel(i18n("Modulation:")), 2, 0); - gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 2, 1); - break; - } - } - - gridLayout->addWidget(new QLabel(), 10, 0, 1, 2); - - gridLayout->addWidget(new QLabel(i18n("PMT PID:")), 11, 0); - gridLayout->addWidget(new QLabel(QString::number(channel->pmtPid)), 11, 1); - - DvbPmtParser pmtParser(DvbPmtSection(channel->pmtSection)); - int row = 12; - - if (pmtParser.videoPid >= 0) { - gridLayout->addWidget(new QLabel(i18n("Video PID:")), row, 0); - gridLayout->addWidget(new QLabel(QString::number(pmtParser.videoPid)), row++, 1); - } - - if (!pmtParser.subtitlePids.isEmpty()) { - gridLayout->addWidget(new QLabel(i18n("Subtitle PID:")), row, 0); - } - - for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { - const QPair &it = pmtParser.subtitlePids.at(i); - gridLayout->addWidget(new QLabel(QString("%1 (%2)").arg(it.first).arg(it.second)), - row++, 1); - } - - if (pmtParser.teletextPid != -1) { - gridLayout->addWidget(new QLabel(i18n("Teletext PID:")), row, 0); - gridLayout->addWidget( - new QLabel(QString::number(pmtParser.teletextPid)), row++, 1); - } - - gridLayout->addItem(new QSpacerItem(0, 0), row, 0, 1, 2); - gridLayout->setRowStretch(row, 1); - boxLayout->addWidget(groupBox); - - groupBox = new QGroupBox(widget); - gridLayout = new QGridLayout(groupBox); - gridLayout->addWidget(new QLabel(i18n("Network ID:")), 0, 0); - - networkIdBox = new QSpinBox(groupBox); - networkIdBox->setRange(-1, (1 << 16) - 1); - networkIdBox->setValue(channel->networkId); - gridLayout->addWidget(networkIdBox, 0, 1); - - gridLayout->addWidget(new QLabel(i18n("Transport stream ID:")), 1, 0); - - transportStreamIdBox = new QSpinBox(groupBox); - transportStreamIdBox->setRange(0, (1 << 16) - 1); - transportStreamIdBox->setValue(channel->transportStreamId); - gridLayout->addWidget(transportStreamIdBox, 1, 1); - - gridLayout->addWidget(new QLabel(i18n("Service ID:")), 2, 0); - - serviceIdBox = new QSpinBox(groupBox); - serviceIdBox->setRange(0, (1 << 16) - 1); - serviceIdBox->setValue(channel->getServiceId()); - gridLayout->addWidget(serviceIdBox, 2, 1); - - gridLayout->addWidget(new QLabel(i18n("Audio channel:")), 3, 0); - - audioChannelBox = new KComboBox(groupBox); - - for (int i = 0; i < pmtParser.audioPids.size(); ++i) { - const QPair &it = pmtParser.audioPids.at(i); - QString text = QString::number(it.first); - - if (!it.second.isEmpty()) { - text = text + " (" + it.second + ')'; - } - - audioChannelBox->addItem(text); - audioPids.append(it.first); - } - - audioChannelBox->setCurrentIndex(audioPids.indexOf(channel->audioPid)); - - if (audioPids.size() <= 1) { - audioChannelBox->setEnabled(false); - } - - gridLayout->addWidget(audioChannelBox, 3, 1); - - gridLayout->addWidget(new QLabel(i18n("Scrambled:")), 4, 0); - - scrambledBox = new QCheckBox(groupBox); - scrambledBox->setChecked(channel->isScrambled); - gridLayout->addWidget(scrambledBox, 4, 1); - - gridLayout->addItem(new QSpacerItem(0, 0), 5, 0, 1, 2); - gridLayout->setRowStretch(5, 1); - boxLayout->addWidget(groupBox); - mainLayout->addLayout(boxLayout); - - setMainWidget(widget); -} - -DvbChannelEditor::~DvbChannelEditor() -{ -} - -void DvbChannelEditor::accept() -{ - if (persistentIndex.isValid()) { - DvbChannel updatedChannel = *channel; - updatedChannel.name = nameEdit->text(); - updatedChannel.number = numberBox->value(); - updatedChannel.networkId = networkIdBox->value(); - updatedChannel.transportStreamId = transportStreamIdBox->value(); - updatedChannel.setServiceId(serviceIdBox->value()); - - if (audioChannelBox->currentIndex() != -1) { - updatedChannel.audioPid = audioPids.at(audioChannelBox->currentIndex()); - } - - updatedChannel.isScrambled = scrambledBox->isChecked(); - - const DvbChannel *constUpdatedChannel = &updatedChannel; - model->setData(persistentIndex, QVariant::fromValue(constUpdatedChannel)); - } - - KDialog::accept(); -} diff -Nru kaffeine-1.1/src/dvb/dvbchannelui.h kaffeine-1.2.2/src/dvb/dvbchannelui.h --- kaffeine-1.1/src/dvb/dvbchannelui.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbchannelui.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,115 +0,0 @@ -/* - * dvbchannelui.h - * - * Copyright (C) 2007-2010 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef DVBCHANNELUI_H -#define DVBCHANNELUI_H - -#include - -class QAbstractProxyModel; -class KAction; -class DvbChannel; -class SqlTableModelInterface; - -class DvbChannelModel : public QAbstractTableModel -{ - Q_OBJECT -public: - explicit DvbChannelModel(QObject *parent); - ~DvbChannelModel(); - - /* - * channel names and numbers are guaranteed to be unique within this model - * they are automatically adjusted if necessary - */ - - QModelIndex findChannelByName(const QString &name) const; - QModelIndex findChannelByNumber(int number) const; - void cloneFrom(const DvbChannelModel *other); - - enum ItemDataRole - { - DvbChannelRole = Qt::UserRole - }; - - QAbstractProxyModel *createProxyModel(QObject *parent); - int columnCount(const QModelIndex &parent) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - QVariant data(const QModelIndex &index, int role) const; - bool removeRows(int row, int count, const QModelIndex &parent); - bool setData(const QModelIndex &modelIndex, const QVariant &value, - int role = Qt::EditRole); - - Qt::ItemFlags flags(const QModelIndex &index) const; - QMimeData *mimeData(const QModelIndexList &indexes) const; - QStringList mimeTypes() const; - Qt::DropActions supportedDropActions() const; - bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, - const QModelIndex &parent); - -signals: - void checkInternalMove(bool *ok); - -protected: - QString findNextFreeName(const QString &name) const; - int findNextFreeNumber(int number) const; - - QList > channels; - QSet names; - QSet numbers; - -signals: - void queueInternalMove(const QList &indexes, int newNumber); - -private slots: - void internalMove(const QList &indexes, int newNumber); -}; - -Q_DECLARE_METATYPE(const DvbChannel *) - -class DvbSqlChannelModel : public DvbChannelModel -{ -public: - explicit DvbSqlChannelModel(QObject *parent); - ~DvbSqlChannelModel(); - -private: - SqlTableModelInterface *sqlInterface; -}; - -class DvbChannelView : public QTreeView -{ - Q_OBJECT -public: - explicit DvbChannelView(QWidget *parent); - ~DvbChannelView(); - - KAction *addEditAction(); - KAction *addRemoveAction(); - -public slots: - void checkInternalMove(bool *ok); - void editChannel(); - void removeChannel(); - void removeAllChannels(); -}; - -#endif /* DVBCHANNELUI_H */ diff -Nru kaffeine-1.1/src/dvb/dvbchannelui_p.h kaffeine-1.2.2/src/dvb/dvbchannelui_p.h --- kaffeine-1.1/src/dvb/dvbchannelui_p.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbchannelui_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,73 +0,0 @@ -/* - * dvbchannelui_p.h - * - * Copyright (C) 2007-2010 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef DVBCHANNELUI_P_H -#define DVBCHANNELUI_P_H - -#include -#include -#include "../sqltablemodel.h" - -class QCheckBox; -class QSpinBox; -class KComboBox; -class KLineEdit; -class DvbChannel; - -Q_DECLARE_METATYPE(QList) - -class DvbChannelSqlInterface : public SqlTableModelInterface -{ -public: - DvbChannelSqlInterface(QAbstractItemModel *model, - QList > *channels_, QObject *parent); - ~DvbChannelSqlInterface(); - -private: - int insertFromSqlQuery(const QSqlQuery &query, int index); - void bindToSqlQuery(QSqlQuery &query, int index, int row) const; - - QList > *channels; -}; - -class DvbChannelEditor : public KDialog -{ -public: - DvbChannelEditor(QAbstractItemModel *model_, const QModelIndex &modelIndex_, - QWidget *parent); - ~DvbChannelEditor(); - -private: - void accept(); - - QAbstractItemModel *model; - QPersistentModelIndex persistentIndex; - QExplicitlySharedDataPointer channel; - KLineEdit *nameEdit; - QSpinBox *numberBox; - QSpinBox *networkIdBox; - QSpinBox *transportStreamIdBox; - QSpinBox *serviceIdBox; - KComboBox *audioChannelBox; - QList audioPids; - QCheckBox *scrambledBox; -}; - -#endif /* DVBCHANNELUI_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbconfigdialog.cpp kaffeine-1.2.2/src/dvb/dvbconfigdialog.cpp --- kaffeine-1.1/src/dvb/dvbconfigdialog.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbconfigdialog.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -43,7 +43,7 @@ DvbConfigDialog::DvbConfigDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), manager(manager_) { - setCaption(i18n("Configure Television")); + setCaption(i18nc("@title:window", "Configure Television")); tabWidget = new KTabWidget(this); setMainWidget(tabWidget); @@ -140,7 +140,8 @@ longitudeEdit = new KLineEdit(widget); longitudeEdit->setText(QString::number(manager->getLongitude(), 'g', 10)); - connect(longitudeEdit, SIGNAL(textChanged(QString)), this, SLOT(longitudeChanged(QString))); + connect(longitudeEdit, SIGNAL(textChanged(QString)), + this, SLOT(longitudeChanged(QString))); gridLayout->addWidget(longitudeEdit, 1, 2); longitudeValidLabel = new QLabel(widget); @@ -378,7 +379,7 @@ KDialog(parent), manager(manager_) { setButtons(KDialog::Cancel); - setCaption("Update Scan Data"); + setCaption(i18n("Update Scan Data")); QWidget *widget = new QWidget(this); setMainWidget(widget); @@ -461,7 +462,8 @@ connect(pushButton, SIGNAL(clicked()), this, SIGNAL(resetConfig())); horizontalLayout->addWidget(pushButton); } else { - QPushButton *pushButton = new QPushButton(KIcon("edit-delete"), i18n("Remove"), this); + QPushButton *pushButton = + new QPushButton(KIcon("edit-delete"), i18nc("@action", "Remove"), this); connect(pushButton, SIGNAL(clicked()), this, SLOT(removeConfig())); horizontalLayout->addWidget(pushButton); } @@ -478,7 +480,7 @@ return; } - DvbBackendDevice::TransmissionTypes transmissionTypes = + DvbDevice::TransmissionTypes transmissionTypes = deviceConfig->device->getTransmissionTypes(); DvbConfig dvbCConfig; @@ -503,7 +505,7 @@ } } - if ((transmissionTypes & DvbBackendDevice::DvbC) != 0) { + if ((transmissionTypes & DvbDevice::DvbC) != 0) { addHSeparator(i18n("DVB-C")); if (dvbCConfig.constData() == NULL) { @@ -516,8 +518,8 @@ configs.append(dvbCConfig); } - if ((transmissionTypes & (DvbBackendDevice::DvbS | DvbBackendDevice::DvbS2)) != 0) { - bool dvbS2 = ((transmissionTypes & DvbBackendDevice::DvbS2) != 0); + if ((transmissionTypes & (DvbDevice::DvbS | DvbDevice::DvbS2)) != 0) { + bool dvbS2 = ((transmissionTypes & DvbDevice::DvbS2) != 0); if (dvbS2) { addHSeparator(i18n("DVB-S2")); @@ -528,7 +530,7 @@ dvbSObject = new DvbSConfigObject(this, boxLayout, manager, dvbSConfigs, dvbS2); } - if ((transmissionTypes & DvbBackendDevice::DvbT) != 0) { + if ((transmissionTypes & DvbDevice::DvbT) != 0) { addHSeparator(i18n("DVB-T")); if (dvbTConfig.constData() == NULL) { @@ -541,7 +543,7 @@ configs.append(dvbTConfig); } - if ((transmissionTypes & DvbBackendDevice::Atsc) != 0) { + if ((transmissionTypes & DvbDevice::Atsc) != 0) { addHSeparator(i18n("ATSC")); if (atscConfig.constData() == NULL) { @@ -809,7 +811,8 @@ layout->addWidget(comboBox, lnbNumber + 2, 1); diseqcConfigs.append(DvbConfig(config)); - lnbConfigs.append(new DvbSLnbConfigObject(timeoutBox, comboBox, pushButton, config)); + lnbConfigs.append(new DvbSLnbConfigObject(timeoutBox, comboBox, pushButton, + config)); } // USALS rotor / Positions rotor diff -Nru kaffeine-1.1/src/dvb/dvbconfig.h kaffeine-1.2.2/src/dvb/dvbconfig.h --- kaffeine-1.1/src/dvb/dvbconfig.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbconfig.h 2011-04-17 21:17:19.000000000 +0200 @@ -77,4 +77,6 @@ ~DvbConfig() { } }; +Q_DECLARE_TYPEINFO(DvbConfig, Q_MOVABLE_TYPE); + #endif /* DVBCONFIG_H */ diff -Nru kaffeine-1.1/src/dvb/dvbdevice.cpp kaffeine-1.2.2/src/dvb/dvbdevice.cpp --- kaffeine-1.1/src/dvb/dvbdevice.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbdevice.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbdevice.cpp * - * Copyright (C) 2007-2009 Christoph Pfister + * Copyright (C) 2007-2010 Christoph Pfister * * 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 @@ -19,6 +19,7 @@ */ #include "dvbdevice.h" +#include "dvbdevice_p.h" #include #include @@ -29,13 +30,6 @@ #include "dvbmanager.h" #include "dvbsi.h" -struct DvbFilterData -{ - char packets[21][188]; - int count; - DvbFilterData *next; -}; - class DvbFilterInternal { public: @@ -46,34 +40,191 @@ int activeFilters; }; -class DvbDummyFilter : public DvbPidFilter +class DvbSectionFilterInternal : public DvbPidFilter { public: - DvbDummyFilter() { } - ~DvbDummyFilter() { } + DvbSectionFilterInternal() : activeSectionFilters(0), continuityCounter(0), + wrongCrcIndex(0), bufferValid(false) + { + memset(wrongCrcs, 0, sizeof(wrongCrcs)); + } + + ~DvbSectionFilterInternal() { } + + QList sectionFilters; + int activeSectionFilters; - void processData(const char [188]) { } +private: + void processData(const char [188]); + void processSections(bool force); + + unsigned char continuityCounter; + unsigned char wrongCrcIndex; + bool bufferValid; + QByteArray buffer; + int wrongCrcs[8]; }; -class DvbDataDumper : public DvbPidFilter +// FIXME some debug messages may be printed too often + +void DvbSectionFilterInternal::processData(const char data[188]) +{ + if ((data[3] & 0x10) == 0) { + // no payload + kDebug() << "no payload"; + return; + } + + unsigned char continuity = (data[3] & 0x0f); + + if (bufferValid) { + if (continuity == continuityCounter) { + kDebug() << "duplicate packets"; + return; + } + + if (continuity != ((continuityCounter + 1) & 0x0f)) { + kDebug() << "discontinuity"; + bufferValid = false; + } + } + + continuityCounter = continuity; + + bool sectionStart = ((data[1] & 0x40) != 0); + const char *payload; + int payloadLength; + + if ((data[3] & 0x20) == 0) { + // adaptation field not present + payload = (data + 4); + payloadLength = (188 - 4); + } else { + // adaptation field present + unsigned char length = data[4]; + + if (length > 182) { + kDebug() << "no payload or corrupt"; + return; + } + + payload = (data + 5 + length); + payloadLength = (188 - 5 - length); + } + + // be careful that playloadLength is > 0 at this point + + if (sectionStart) { + unsigned char pointer = payload[0]; + + if (pointer >= payloadLength) { + kDebug() << "invalid pointer"; + pointer = (payloadLength - 1); + } + + if (bufferValid) { + buffer.append(payload + 1, pointer); + processSections(true); + } else { + bufferValid = true; + } + + payload += (pointer + 1); + payloadLength -= (pointer + 1); + } + + buffer.append(payload, payloadLength); + processSections(false); +} + +void DvbSectionFilterInternal::processSections(bool force) +{ + const char *it = buffer.constBegin(); + const char *end = buffer.constEnd(); + + while (it != end) { + if (static_cast(it[0]) == 0xff) { + // table id == 0xff means padding + it = end; + break; + } + + if ((end - it) < 3) { + if (force) { + kDebug() << "stray data"; + it = end; + } + + break; + } + + const char *sectionEnd = (it + (((static_cast(it[1]) & 0x0f) << 8) | + static_cast(it[2])) + 3); + + if (force && (sectionEnd > end)) { + kDebug() << "short section"; + sectionEnd = end; + } + + if (sectionEnd <= end) { + int size = (sectionEnd - it); + int crc = DvbStandardSection::verifyCrc32(it, size); + bool crcOk; + + if (crc == 0) { + crcOk = true; + } else { + for (int i = 0;; ++i) { + if (i == (sizeof(wrongCrcs) / sizeof(wrongCrcs[0]))) { + crcOk = false; + wrongCrcs[wrongCrcIndex] = crc; + + if ((++wrongCrcIndex) == i) { + wrongCrcIndex = 0; + } + + break; + } + + if (wrongCrcs[i] == crc) { + crcOk = true; + break; + } + } + } + + if (crcOk) { + for (int i = 0; i < sectionFilters.size(); ++i) { + sectionFilters.at(i)->processSection(it, size); + } + } + + it = sectionEnd; + continue; + } + + break; + } + + buffer.remove(0, it - buffer.constBegin()); +} + +class DvbDataDumper : public QFile, public DvbPidFilter { public: DvbDataDumper(); ~DvbDataDumper(); void processData(const char [188]); - -private: - QFile file; }; DvbDataDumper::DvbDataDumper() { - file.setFileName(QDir::homePath() + '/' + "KaffeineDvbDump-" + - QString::number(qrand(), 16) + ".bin"); + setFileName(QDir::homePath() + '/' + "KaffeineDvbDump-" + QString::number(qrand(), 16) + + ".bin"); - if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - kWarning() << "couldn't open" << file.fileName(); + if (!open(QIODevice::WriteOnly | QIODevice::Truncate)) { + kWarning() << "cannot open" << fileName(); } } @@ -83,61 +234,58 @@ void DvbDataDumper::processData(const char data[188]) { - file.write(data, 188); + write(data, 188); } -DvbDevice::DvbDevice(DvbBackendDevice *backendDevice, QObject *parent) : QObject(parent), - deviceState(DeviceReleased), dataDumper(NULL), cleanUpFilters(false), isAuto(false) +DvbDevice::DvbDevice(DvbBackendDevice *backend_, QObject *parent) : QObject(parent), + backend(backend_), deviceState(DeviceReleased), dataDumper(NULL), cleanUpFilters(false), + isAuto(false), unusedBuffersHead(NULL), usedBuffersHead(NULL), usedBuffersTail(NULL) { - backend.device = backendDevice; - backend.setBuffer(this); + backend->setFrontendDevice(this); + backend->setDeviceEnabled(true); // FIXME connect(&frontendTimer, SIGNAL(timeout()), this, SLOT(frontendEvent())); - dummyFilter = new DvbDummyFilter; - - currentUnused = new DvbFilterData; - currentUnused->next = currentUnused; - currentUsed = currentUnused; - totalBuffers = 1; - usedBuffers = 0; } DvbDevice::~DvbDevice() { - backend.release(); + backend->release(); - for (int i = 0; i < totalBuffers; ++i) { - DvbFilterData *temp = currentUnused->next; - delete currentUnused; - currentUnused = temp; + for (DvbDeviceDataBuffer *buffer = unusedBuffersHead; buffer != NULL;) { + DvbDeviceDataBuffer *nextBuffer = buffer->next; + delete buffer; + buffer = nextBuffer; } - delete dataDumper; - delete dummyFilter; + for (DvbDeviceDataBuffer *buffer = usedBuffersHead; buffer != NULL;) { + DvbDeviceDataBuffer *nextBuffer = buffer->next; + delete buffer; + buffer = nextBuffer; + } } -DvbBackendDevice::TransmissionTypes DvbDevice::getTransmissionTypes() const +DvbDevice::TransmissionTypes DvbDevice::getTransmissionTypes() const { - return backend.getTransmissionTypes(); + return backend->getTransmissionTypes(); } QString DvbDevice::getDeviceId() const { - return backend.getDeviceId(); + return backend->getDeviceId(); } QString DvbDevice::getFrontendName() const { - return backend.getFrontendName(); + return backend->getFrontendName(); } void DvbDevice::tune(const DvbTransponder &transponder) { - DvbTransponderBase::TransmissionType transmissionType = transponder->getTransmissionType(); + DvbTransponderBase::TransmissionType transmissionType = transponder.getTransmissionType(); if ((transmissionType != DvbTransponderBase::DvbS) && (transmissionType != DvbTransponderBase::DvbS2)) { - if (backend.tune(transponder)) { + if (backend->tune(transponder)) { setDeviceState(DeviceTuning); frontendTimeout = config->timeout; frontendTimer.start(100); @@ -150,16 +298,16 @@ return; } + DvbTransponder intermediate = transponder; + DvbSTransponder *dvbSTransponder = NULL; + DvbS2Transponder *dvbS2Transponder = NULL; bool moveRotor = false; - const DvbSTransponder *dvbSTransponder = NULL; - const DvbS2Transponder *dvbS2Transponder = NULL; - if (transmissionType == DvbTransponderBase::DvbS) { - dvbSTransponder = transponder->getDvbSTransponder(); + dvbSTransponder = intermediate.as(); } else { // DVB-S2 - dvbS2Transponder = transponder->getDvbS2Transponder(); + dvbS2Transponder = intermediate.as(); dvbSTransponder = dvbS2Transponder; } @@ -193,12 +341,11 @@ // tone off - backend.setTone(DvbBackendDevice::ToneOff); + backend->setTone(ToneOff); // horizontal / circular left --> 18V ; vertical / circular right --> 13V - backend.setVoltage(horPolar ? DvbBackendDevice::Voltage18V : - DvbBackendDevice::Voltage13V); + backend->setVoltage(horPolar ? Voltage18V : Voltage13V); // diseqc / rotor @@ -208,11 +355,10 @@ case DvbConfigBase::DiseqcSwitch: { char cmd[] = { 0xe0, 0x10, 0x38, 0x00 }; cmd[3] = 0xf0 | (config->lnbNumber << 2) | (horPolar ? 2 : 0) | (highBand ? 1 : 0); - backend.sendMessage(cmd, sizeof(cmd)); + backend->sendMessage(cmd, sizeof(cmd)); usleep(15000); - backend.sendBurst(((config->lnbNumber & 0x1) == 0) ? - DvbBackendDevice::BurstMiniA : DvbBackendDevice::BurstMiniB); + backend->sendBurst(((config->lnbNumber & 0x1) == 0) ? BurstMiniA : BurstMiniB); usleep(15000); break; } @@ -222,50 +368,39 @@ source.remove(0, source.lastIndexOf('-') + 1); bool ok = false; - double position = 0; + double orbitalPosition = 0; if (source.endsWith('E')) { source.chop(1); - position = source.toDouble(&ok); + orbitalPosition = source.toDouble(&ok); } else if (source.endsWith('W')) { source.chop(1); - position = -source.toDouble(&ok); + orbitalPosition = (-source.toDouble(&ok)); } if (!ok) { - kWarning() << "couldn't extract orbital position"; - } - - double longitudeDiff = DvbManager::getLongitude() - position; - - double latRad = DvbManager::getLatitude() * M_PI / 180; - double longDiffRad = longitudeDiff * M_PI / 180; - double temp = cos(latRad) * cos(longDiffRad); - double temp2 = -sin(latRad) * cos(longDiffRad) / sqrt(1 - temp * temp); - - // deal with corner cases - if (temp2 < -1) { - temp2 = -1; - } else if (temp2 > 1) { - temp2 = 1; - } else if (temp2 != temp2) { - temp2 = 1; - } - - double azimuth = acos(temp2) * 180 / M_PI; - - if (((longitudeDiff > 0) && (longitudeDiff < 180)) || (longitudeDiff < -180)) { - azimuth = 360 - azimuth; + kWarning() << "cannot extract orbital position from" << config->scanSource; } - int value = (azimuth * 16) + 0.5; - - if (value == (360 * 16)) { - value = 0; + double radius = 6378; + double semiMajorAxis = 42164; + double temp = (radius * cos(DvbManager::getLatitude() * M_PI / 180)); + double temp2 = ((orbitalPosition - DvbManager::getLongitude()) * M_PI / 180); + double angle = (temp2 + atan(sin(temp2) / ((semiMajorAxis / temp) - cos(temp2)))); + int value = 0; + + if (angle >= 0) { + // east + value = ((16 * angle * 180 / M_PI) + 0.5); + value |= 0xe000; + } else { + // west + value = ((16 * (-angle) * 180 / M_PI) + 0.5); + value |= 0xd000; } - char cmd[] = { 0xe0, 0x31, 0x6e, value / 256, value % 256 }; - backend.sendMessage(cmd, sizeof(cmd)); + char cmd[] = { 0xe0, 0x31, 0x6e, (value / 256), (value % 256) }; + backend->sendMessage(cmd, sizeof(cmd)); usleep(15000); moveRotor = true; break; @@ -273,7 +408,7 @@ case DvbConfigBase::PositionsRotor: { char cmd[] = { 0xe0, 0x31, 0x6b, config->lnbNumber }; - backend.sendMessage(cmd, sizeof(cmd)); + backend->sendMessage(cmd, sizeof(cmd)); usleep(15000); moveRotor = true; break; @@ -282,22 +417,13 @@ // low band --> tone off ; high band --> tone on - backend.setTone(highBand ? DvbBackendDevice::ToneOn : DvbBackendDevice::ToneOff); + backend->setTone(highBand ? ToneOn : ToneOff); // tune - DvbSTransponder *intermediate = NULL; + dvbSTransponder->frequency = frequency; - if (transmissionType == DvbTransponderBase::DvbS) { - intermediate = new DvbSTransponder(*dvbSTransponder); - } else { - // DVB-S2 - intermediate = new DvbS2Transponder(*dvbS2Transponder); - } - - intermediate->frequency = frequency; - - if (backend.tune(DvbTransponder(intermediate))) { + if (backend->tune(intermediate)) { if (!moveRotor) { setDeviceState(DeviceTuning); frontendTimeout = config->timeout; @@ -316,31 +442,31 @@ void DvbDevice::autoTune(const DvbTransponder &transponder) { - if (transponder->getTransmissionType() != DvbTransponderBase::DvbT) { + if (transponder.getTransmissionType() != DvbTransponderBase::DvbT) { kWarning() << "can't handle != DVB-T"; return; } isAuto = true; - autoTTransponder = new DvbTTransponder(*transponder->getDvbTTransponder()); - autoTransponder = DvbTransponder(autoTTransponder); - capabilities = backend.getCapabilities(); + autoTransponder = transponder; + DvbTTransponder *autoTTransponder = autoTransponder.as(); + capabilities = backend->getCapabilities(); // we have to iterate over unsupported AUTO values - if ((capabilities & DvbBackendDevice::DvbTFecAuto) == 0) { + if ((capabilities & DvbTFecAuto) == 0) { autoTTransponder->fecRateHigh = DvbTTransponder::Fec2_3; } - if ((capabilities & DvbBackendDevice::DvbTGuardIntervalAuto) == 0) { + if ((capabilities & DvbTGuardIntervalAuto) == 0) { autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_8; } - if ((capabilities & DvbBackendDevice::DvbTModulationAuto) == 0) { + if ((capabilities & DvbTModulationAuto) == 0) { autoTTransponder->modulation = DvbTTransponder::Qam64; } - if ((capabilities & DvbBackendDevice::DvbTTransmissionModeAuto) == 0) { + if ((capabilities & DvbTTransmissionModeAuto) == 0) { autoTTransponder->transmissionMode = DvbTTransponder::TransmissionMode8k; } @@ -354,13 +480,16 @@ if (it == filters.end()) { it = filters.insert(pid, DvbFilterInternal()); - if (dataDumper != 0) { + if (dataDumper != NULL) { it->filters.append(dataDumper); } } - if ((it->activeFilters == 0) && !backend.addPidFilter(pid)) { - return false; + if (it->activeFilters == 0) { + if (!backend->addPidFilter(pid)) { + cleanUpFilters = true; + return false; + } } if (it->filters.contains(filter)) { @@ -373,6 +502,31 @@ return true; } +bool DvbDevice::addSectionFilter(int pid, DvbSectionFilter *filter) +{ + QMap::iterator it = sectionFilters.find(pid); + + if (it == sectionFilters.end()) { + it = sectionFilters.insert(pid, DvbSectionFilterInternal()); + } + + if (it->activeSectionFilters == 0) { + if (!addPidFilter(pid, &(*it))) { + cleanUpFilters = true; + return false; + } + } + + if (it->sectionFilters.contains(filter)) { + kWarning() << "using the same filter for the same pid more than once"; + return true; + } + + it->sectionFilters.append(filter); + ++it->activeSectionFilters; + return true; +} + void DvbDevice::removePidFilter(int pid, DvbPidFilter *filter) { QMap::iterator it = filters.find(pid); @@ -389,22 +543,54 @@ return; } - it->filters.replace(index, dummyFilter); + it->filters.replace(index, &dummyPidFilter); --it->activeFilters; if (it->activeFilters == 0) { - backend.removePidFilter(pid); + backend->removePidFilter(pid); } cleanUpFilters = true; } -void DvbDevice::startDescrambling(const DvbPmtSection &pmtSection, QObject *user) +void DvbDevice::removeSectionFilter(int pid, DvbSectionFilter *filter) { + QMap::iterator it = sectionFilters.find(pid); + int index; + + if (it != sectionFilters.end()) { + index = it->sectionFilters.indexOf(filter); + } else { + index = -1; + } + + if (index < 0) { + kWarning() << "trying to remove a nonexistent filter"; + return; + } + + it->sectionFilters.replace(index, &dummySectionFilter); + --it->activeSectionFilters; + + if (it->activeSectionFilters == 0) { + removePidFilter(pid, &(*it)); + } + + cleanUpFilters = true; +} + +void DvbDevice::startDescrambling(const QByteArray &pmtSectionData, QObject *user) +{ + DvbPmtSection pmtSection(pmtSectionData); + + if (!pmtSection.isValid()) { + kWarning() << "pmt section is not valid"; + } + int serviceId = pmtSection.programNumber(); if (!descramblingServices.contains(serviceId)) { - backend.startDescrambling(pmtSection); + backend->startDescrambling(pmtSectionData); } if (!descramblingServices.contains(serviceId, user)) { @@ -412,8 +598,16 @@ } } -void DvbDevice::stopDescrambling(int serviceId, QObject *user) +void DvbDevice::stopDescrambling(const QByteArray &pmtSectionData, QObject *user) { + DvbPmtSection pmtSection(pmtSectionData); + + if (!pmtSection.isValid()) { + kWarning() << "pmt section is not valid"; + } + + int serviceId = pmtSection.programNumber(); + if (!descramblingServices.contains(serviceId, user)) { kWarning() << "service has not been started"; return; @@ -422,23 +616,23 @@ descramblingServices.remove(serviceId, user); if (!descramblingServices.contains(serviceId)) { - backend.stopDescrambling(serviceId); + backend->stopDescrambling(serviceId); } } bool DvbDevice::isTuned() const { - return backend.isTuned(); + return backend->isTuned(); } int DvbDevice::getSignal() const { - return backend.getSignal(); + return backend->getSignal(); } int DvbDevice::getSnr() const { - return backend.getSnr(); + return backend->getSnr(); } DvbTransponder DvbDevice::getAutoTransponder() const @@ -451,7 +645,7 @@ { Q_ASSERT(deviceState == DeviceReleased); - if (backend.acquire()) { + if (backend->acquire()) { config = config_; setDeviceState(DeviceIdle); return true; @@ -473,7 +667,7 @@ { setDeviceState(DeviceReleased); stop(); - backend.release(); + backend->release(); } void DvbDevice::enableDvbDump() @@ -494,7 +688,7 @@ void DvbDevice::frontendEvent() { - if (backend.isTuned()) { + if (backend->isTuned()) { kDebug() << "tuning succeeded"; frontendTimer.stop(); setDeviceState(DeviceTuned); @@ -514,7 +708,8 @@ return; } - int signal = backend.getSignal(); + DvbTTransponder *autoTTransponder = autoTransponder.as(); + int signal = backend->getSignal(); if ((signal != -1) && (signal < 15)) { // signal too weak @@ -525,7 +720,7 @@ bool carry = true; - if (carry && ((capabilities & DvbBackendDevice::DvbTFecAuto) == 0)) { + if (carry && ((capabilities & DvbTFecAuto) == 0)) { switch (autoTTransponder->fecRateHigh) { case DvbTTransponder::Fec2_3: autoTTransponder->fecRateHigh = DvbTTransponder::Fec3_4; @@ -549,28 +744,32 @@ } } - if (carry && ((capabilities & DvbBackendDevice::DvbTGuardIntervalAuto) == 0)) { + if (carry && ((capabilities & DvbTGuardIntervalAuto) == 0)) { switch (autoTTransponder->guardInterval) { case DvbTTransponder::GuardInterval1_8: - autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_32; + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_32; carry = false; break; case DvbTTransponder::GuardInterval1_32: - autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_4; + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_4; carry = false; break; case DvbTTransponder::GuardInterval1_4: - autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_16; + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_16; carry = false; break; case DvbTTransponder::GuardInterval1_16: case DvbTTransponder::GuardIntervalAuto: - autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_8; + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_8; break; } } - if (carry && ((capabilities & DvbBackendDevice::DvbTModulationAuto) == 0)) { + if (carry && ((capabilities & DvbTModulationAuto) == 0)) { switch (autoTTransponder->modulation) { case DvbTTransponder::Qam64: autoTTransponder->modulation = DvbTTransponder::Qam16; @@ -587,21 +786,24 @@ } } - if (carry && ((capabilities & DvbBackendDevice::DvbTTransmissionModeAuto) == 0)) { + if (carry && ((capabilities & DvbTTransmissionModeAuto) == 0)) { switch (autoTTransponder->transmissionMode) { case DvbTTransponder::TransmissionMode8k: - autoTTransponder->transmissionMode = DvbTTransponder::TransmissionMode2k; + autoTTransponder->transmissionMode = + DvbTTransponder::TransmissionMode2k; carry = false; break; case DvbTTransponder::TransmissionMode2k: /* outcommented so that clearly no compatibility problem arises - autoTTransponder->transmissionMode = DvbTTransponder::TransmissionMode4k; + autoTTransponder->transmissionMode = + DvbTTransponder::TransmissionMode4k; carry = false; break; */ case DvbTTransponder::TransmissionMode4k: case DvbTTransponder::TransmissionModeAuto: - autoTTransponder->transmissionMode = DvbTTransponder::TransmissionMode8k; + autoTTransponder->transmissionMode = + DvbTTransponder::TransmissionMode8k; break; } } @@ -625,17 +827,20 @@ void DvbDevice::discardBuffers() { - if (usedBuffers > 0) { - while (true) { - currentUsed = currentUsed->next; + dataChannelMutex.lock(); - if (usedBuffers.fetchAndAddOrdered(-1) == 1) { - break; - } + if (usedBuffersHead != NULL) { + usedBuffersHead->size = 0; + DvbDeviceDataBuffer *nextBuffer = usedBuffersHead->next; + usedBuffersHead->next = NULL; + + if (nextBuffer != NULL) { + nextBuffer->next = unusedBuffersHead; + unusedBuffersHead = nextBuffer; } } - currentUsed->count = 0; + dataChannelMutex.unlock(); } void DvbDevice::stop() @@ -643,56 +848,74 @@ isAuto = false; frontendTimer.stop(); - QMap::iterator end = filters.end(); - - for (QMap::iterator it = filters.begin(); it != end; ++it) { - QList &internalFilters = it->filters; - - for (int i = 0; i < internalFilters.size(); ++i) { - DvbPidFilter *filter = internalFilters.at(i); - - if ((filter != dummyFilter) && (filter != dataDumper)) { + for (QMap::ConstIterator it = filters.constBegin(); + it != filters.constEnd(); ++it) { + foreach (DvbPidFilter *filter, it->filters) { + if ((filter != &dummyPidFilter) && (filter != dataDumper)) { int pid = it.key(); kWarning() << "removing pending filter" << pid << filter; + removePidFilter(pid, filter); + } + } + } - internalFilters.replace(i, dummyFilter); - --it->activeFilters; - - if (it->activeFilters == 0) { - backend.removePidFilter(pid); - } - - cleanUpFilters = true; + for (QMap::ConstIterator it = sectionFilters.constBegin(); + it != sectionFilters.constEnd(); ++it) { + foreach (DvbSectionFilter *sectionFilter, it->sectionFilters) { + if (sectionFilter != &dummySectionFilter) { + int pid = it.key(); + kWarning() << "removing pending filter" << pid << sectionFilter; + removeSectionFilter(pid, sectionFilter); } } } } -int DvbDevice::size() +DvbDataBuffer DvbDevice::getBuffer() { - return 21 * 188; -} + dataChannelMutex.lock(); + DvbDeviceDataBuffer *buffer = unusedBuffersHead; -char *DvbDevice::getCurrent() -{ - return currentUnused->packets[0]; + if (buffer != NULL) { + unusedBuffersHead = buffer->next; + dataChannelMutex.unlock(); + } else { + dataChannelMutex.unlock(); + buffer = new DvbDeviceDataBuffer; + } + + return DvbDataBuffer(buffer->data, sizeof(buffer->data)); } -void DvbDevice::submitCurrent(int packets) +void DvbDevice::writeBuffer(const DvbDataBuffer &dataBuffer) { - currentUnused->count = packets; + DvbDeviceDataBuffer *buffer = reinterpret_cast(dataBuffer.data); + Q_ASSERT(buffer->data == dataBuffer.data); - if ((usedBuffers + 1) >= totalBuffers) { - DvbFilterData *newBuffer = new DvbFilterData; - newBuffer->next = currentUnused->next; - currentUnused->next = newBuffer; - ++totalBuffers; - } + if (dataBuffer.dataSize > 0) { + buffer->size = dataBuffer.dataSize; + dataChannelMutex.lock(); + bool wakeUp = false; - currentUnused = currentUnused->next; + if (usedBuffersHead != NULL) { + usedBuffersTail->next = buffer; + } else { + usedBuffersHead = buffer; + wakeUp = true; + } - if (usedBuffers.fetchAndAddOrdered(1) == 0) { - QCoreApplication::postEvent(this, new QEvent(QEvent::User)); + usedBuffersTail = buffer; + usedBuffersTail->next = NULL; + dataChannelMutex.unlock(); + + if (wakeUp) { + QCoreApplication::postEvent(this, new QEvent(QEvent::User)); + } + } else { + dataChannelMutex.lock(); + buffer->next = unusedBuffersHead; + unusedBuffersHead = buffer; + dataChannelMutex.unlock(); } } @@ -700,26 +923,56 @@ { if (cleanUpFilters) { cleanUpFilters = false; - QMap::iterator it = filters.begin(); - QMap::iterator end = filters.end(); - while (it != end) { - if (it->activeFilters == 0) { - it = filters.erase(it); - } else { - it->filters.removeAll(dummyFilter); - ++it; + { + QMap::iterator it = filters.begin(); + QMap::iterator end = filters.end(); + + while (it != end) { + if (it->activeFilters == 0) { + it = filters.erase(it); + } else { + it->filters.removeAll(&dummyPidFilter); + ++it; + } } } - } - if (usedBuffers <= 0) { - return; + { + QMap::iterator it = sectionFilters.begin(); + QMap::iterator end = sectionFilters.end(); + + while (it != end) { + if (it->activeSectionFilters == 0) { + it = sectionFilters.erase(it); + } else { + it->sectionFilters.removeAll(&dummySectionFilter); + ++it; + } + } + } } + DvbDeviceDataBuffer *buffer = NULL; + while (true) { - for (int i = 0; i < currentUsed->count; ++i) { - char *packet = currentUsed->packets[i]; + dataChannelMutex.lock(); + + if (buffer != NULL) { + usedBuffersHead = buffer->next; + buffer->next = unusedBuffersHead; + unusedBuffersHead = buffer; + } + + buffer = usedBuffersHead; + dataChannelMutex.unlock(); + + if (buffer == NULL) { + break; + } + + for (int i = 0; i < buffer->size; i += 188) { + char *packet = (buffer->data + i); if ((packet[1] & 0x80) != 0) { // transport error indicator @@ -742,16 +995,5 @@ pidFilters.at(j)->processData(packet); } } - - if (usedBuffers == 0) { - // FIXME not a nice solution - side effect of discardBuffers() - break; - } - - currentUsed = currentUsed->next; - - if (usedBuffers.fetchAndAddOrdered(-1) == 1) { - break; - } } } diff -Nru kaffeine-1.1/src/dvb/dvbdevice_debug.cpp kaffeine-1.2.2/src/dvb/dvbdevice_debug.cpp --- kaffeine-1.1/src/dvb/dvbdevice_debug.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbdevice_debug.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,252 +0,0 @@ -/* - * dvbdevice_debug.cpp - * - * Copyright (C) 2009 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "dvbdevice_debug.h" - -#include -#include -#include -#include "dvbchannel.h" - -extern "C" Q_DECL_EXPORT QObject *create_device_manager() -{ - return new DvbDeviceManager; -} - -DvbDebugDevice::DvbDebugDevice() : buffer(NULL) -{ - kDebug(); -} - -DvbDebugDevice::~DvbDebugDevice() -{ - kDebug(); -} - -void DvbDebugDevice::setBuffer(DvbAbstractDeviceBuffer *buffer_) -{ - kDebug(); - buffer = buffer_; -} - -QString DvbDebugDevice::getDeviceId() -{ - kDebug(); - return "D1234"; -} - -QString DvbDebugDevice::getFrontendName() -{ - kDebug(); - return "MyFrontend"; -} - -DvbDebugDevice::TransmissionTypes DvbDebugDevice::getTransmissionTypes() -{ - kDebug(); - return DvbDebugDevice::DvbT; -} - -DvbDebugDevice::Capabilities DvbDebugDevice::getCapabilities() -{ - kDebug(); - return 0; -} - -bool DvbDebugDevice::acquire() -{ - kDebug(); - return true; -} - -bool DvbDebugDevice::setTone(SecTone tone) -{ - kDebug() << ((tone == ToneOff) ? "Off" : "On"); - return true; -} - -bool DvbDebugDevice::setVoltage(SecVoltage voltage) -{ - kDebug() << ((voltage == Voltage13V) ? "13V" : "18V"); - return true; -} - -bool DvbDebugDevice::sendMessage(const char *message, int length) -{ - QString string = QByteArray(message, length).toHex(); - - for (int i = 2; i < string.size(); i += 3) { - string.insert(i, ' '); - } - - kDebug() << string; - return true; -} - -bool DvbDebugDevice::sendBurst(SecBurst burst) -{ - kDebug() << ((burst == BurstMiniA) ? "MiniA" : "MiniB"); - return true; -} - -bool DvbDebugDevice::tune(const DvbTransponder &transponder) -{ - switch (transponder->getTransmissionType()) { - case DvbTransponderBase::DvbC: { - const DvbCTransponder *dvbCTransponder = transponder->getDvbCTransponder(); - kDebug() << "DvbC:" << dvbCTransponder->frequency << dvbCTransponder->symbolRate - << dvbCTransponder->modulation << dvbCTransponder->fecRate; - break; - } - - case DvbTransponderBase::DvbS: { - const DvbSTransponder *dvbSTransponder = transponder->getDvbSTransponder(); - kDebug() << "DvbS:" << dvbSTransponder->polarization << dvbSTransponder->frequency - << dvbSTransponder->symbolRate << dvbSTransponder->fecRate; - break; - } - - case DvbTransponderBase::DvbS2: { - const DvbS2Transponder *dvbS2Transponder = transponder->getDvbS2Transponder(); - kDebug() << "DvbS2:" << dvbS2Transponder->polarization - << dvbS2Transponder->frequency << dvbS2Transponder->symbolRate - << dvbS2Transponder->fecRate << dvbS2Transponder->modulation - << dvbS2Transponder->rollOff; - break; - } - - case DvbTransponderBase::DvbT: { - const DvbTTransponder *dvbTTransponder = transponder->getDvbTTransponder(); - kDebug() << "DvbT:" << dvbTTransponder->frequency << dvbTTransponder->bandwidth - << dvbTTransponder->modulation << dvbTTransponder->fecRateHigh - << dvbTTransponder->fecRateLow << dvbTTransponder->transmissionMode - << dvbTTransponder->guardInterval << dvbTTransponder->hierarchy; - break; - } - - case DvbTransponderBase::Atsc: { - const AtscTransponder *atscTransponder = transponder->getAtscTransponder(); - kDebug() << "Atsc:" << atscTransponder->frequency << atscTransponder->modulation; - break; - } - - default: - kWarning() << "unknown transmission type" << transponder->getTransmissionType(); - return false; - } - - QTimer::singleShot(150, this, SLOT(submitData())); - return true; -} - -int DvbDebugDevice::getSignal() -{ - kDebug(); - return 60; -} - -int DvbDebugDevice::getSnr() -{ - kDebug(); - return 65; -} - -bool DvbDebugDevice::isTuned() -{ - kDebug(); - return true; -} - -bool DvbDebugDevice::addPidFilter(int pid) -{ - kDebug() << pid; - return true; -} - -void DvbDebugDevice::removePidFilter(int pid) -{ - kDebug() << pid; -} - -void DvbDebugDevice::startDescrambling(const DvbPmtSection &pmtSection) -{ - Q_UNUSED(pmtSection) - kDebug(); -} - -void DvbDebugDevice::stopDescrambling(int serviceId) -{ - kDebug() << serviceId; -} - -void DvbDebugDevice::release() -{ - kDebug(); -} - -void DvbDebugDevice::submitData() -{ - QFile file(QDir::home().filePath("test.bin")); - - if (!file.open(QIODevice::ReadOnly)) { - kWarning() << "cannot open" << file.fileName(); - return; - } - - int bufferSize = buffer->size(); - - while (true) { - int size = file.read(buffer->getCurrent(), bufferSize); - buffer->submitCurrent(size / 188); - - if (size != bufferSize) { - break; - } - } -} - -void DvbDebugDevice::execute(Command command, ReturnData returnData, Data data) -{ - DvbBackendAdapter::execute(this, command, returnData, data); -} - -DvbDeviceManager::DvbDeviceManager() : device(NULL) -{ - kDebug(); -} - -DvbDeviceManager::~DvbDeviceManager() -{ - kDebug(); - delete device; -} - -int DvbDeviceManager::backendMagic() -{ - kDebug(); - return dvbBackendMagic; -} - -void DvbDeviceManager::doColdPlug() -{ - kDebug(); - device = new DvbDebugDevice(); - emit deviceAdded(device); -} diff -Nru kaffeine-1.1/src/dvb/dvbdevice_debug.h kaffeine-1.2.2/src/dvb/dvbdevice_debug.h --- kaffeine-1.1/src/dvb/dvbdevice_debug.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbdevice_debug.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,84 +0,0 @@ -/* - * dvbdevice_debug.h - * - * Copyright (C) 2009 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef DVBDEVICE_DEBUG_H -#define DVBDEVICE_DEBUG_H - -#include -#include "dvbbackenddevice.h" - -class DvbDebugDevice : public QObject, public DvbBackendDevice -{ - Q_OBJECT -public: - DvbDebugDevice(); - ~DvbDebugDevice(); - - void setBuffer(DvbAbstractDeviceBuffer *buffer_); - QString getDeviceId(); - QString getFrontendName(); - TransmissionTypes getTransmissionTypes(); - Capabilities getCapabilities(); - bool acquire(); - bool setTone(SecTone tone); - bool setVoltage(SecVoltage voltage); - bool sendMessage(const char *message, int length); - bool sendBurst(SecBurst burst); - bool tune(const DvbTransponder &transponder); - int getSignal(); - int getSnr(); - bool isTuned(); - bool addPidFilter(int pid); - void removePidFilter(int pid); - void startDescrambling(const DvbPmtSection &pmtSection); - void stopDescrambling(int serviceId); - void release(); - -private slots: - void submitData(); - -private: - void execute(Command command, ReturnData returnData, Data data); - - DvbAbstractDeviceBuffer *buffer; -}; - -class DvbDeviceManager : public QObject -{ - Q_OBJECT - Q_PROPERTY(int backendMagic READ backendMagic) -public: - DvbDeviceManager(); - ~DvbDeviceManager(); - - int backendMagic(); - -public slots: - void doColdPlug(); - -signals: - void deviceAdded(DvbBackendDevice *device); - void deviceRemoved(DvbBackendDevice *device); - -private: - DvbDebugDevice *device; -}; - -#endif /* DVBDEVICE_DEBUG_H */ diff -Nru kaffeine-1.1/src/dvb/dvbdevice.h kaffeine-1.2.2/src/dvb/dvbdevice.h --- kaffeine-1.1/src/dvb/dvbdevice.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbdevice.h 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbdevice.h * - * Copyright (C) 2007-2009 Christoph Pfister + * Copyright (C) 2007-2010 Christoph Pfister * * 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 @@ -21,25 +21,39 @@ #ifndef DVBDEVICE_H #define DVBDEVICE_H +#include #include +#include #include #include "dvbbackenddevice.h" -#include "dvbchannel.h" +#include "dvbtransponder.h" class DvbConfigBase; -class DvbFilterData; +class DvbDataDumper; +class DvbDeviceDataBuffer; class DvbFilterInternal; +class DvbSectionFilterInternal; -class DvbPidFilter +class DvbDummyPidFilter : public DvbPidFilter { public: - DvbPidFilter() { } - virtual ~DvbPidFilter() { } + DvbDummyPidFilter() { } + ~DvbDummyPidFilter() { } - virtual void processData(const char data[188]) = 0; + void processData(const char [188]) { } }; -class DvbDevice : public QObject, private DvbAbstractDeviceBuffer +class DvbDummySectionFilter : public DvbSectionFilter +{ +public: + DvbDummySectionFilter() { } + ~DvbDummySectionFilter() { } + + void processSection(const char *, int) { } +}; + +// FIXME make DvbDevice shared ... +class DvbDevice : public QObject, public DvbFrontendDevice { Q_OBJECT public: @@ -53,12 +67,12 @@ // FIXME introduce a TuningFailed state }; - DvbDevice(DvbBackendDevice *backendDevice, QObject *parent); + DvbDevice(DvbBackendDevice *backend_, QObject *parent); ~DvbDevice(); const DvbBackendDevice *getBackendDevice() const { - return backend.device; + return backend; } DeviceState getDeviceState() const @@ -66,19 +80,21 @@ return deviceState; } - DvbBackendDevice::TransmissionTypes getTransmissionTypes() const; + TransmissionTypes getTransmissionTypes() const; QString getDeviceId() const; QString getFrontendName() const; void tune(const DvbTransponder &transponder); void autoTune(const DvbTransponder &transponder); bool addPidFilter(int pid, DvbPidFilter *filter); + bool addSectionFilter(int pid, DvbSectionFilter *filter); void removePidFilter(int pid, DvbPidFilter *filter); - void startDescrambling(const DvbPmtSection &pmtSection, QObject *user); - void stopDescrambling(int serviceId, QObject *user); + void removeSectionFilter(int pid, DvbSectionFilter *filter); + void startDescrambling(const QByteArray &pmtSectionData, QObject *user); + void stopDescrambling(const QByteArray &pmtSectionData, QObject *user); bool isTuned() const; - int getSignal() const; // 0 - 100 [%] - int getSnr() const; // 0 - 100 [%] + int getSignal() const; // 0 - 100 [%] or -1 = not supported + int getSnr() const; // 0 - 100 [%] or -1 = not supported DvbTransponder getAutoTransponder() const; /* @@ -101,32 +117,33 @@ void discardBuffers(); void stop(); - int size(); - char *getCurrent(); - void submitCurrent(int packets); + void processData(const char data[188]); + DvbDataBuffer getBuffer(); + void writeBuffer(const DvbDataBuffer &dataBuffer); void customEvent(QEvent *); - DvbBackendDeviceAdapter backend; + DvbBackendDevice *backend; DeviceState deviceState; QExplicitlySharedDataPointer config; int frontendTimeout; QTimer frontendTimer; QMap filters; - DvbPidFilter *dummyFilter; - DvbPidFilter *dataDumper; + QMap sectionFilters; + DvbDummyPidFilter dummyPidFilter; + DvbDummySectionFilter dummySectionFilter; + DvbDataDumper *dataDumper; bool cleanUpFilters; QMultiMap descramblingServices; bool isAuto; - DvbTTransponder *autoTTransponder; DvbTransponder autoTransponder; - DvbBackendDevice::Capabilities capabilities; + Capabilities capabilities; - DvbFilterData *currentUnused; - DvbFilterData *currentUsed; - int totalBuffers; - QAtomicInt usedBuffers; + DvbDeviceDataBuffer *unusedBuffersHead; + DvbDeviceDataBuffer *usedBuffersHead; + DvbDeviceDataBuffer *usedBuffersTail; + QMutex dataChannelMutex; }; #endif /* DVBDEVICE_H */ diff -Nru kaffeine-1.1/src/dvb/dvbdevice_linux.cpp kaffeine-1.2.2/src/dvb/dvbdevice_linux.cpp --- kaffeine-1.1/src/dvb/dvbdevice_linux.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbdevice_linux.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -21,7 +21,7 @@ #include "dvbdevice_linux.h" #include -#include +#include #include #include #include @@ -32,230 +32,121 @@ #include #include #include -#include "dvbsi.h" +#include "dvbtransponder.h" // krazy:excludeall=syscalls -class DvbDeviceThread : private QThread +DvbLinuxDevice::DvbLinuxDevice(QObject *parent) : QThread(parent), ready(false), frontend(NULL), + enabled(false), frontendFd(-1), dvrFd(-1), dvrBuffer(NULL, 0) { -public: - DvbDeviceThread() : dvrFd(-1) - { - if (pipe(pipes) != 0) { - kError() << "pipe() failed"; - pipes[0] = -1; - pipes[1] = -1; - } - } - - ~DvbDeviceThread() - { - if (isRunning()) { - stop(); - } - - close(pipes[0]); - close(pipes[1]); - } - - void start(int dvrFd_, DvbAbstractDeviceBuffer *buffer_); - void discardBuffers(); - void stop(); - - bool isRunning() - { - return (dvrFd != -1); - } - -private: - void run(); - - int pipes[2]; - int dvrFd; - DvbAbstractDeviceBuffer *buffer; -}; - -void DvbDeviceThread::start(int dvrFd_, DvbAbstractDeviceBuffer *buffer_) -{ - Q_ASSERT(dvrFd == -1); - dvrFd = dvrFd_; - buffer = buffer_; - QThread::start(); + dvrPipe[0] = -1; + dvrPipe[1] = -1; } -void DvbDeviceThread::discardBuffers() +DvbLinuxDevice::~DvbLinuxDevice() { - Q_ASSERT(dvrFd != -1); - - if (write(pipes[1], " ", 1) != 1) { - kError() << "write() failed"; - } - - wait(); - - char temp; - read(pipes[0], &temp, 1); - - while (read(dvrFd, buffer->getCurrent(), buffer->size()) > 0) { - } - - QThread::start(); + stopDevice(); } -void DvbDeviceThread::stop() +bool DvbLinuxDevice::isReady() const { - Q_ASSERT(dvrFd != -1); - - if (write(pipes[1], " ", 1) != 1) { - kError() << "write() failed"; - } - - wait(); - - char temp; - read(pipes[0], &temp, 1); - dvrFd = -1; + return ready; } -void DvbDeviceThread::run() +void DvbLinuxDevice::startDevice(const QString &deviceId_) { - pollfd pfds[2]; - memset(&pfds, 0, sizeof(pfds)); + Q_ASSERT(!ready); + int fd = open(QFile::encodeName(frontendPath), O_RDONLY | O_NONBLOCK); - pfds[0].fd = pipes[0]; - pfds[0].events = POLLIN; + if (fd < 0) { + kWarning() << "cannot open frontend" << frontendPath; + return; + } - pfds[1].fd = dvrFd; - pfds[1].events = POLLIN; + dvb_frontend_info frontend_info; + memset(&frontend_info, 0, sizeof(frontend_info)); - int bufferSize = buffer->size(); + if (ioctl(fd, FE_GET_INFO, &frontend_info) != 0) { + kWarning() << "ioctl FE_GET_INFO failed for frontend" << frontendPath; + close(fd); + return; + } - while (true) { - if (poll(pfds, 2, -1) < 0) { - if (errno == EINTR) { - continue; - } + close(fd); + deviceId = deviceId_; + frontendName = QString::fromUtf8(frontend_info.name); - kWarning() << "poll() failed"; - break; - } + switch (frontend_info.type) { + case FE_QAM: + transmissionTypes = DvbC; + break; + case FE_QPSK: + transmissionTypes = DvbS; - if ((pfds[0].revents & POLLIN) != 0) { - break; + if (((frontend_info.caps & FE_CAN_2G_MODULATION) != 0) || + (strcmp(frontend_info.name, "Conexant CX24116/CX24118") == 0) || + (strcmp(frontend_info.name, "Genpix 8psk-to-USB2 DVB-S") == 0) || + (strcmp(frontend_info.name, "STB0899 Multistandard") == 0)) { + transmissionTypes |= DvbS2; } - while (true) { - int size = read(dvrFd, buffer->getCurrent(), bufferSize); - - if (size < 0) { - if (errno == EAGAIN) { - break; - } - - size = read(dvrFd, buffer->getCurrent(), bufferSize); - - if (size < 0) { - if (errno == EAGAIN) { - break; - } + break; + case FE_OFDM: + transmissionTypes = DvbT; + break; + case FE_ATSC: + transmissionTypes = Atsc; + break; + default: + kWarning() << "unknown type" << frontend_info.type << "for frontend" << + frontendPath; + return; + } - kWarning() << "read() failed"; - return; - } - } + capabilities = 0; - buffer->submitCurrent(size / 188); + if ((frontend_info.caps & FE_CAN_QAM_AUTO) != 0) { + capabilities |= DvbTModulationAuto; + } - if (size != bufferSize) { - break; - } - } + if ((frontend_info.caps & FE_CAN_FEC_AUTO) != 0) { + capabilities |= DvbTFecAuto; + } - msleep(1); + if ((frontend_info.caps & FE_CAN_TRANSMISSION_MODE_AUTO) != 0) { + capabilities |= DvbTTransmissionModeAuto; } -} -DvbLinuxDevice::DvbLinuxDevice(int adapter_, int index_) : adapter(adapter_), index(index_), - buffer(NULL), ready(false), frontendFd(-1), dvrFd(-1) -{ - thread = new DvbDeviceThread(); -} + if ((frontend_info.caps & FE_CAN_GUARD_INTERVAL_AUTO) != 0) { + capabilities |= DvbTGuardIntervalAuto; + } -DvbLinuxDevice::~DvbLinuxDevice() -{ - release(); - delete thread; + kDebug() << "found dvb device" << deviceId << '/' << frontendName; + ready = true; } -bool DvbLinuxDevice::componentAdded(const Solid::Device &component) +void DvbLinuxDevice::startCa() { - const Solid::DvbInterface *dvbInterface = component.as(); - - bool wasPresent = ((internalState & DevicePresent) == DevicePresent); + Q_ASSERT(ready && !caPath.isEmpty()); - switch (dvbInterface->deviceType()) { - case Solid::DvbInterface::DvbCa: - caComponent = component; - caPath = dvbInterface->device(); - internalState |= CaPresent; + if (enabled) { cam.startCa(caPath); - break; - case Solid::DvbInterface::DvbDemux: - demuxComponent = component; - demuxPath = dvbInterface->device(); - internalState |= DemuxPresent; - break; - case Solid::DvbInterface::DvbDvr: - dvrComponent = component; - dvrPath = dvbInterface->device(); - internalState |= DvrPresent; - break; - case Solid::DvbInterface::DvbFrontend: - frontendComponent = component; - frontendPath = dvbInterface->device(); - internalState |= FrontendPresent; - break; - default: - return false; } - - if (!wasPresent && ((internalState & DevicePresent) == DevicePresent)) { - if (identifyDevice()) { - ready = true; - return true; - } - } - - return false; } -bool DvbLinuxDevice::componentRemoved(const QString &udi) +void DvbLinuxDevice::stopCa() { - if (caComponent.udi() == udi) { - cam.stopCa(); - internalState &= ~CaPresent; - } else if (demuxComponent.udi() == udi) { - internalState &= ~DemuxPresent; - } else if (dvrComponent.udi() == udi) { - internalState &= ~DvrPresent; - } else if (frontendComponent.udi() == udi) { - internalState &= ~FrontendPresent; - } else { - return false; - } + Q_ASSERT(ready && caPath.isEmpty()); - if (ready && ((internalState & DevicePresent) != DevicePresent)) { - release(); - ready = false; - return true; + if (enabled) { + cam.stopCa(); } - - return false; } -void DvbLinuxDevice::setBuffer(DvbAbstractDeviceBuffer *buffer_) +void DvbLinuxDevice::stopDevice() { - buffer = buffer_; + setDeviceEnabled(false); + ready = false; } QString DvbLinuxDevice::getDeviceId() @@ -270,71 +161,69 @@ return frontendName; } -DvbBackendDevice::TransmissionTypes DvbLinuxDevice::getTransmissionTypes() +DvbLinuxDevice::TransmissionTypes DvbLinuxDevice::getTransmissionTypes() { Q_ASSERT(ready); return transmissionTypes; } -DvbBackendDevice::Capabilities DvbLinuxDevice::getCapabilities() +DvbLinuxDevice::Capabilities DvbLinuxDevice::getCapabilities() { Q_ASSERT(ready); return capabilities; } -bool DvbLinuxDevice::acquire() +void DvbLinuxDevice::setFrontendDevice(DvbFrontendDevice *frontend_) { - Q_ASSERT(ready && (frontendFd < 0) && (dvrFd < 0)); + frontend = frontend_; +} +void DvbLinuxDevice::setDeviceEnabled(bool enabled_) +{ + Q_ASSERT(ready); + + if (enabled != enabled_) { + enabled = enabled_; + + if (enabled) { + if (!caPath.isEmpty()) { + cam.startCa(caPath); + } + } else { + release(); + cam.stopCa(); + } + } +} + +bool DvbLinuxDevice::acquire() +{ + Q_ASSERT(enabled && (frontendFd < 0) && (dvrFd < 0)); frontendFd = open(QFile::encodeName(frontendPath), O_RDWR | O_NONBLOCK); if (frontendFd < 0) { - kWarning() << "couldn't open" << frontendPath; + kWarning() << "cannot open frontend" << frontendPath; return false; } dvrFd = open(QFile::encodeName(dvrPath), O_RDONLY | O_NONBLOCK); if (dvrFd < 0) { - kWarning() << "couldn't open" << dvrPath; + kWarning() << "cannot open dvr" << dvrPath; close(frontendFd); frontendFd = -1; return false; } - thread->start(dvrFd, buffer); return true; } -void DvbLinuxDevice::release() -{ - foreach (int dmxFd, dmxFds) { - close(dmxFd); - } - - dmxFds.clear(); - - if (thread->isRunning()) { - thread->stop(); - } - - if (dvrFd >= 0) { - close(dvrFd); - dvrFd = -1; - } - - if (frontendFd >= 0) { - close(frontendFd); - frontendFd = -1; - } -} - bool DvbLinuxDevice::setTone(SecTone tone) { Q_ASSERT(frontendFd >= 0); - if (ioctl(frontendFd, FE_SET_TONE, (tone == ToneOff) ? SEC_TONE_OFF : SEC_TONE_ON) != 0) { - kWarning() << "ioctl FE_SET_TONE failed for" << frontendPath; + if (ioctl(frontendFd, FE_SET_TONE, (tone == ToneOn) ? SEC_TONE_ON : SEC_TONE_OFF) != 0) { + kWarning() << "ioctl FE_SET_TONE failed for frontend" << frontendPath; return false; } @@ -346,8 +235,8 @@ Q_ASSERT(frontendFd >= 0); if (ioctl(frontendFd, FE_SET_VOLTAGE, - (voltage == Voltage13V) ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18) != 0) { - kWarning() << "ioctl FE_SET_VOLTAGE failed for" << frontendPath; + (voltage == Voltage18V) ? SEC_VOLTAGE_18 : SEC_VOLTAGE_13) != 0) { + kWarning() << "ioctl FE_SET_VOLTAGE failed for frontend" << frontendPath; return false; } @@ -357,14 +246,14 @@ bool DvbLinuxDevice::sendMessage(const char *message, int length) { Q_ASSERT((frontendFd >= 0) && (length >= 0) && (length <= 6)); - dvb_diseqc_master_cmd cmd; memset(&cmd, 0, sizeof(cmd)); memcpy(&cmd.msg, message, length); cmd.msg_len = length; if (ioctl(frontendFd, FE_DISEQC_SEND_MASTER_CMD, &cmd) != 0) { - kWarning() << "ioctl FE_DISEQC_SEND_MASTER_CMD failed for" << frontendPath; + kWarning() << "ioctl FE_DISEQC_SEND_MASTER_CMD failed for frontend" << + frontendPath; return false; } @@ -377,7 +266,7 @@ if (ioctl(frontendFd, FE_DISEQC_SEND_BURST, (burst == BurstMiniA) ? SEC_MINI_A : SEC_MINI_B) != 0) { - kWarning() << "ioctl FE_DISEQC_SEND_BURST failed for" << frontendPath; + kWarning() << "ioctl FE_DISEQC_SEND_BURST failed for frontend" << frontendPath; return false; } @@ -453,10 +342,10 @@ switch (fecRate) { case DvbTransponderBase::FecNone: return FEC_NONE; case DvbTransponderBase::Fec1_2: return FEC_1_2; - case DvbTransponderBase::Fec1_3: return FEC_AUTO; - case DvbTransponderBase::Fec1_4: return FEC_AUTO; + case DvbTransponderBase::Fec1_3: return FEC_AUTO; // FIXME + case DvbTransponderBase::Fec1_4: return FEC_AUTO; // FIXME case DvbTransponderBase::Fec2_3: return FEC_2_3; - case DvbTransponderBase::Fec2_5: return FEC_AUTO; + case DvbTransponderBase::Fec2_5: return FEC_AUTO; // FIXME case DvbTransponderBase::Fec3_4: return FEC_3_4; case DvbTransponderBase::Fec3_5: return FEC_3_5; case DvbTransponderBase::Fec4_5: return FEC_4_5; @@ -524,14 +413,13 @@ bool DvbLinuxDevice::tune(const DvbTransponder &transponder) { Q_ASSERT(frontendFd >= 0); - + stopDvr(); dvb_frontend_parameters params; - memset(¶ms, 0, sizeof(params)); - switch (transponder->getTransmissionType()) { + switch (transponder.getTransmissionType()) { case DvbTransponderBase::DvbC: { - const DvbCTransponder *dvbCTransponder = transponder->getDvbCTransponder(); - + const DvbCTransponder *dvbCTransponder = transponder.as(); + memset(¶ms, 0, sizeof(params)); params.frequency = dvbCTransponder->frequency; params.inversion = INVERSION_AUTO; params.u.qam.symbol_rate = dvbCTransponder->symbolRate; @@ -539,23 +427,19 @@ params.u.qam.modulation = convertDvbModulation(dvbCTransponder->modulation); break; } - case DvbTransponderBase::DvbS: { - const DvbSTransponder *dvbSTransponder = transponder->getDvbSTransponder(); - + const DvbSTransponder *dvbSTransponder = transponder.as(); + memset(¶ms, 0, sizeof(params)); params.frequency = dvbSTransponder->frequency; params.inversion = INVERSION_AUTO; params.u.qpsk.symbol_rate = dvbSTransponder->symbolRate; params.u.qpsk.fec_inner = convertDvbFecRate(dvbSTransponder->fecRate); break; } - case DvbTransponderBase::DvbS2: { - const DvbS2Transponder *dvbS2Transponder = transponder->getDvbS2Transponder(); - + const DvbS2Transponder *dvbS2Transponder = transponder.as(); dtv_property properties[9]; memset(properties, 0, sizeof(properties)); - properties[0].cmd = DTV_DELIVERY_SYSTEM; properties[0].u.data = SYS_DVBS2; properties[1].cmd = DTV_FREQUENCY; @@ -573,25 +457,22 @@ properties[7].cmd = DTV_INNER_FEC; properties[7].u.data = convertDvbFecRate(dvbS2Transponder->fecRate); properties[8].cmd = DTV_TUNE; - dtv_properties propertyList; memset(&propertyList, 0, sizeof(propertyList)); - - propertyList.num = sizeof(properties) / sizeof(properties[0]); propertyList.props = properties; + propertyList.num = (sizeof(properties) / sizeof(properties[0])); if (ioctl(frontendFd, FE_SET_PROPERTY, &propertyList) != 0) { - kWarning() << "ioctl FE_SET_PROPERTY failed for" << frontendPath; + kWarning() << "ioctl FE_SET_PROPERTY failed for frontend" << frontendPath; return false; } - thread->discardBuffers(); + startDvr(); return true; } - case DvbTransponderBase::DvbT: { - const DvbTTransponder *dvbTTransponder = transponder->getDvbTTransponder(); - + const DvbTTransponder *dvbTTransponder = transponder.as(); + memset(¶ms, 0, sizeof(params)); params.frequency = dvbTTransponder->frequency; params.inversion = INVERSION_AUTO; params.u.ofdm.bandwidth = convertDvbBandwidth(dvbTTransponder->bandwidth); @@ -606,38 +487,49 @@ convertDvbHierarchy(dvbTTransponder->hierarchy); break; } - case DvbTransponderBase::Atsc: { - const AtscTransponder *atscTransponder = transponder->getAtscTransponder(); - + const AtscTransponder *atscTransponder = transponder.as(); + memset(¶ms, 0, sizeof(params)); params.frequency = atscTransponder->frequency; params.inversion = INVERSION_AUTO; params.u.vsb.modulation = convertDvbModulation(atscTransponder->modulation); break; } - default: - kWarning() << "unknown transmission type" << transponder->getTransmissionType(); + kWarning() << "unknown transmission type" << transponder.getTransmissionType(); return false; } if (ioctl(frontendFd, FE_SET_FRONTEND, ¶ms) != 0) { - kWarning() << "ioctl FE_SET_FRONTEND failed for" << frontendPath; + kWarning() << "ioctl FE_SET_FRONTEND failed for frontend" << frontendPath; return false; } - thread->discardBuffers(); + startDvr(); return true; } -int DvbLinuxDevice::getSignal() +bool DvbLinuxDevice::isTuned() { Q_ASSERT(frontendFd >= 0); + fe_status_t status; + memset(&status, 0, sizeof(status)); + + if (ioctl(frontendFd, FE_READ_STATUS, &status) != 0) { + kWarning() << "ioctl FE_READ_STATUS failed for frontend" << frontendPath; + return false; + } + + return ((status & FE_HAS_LOCK) != 0); +} +int DvbLinuxDevice::getSignal() +{ + Q_ASSERT(frontendFd >= 0); quint16 signal = 0; if (ioctl(frontendFd, FE_READ_SIGNAL_STRENGTH, &signal) != 0) { - kWarning() << "ioctl FE_READ_SIGNAL_STRENGTH failed for" << frontendPath; + kWarning() << "ioctl FE_READ_SIGNAL_STRENGTH failed for frontend" << frontendPath; return -1; } @@ -652,11 +544,10 @@ int DvbLinuxDevice::getSnr() { Q_ASSERT(frontendFd >= 0); - quint16 snr = 0; if (ioctl(frontendFd, FE_READ_SNR, &snr) != 0) { - kWarning() << "ioctl FE_READ_SNR failed for" << frontendPath; + kWarning() << "ioctl FE_READ_SNR failed for frontend" << frontendPath; return -1; } @@ -668,40 +559,24 @@ return ((snr * 100 + 0x8001) >> 16); } -bool DvbLinuxDevice::isTuned() -{ - Q_ASSERT(frontendFd >= 0); - - fe_status_t status; - memset(&status, 0, sizeof(status)); - - if (ioctl(frontendFd, FE_READ_STATUS, &status) != 0) { - kWarning() << "ioctl FE_READ_STATUS failed for" << frontendPath; - return false; - } - - return ((status & FE_HAS_LOCK) != 0); -} - bool DvbLinuxDevice::addPidFilter(int pid) { Q_ASSERT(frontendFd >= 0); if (dmxFds.contains(pid)) { - kWarning() << "filter already set up for" << pid; + kWarning() << "pid filter already set up for pid" << pid; return false; } int dmxFd = open(QFile::encodeName(demuxPath), O_RDONLY | O_NONBLOCK); if (dmxFd < 0) { - kWarning() << "couldn't open" << demuxPath; + kWarning() << "cannot open demux" << demuxPath; return false; } dmx_pes_filter_params pes_filter; memset(&pes_filter, 0, sizeof(pes_filter)); - pes_filter.pid = pid; pes_filter.input = DMX_IN_FRONTEND; pes_filter.output = DMX_OUT_TS_TAP; @@ -709,7 +584,7 @@ pes_filter.flags = DMX_IMMEDIATE_START; if (ioctl(dmxFd, DMX_SET_PES_FILTER, &pes_filter) != 0) { - kWarning() << "couldn't set up filter for" << demuxPath; + kWarning() << "cannot set up pid filter for demux" << demuxPath; close(dmxFd); return false; } @@ -723,16 +598,16 @@ Q_ASSERT(frontendFd >= 0); if (!dmxFds.contains(pid)) { - kWarning() << "no filter set up for" << pid; + kWarning() << "no pid filter set up for pid" << pid; return; } close(dmxFds.take(pid)); } -void DvbLinuxDevice::startDescrambling(const DvbPmtSection &pmtSection) +void DvbLinuxDevice::startDescrambling(const QByteArray &pmtSectionData) { - cam.startDescrambling(pmtSection); + cam.startDescrambling(pmtSectionData); } void DvbLinuxDevice::stopDescrambling(int serviceId) @@ -740,203 +615,379 @@ cam.stopDescrambling(serviceId); } -void DvbLinuxDevice::execute(Command command, ReturnData returnData, Data data) +void DvbLinuxDevice::release() { - DvbBackendAdapter::execute(this, command, returnData, data); -} + stopDvr(); -static int DvbReadSysAttr(const QString &path) -{ - QFile file(path); - - if (!file.open(QIODevice::ReadOnly)) { - return -1; + if (dvrBuffer.data != NULL) { + dvrBuffer.dataSize = 0; + frontend->writeBuffer(dvrBuffer); + dvrBuffer.data = NULL; } - QByteArray data = file.read(16); + if (dvrPipe[0] >= 0) { + close(dvrPipe[0]); + dvrPipe[0] = -1; + } - if ((data.size() == 0) || (data.size() == 16)) { - return -1; + if (dvrPipe[1] >= 0) { + close(dvrPipe[1]); + dvrPipe[1] = -1; } - bool ok; - int value = QString(data).toInt(&ok, 16); + if (dvrFd >= 0) { + close(dvrFd); + dvrFd = -1; + } - if (!ok || (value >= (1 << 16))) { - return -1; + foreach (int dmxFd, dmxFds) { + close(dmxFd); } - return value; + dmxFds.clear(); + + if (frontendFd >= 0) { + close(frontendFd); + frontendFd = -1; + } } -bool DvbLinuxDevice::identifyDevice() +void DvbLinuxDevice::startDvr() { - int fd = open(QFile::encodeName(frontendPath), O_RDONLY | O_NONBLOCK); + Q_ASSERT((dvrFd >= 0) && !isRunning()); - if (fd < 0) { - kWarning() << "couldn't open" << frontendPath; - return false; - } + if ((dvrPipe[0] < 0) || (dvrPipe[1] < 0)) { + if (pipe(dvrPipe) != 0) { + dvrPipe[0] = -1; + dvrPipe[1] = -1; + } - dvb_frontend_info frontend_info; - memset(&frontend_info, 0, sizeof(frontend_info)); + if ((dvrPipe[0] < 0) || (dvrPipe[1] < 0)) { + kWarning() << "cannot create pipe"; + return; + } + } - if (ioctl(fd, FE_GET_INFO, &frontend_info) != 0) { - kWarning() << "ioctl FE_GET_INFO failed for" << frontendPath; - close(fd); - return false; + if (dvrBuffer.data == NULL) { + dvrBuffer = frontend->getBuffer(); } - close(fd); + while (true) { + int bufferSize = dvrBuffer.bufferSize; + int dataSize = read(dvrFd, dvrBuffer.data, bufferSize); - switch (frontend_info.type) { - case FE_QPSK: - transmissionTypes = DvbS; + if (dataSize < 0) { + if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) { + break; + } - if (((frontend_info.caps & FE_CAN_2G_MODULATION) != 0) || - (strcmp(frontend_info.name, "Genpix 8psk-to-USB2 DVB-S") == 0) || - (strcmp(frontend_info.name, "Conexant CX24116/CX24118") == 0) || - (strcmp(frontend_info.name, "STB0899 Multistandard") == 0)) { - transmissionTypes |= DvbS2; + if (errno == EINTR) { + continue; + } + + dataSize = read(dvrFd, dvrBuffer.data, bufferSize); + + if (dataSize < 0) { + if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) { + break; + } + + if (errno == EINTR) { + continue; + } + + kWarning() << "cannot read from dvr" << dvrPath; + return; + } } - break; - case FE_QAM: - transmissionTypes = DvbC; - break; - case FE_OFDM: - transmissionTypes = DvbT; - break; - case FE_ATSC: - transmissionTypes = Atsc; - break; - default: - kWarning() << "unknown frontend type" << frontend_info.type << "for" << frontendPath; - return false; + if (dataSize != bufferSize) { + break; + } } - capabilities = 0; + start(); +} - if ((frontend_info.caps & FE_CAN_QAM_AUTO) != 0) { - capabilities |= DvbTModulationAuto; - } +void DvbLinuxDevice::stopDvr() +{ + if (isRunning()) { + Q_ASSERT((dvrPipe[0] >= 0) && (dvrPipe[1] >= 0)); - if ((frontend_info.caps & FE_CAN_FEC_AUTO) != 0) { - capabilities |= DvbTFecAuto; - } + if (write(dvrPipe[1], " ", 1) != 1) { + kWarning() << "cannot write to pipe"; + } - if ((frontend_info.caps & FE_CAN_TRANSMISSION_MODE_AUTO) != 0) { - capabilities |= DvbTTransmissionModeAuto; - } + wait(); + char data; - if ((frontend_info.caps & FE_CAN_GUARD_INTERVAL_AUTO) != 0) { - capabilities |= DvbTGuardIntervalAuto; + if (read(dvrPipe[0], &data, 1) != 1) { + kWarning() << "cannot read from pipe"; + } } +} - deviceId.clear(); - QString path = QString("/sys/class/dvb/dvb%1.frontend%2/").arg(adapter).arg(index); +void DvbLinuxDevice::run() +{ + Q_ASSERT((dvrFd >= 0) && (dvrPipe[0] >= 0) && (dvrBuffer.data != NULL)); + pollfd pollFds[2]; + memset(&pollFds, 0, sizeof(pollFds)); + pollFds[0].fd = dvrPipe[0]; + pollFds[0].events = POLLIN; + pollFds[1].fd = dvrFd; + pollFds[1].events = POLLIN; - if (QFile::exists(path + "device/vendor")) { - // PCI device - int vendor = DvbReadSysAttr(path + "device/vendor"); - int device = DvbReadSysAttr(path + "device/device"); - int subsystem_vendor = DvbReadSysAttr(path + "device/subsystem_vendor"); - int subsystem_device = DvbReadSysAttr(path + "device/subsystem_device"); + while (true) { + if (poll(pollFds, 2, -1) < 0) { + if (errno == EINTR) { + continue; + } - if ((vendor >= 0) && (device >= 0) && (subsystem_vendor >= 0) && - (subsystem_device >= 0)) { - deviceId = 'P'; - deviceId += QString("%1").arg(vendor, 4, 16, QChar('0')); - deviceId += QString("%1").arg(device, 4, 16, QChar('0')); - deviceId += QString("%1").arg(subsystem_vendor, 4, 16, QChar('0')); - deviceId += QString("%1").arg(subsystem_device, 4, 16, QChar('0')); + kWarning() << "poll failed"; + return; } - } else if (QFile::exists(path + "device/idVendor")) { - // USB device - int vendor = DvbReadSysAttr(path + "device/idVendor"); - int product = DvbReadSysAttr(path + "device/idProduct"); - if ((vendor >= 0) && (product >= 0)) { - deviceId = 'U'; - deviceId += QString("%1").arg(vendor, 4, 16, QChar('0')); - deviceId += QString("%1").arg(product, 4, 16, QChar('0')); + if ((pollFds[0].revents & POLLIN) != 0) { + return; } - } - if (deviceId.isEmpty()) { - kWarning() << "couldn't identify device"; - } + while (true) { + int bufferSize = dvrBuffer.bufferSize; + int dataSize = read(dvrFd, dvrBuffer.data, bufferSize); - frontendName = QString::fromAscii(frontend_info.name); - kDebug() << "found dvb device" << deviceId << '/' << frontendName; + if (dataSize < 0) { + if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) { + break; + } - return true; + if (errno == EINTR) { + continue; + } + + kWarning() << "cannot read from dvr" << dvrPath; + dataSize = read(dvrFd, dvrBuffer.data, bufferSize); + + if (dataSize < 0) { + if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) { + break; + } + + if (errno == EINTR) { + continue; + } + + kWarning() << "cannot read from dvr" << dvrPath; + return; + } + } + + if (dataSize > 0) { + dvrBuffer.dataSize = dataSize; + frontend->writeBuffer(dvrBuffer); + dvrBuffer = frontend->getBuffer(); + } + + if (dataSize != bufferSize) { + break; + } + } + + msleep(10); + } } -DvbDeviceManager::DvbDeviceManager() +DvbLinuxDeviceManager::DvbLinuxDeviceManager(QObject *parent) : QObject(parent) { QObject *notifier = Solid::DeviceNotifier::instance(); connect(notifier, SIGNAL(deviceAdded(QString)), this, SLOT(componentAdded(QString))); connect(notifier, SIGNAL(deviceRemoved(QString)), this, SLOT(componentRemoved(QString))); } -DvbDeviceManager::~DvbDeviceManager() +DvbLinuxDeviceManager::~DvbLinuxDeviceManager() { - qDeleteAll(devices); } -void DvbDeviceManager::doColdPlug() +void DvbLinuxDeviceManager::doColdPlug() { foreach (const Solid::Device &device, Solid::Device::listFromType(Solid::DeviceInterface::DvbInterface)) { - componentAdded(device); + componentAdded(device.udi()); } } -void DvbDeviceManager::componentAdded(const QString &udi) +void DvbLinuxDeviceManager::componentAdded(const QString &udi) { - componentAdded(Solid::Device(udi)); -} + const Solid::DvbInterface *dvbInterface = Solid::Device(udi).as(); -void DvbDeviceManager::componentRemoved(const QString &udi) -{ - DvbLinuxDevice *device = udis.value(udi, NULL); + if (dvbInterface == NULL) { + return; + } + + int adapter = dvbInterface->deviceAdapter(); + int index = dvbInterface->deviceIndex(); + QString devicePath = dvbInterface->device(); + + if ((adapter < 0) || (adapter > 0x7fff) || (index < 0) || (index > 0x7fff)) { + kWarning() << "cannot determine adapter or index for device" << udi; + return; + } + + if (devicePath.isEmpty()) { + kWarning() << "cannot determine path for device" << udi; + return; + } + + int deviceIndex = ((adapter << 16) | index); + DvbLinuxDevice *device = devices.value(deviceIndex); + + if (device == NULL) { + device = new DvbLinuxDevice(this); + devices.insert(deviceIndex, device); + } + + bool addDevice = false; + + switch (dvbInterface->deviceType()) { + case Solid::DvbInterface::DvbCa: + if (device->caPath.isEmpty()) { + device->caPath = devicePath; + device->caUdi = udi; + udis.insert(udi, device); + + if (device->isReady()) { + device->startCa(); + } + } + + break; + case Solid::DvbInterface::DvbDemux: + if (device->demuxPath.isEmpty()) { + device->demuxPath = devicePath; + device->demuxUdi = udi; + udis.insert(udi, device); + addDevice = true; + } + + break; + case Solid::DvbInterface::DvbDvr: + if (device->dvrPath.isEmpty()) { + device->dvrPath = devicePath; + device->dvrUdi = udi; + udis.insert(udi, device); + addDevice = true; + } + + break; + case Solid::DvbInterface::DvbFrontend: + if (device->frontendPath.isEmpty()) { + device->frontendPath = devicePath; + device->frontendUdi = udi; + udis.insert(udi, device); + addDevice = true; + } + + break; + default: + break; + } + + if (addDevice && !device->demuxPath.isEmpty() && !device->dvrPath.isEmpty() && + !device->frontendPath.isEmpty()) { + QString path = QString("/sys/class/dvb/dvb%1.frontend%2/").arg(adapter).arg(index); + QString deviceId; + + if (QFile::exists(path + "device/vendor")) { + // PCI device + int vendor = readSysAttr(path + "device/vendor"); + int device = readSysAttr(path + "device/device"); + int subsystem_vendor = readSysAttr(path + "device/subsystem_vendor"); + int subsystem_device = readSysAttr(path + "device/subsystem_device"); + + if ((vendor >= 0) && (device >= 0) && (subsystem_vendor >= 0) && + (subsystem_device >= 0)) { + deviceId = 'P'; + deviceId += QString("%1").arg(vendor, 4, 16, QChar('0')); + deviceId += QString("%1").arg(device, 4, 16, QChar('0')); + deviceId += QString("%1").arg(subsystem_vendor, 4, 16, QChar('0')); + deviceId += QString("%1").arg(subsystem_device, 4, 16, QChar('0')); + } + } else if (QFile::exists(path + "device/idVendor")) { + // USB device + int vendor = readSysAttr(path + "device/idVendor"); + int product = readSysAttr(path + "device/idProduct"); + + if ((vendor >= 0) && (product >= 0)) { + deviceId = 'U'; + deviceId += QString("%1").arg(vendor, 4, 16, QChar('0')); + deviceId += QString("%1").arg(product, 4, 16, QChar('0')); + } + } + + device->startDevice(deviceId); - if (device != NULL) { - if (device->componentRemoved(udi)) { - emit deviceRemoved(device); + if (device->isReady()) { + emit deviceAdded(device); } } } -void DvbDeviceManager::componentAdded(const Solid::Device &component) +void DvbLinuxDeviceManager::componentRemoved(const QString &udi) { - const Solid::DvbInterface *dvbInterface = component.as(); + DvbLinuxDevice *device = udis.take(udi); - if (dvbInterface == NULL) { + if (device == NULL) { return; } - int adapter = dvbInterface->deviceAdapter(); - int index = dvbInterface->deviceIndex(); + bool removeDevice = false; - if ((adapter < 0) || (index < 0)) { - kWarning() << "couldn't determine adapter and/or index for" << component.udi(); - return; + if (udi == device->caUdi) { + device->caPath.clear(); + device->caUdi.clear(); + + if (device->isReady()) { + device->stopCa(); + } + } else if (udi == device->demuxUdi) { + device->demuxPath.clear(); + device->demuxUdi.clear(); + removeDevice = true; + } else if (udi == device->dvrUdi) { + device->dvrPath.clear(); + device->dvrUdi.clear(); + removeDevice = true; + } else if (udi == device->frontendUdi) { + device->frontendPath.clear(); + device->frontendUdi.clear(); + removeDevice = true; } - int deviceIndex = (adapter << 16) | index; + if (removeDevice && device->isReady()) { + emit deviceRemoved(device); + device->stopDevice(); + } +} + +int DvbLinuxDeviceManager::readSysAttr(const QString &path) +{ + QFile file(path); - DvbLinuxDevice *device = devices.value(deviceIndex, NULL); + if (!file.open(QIODevice::ReadOnly)) { + return -1; + } - if (device == NULL) { - device = new DvbLinuxDevice(adapter, index); - devices.insert(deviceIndex, device); + QByteArray data = file.read(8); + + if ((data.size() == 0) || (data.size() == 8)) { + return -1; } - udis.insert(component.udi(), device); + bool ok = false; + int value = data.simplified().toInt(&ok, 0); - if (device->componentAdded(component)) { - emit deviceAdded(device); + if (!ok || (value < 0) || (value > 0xffff)) { + return -1; } + + return value; } diff -Nru kaffeine-1.1/src/dvb/dvbdevice_linux.h kaffeine-1.2.2/src/dvb/dvbdevice_linux.h --- kaffeine-1.1/src/dvb/dvbdevice_linux.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbdevice_linux.h 2011-04-17 21:17:19.000000000 +0200 @@ -21,102 +21,87 @@ #ifndef DVBDEVICE_LINUX_H #define DVBDEVICE_LINUX_H -#include +#include #include "dvbbackenddevice.h" #include "dvbcam_linux.h" -class DvbDeviceThread; - -class DvbLinuxDevice : public DvbBackendDevice +class DvbLinuxDevice : public QThread, public DvbBackendDevice { public: - DvbLinuxDevice(int adapter_, int index_); + explicit DvbLinuxDevice(QObject *parent); ~DvbLinuxDevice(); - bool componentAdded(const Solid::Device &component); - bool componentRemoved(const QString &udi); + bool isReady() const; + void startDevice(const QString &deviceId_); + void startCa(); + void stopCa(); + void stopDevice(); + + QString caPath; + QString caUdi; + QString demuxPath; + QString demuxUdi; + QString dvrPath; + QString dvrUdi; + QString frontendPath; + QString frontendUdi; - void setBuffer(DvbAbstractDeviceBuffer *buffer); +protected: QString getDeviceId(); QString getFrontendName(); TransmissionTypes getTransmissionTypes(); Capabilities getCapabilities(); + void setFrontendDevice(DvbFrontendDevice *frontend_); + void setDeviceEnabled(bool enabled_); bool acquire(); bool setTone(SecTone tone); bool setVoltage(SecVoltage voltage); bool sendMessage(const char *message, int length); bool sendBurst(SecBurst burst); - bool tune(const DvbTransponder &transponder); - int getSignal(); // 0 - 100 ; -1 = unsupported - int getSnr(); // 0 - 100 ; -1 = unsupported + bool tune(const DvbTransponder &transponder); // discards obsolete data bool isTuned(); + int getSignal(); // 0 - 100 [%] or -1 = not supported + int getSnr(); // 0 - 100 [%] or -1 = not supported bool addPidFilter(int pid); void removePidFilter(int pid); - void startDescrambling(const DvbPmtSection &pmtSection); + void startDescrambling(const QByteArray &pmtSectionData); void stopDescrambling(int serviceId); void release(); - int adapter; - int index; - private: - Q_DISABLE_COPY(DvbLinuxDevice) - - enum stateFlag { - CaPresent = (1 << 0), - DemuxPresent = (1 << 1), - DvrPresent = (1 << 2), - FrontendPresent = (1 << 3), - - DevicePresent = (DemuxPresent | DvrPresent | FrontendPresent) - }; - - Q_DECLARE_FLAGS(stateFlags, stateFlag) - - void execute(Command command, ReturnData returnData, Data data); - bool identifyDevice(); - - Solid::Device caComponent; - Solid::Device demuxComponent; - Solid::Device dvrComponent; - Solid::Device frontendComponent; - - QString caPath; - QString demuxPath; - QString dvrPath; - QString frontendPath; + void startDvr(); + void stopDvr(); + void run(); - DvbAbstractDeviceBuffer *buffer; - stateFlags internalState; - TransmissionTypes transmissionTypes; - Capabilities capabilities; + bool ready; QString deviceId; QString frontendName; - bool ready; - DvbDeviceThread *thread; + TransmissionTypes transmissionTypes; + Capabilities capabilities; + DvbFrontendDevice *frontend; + bool enabled; int frontendFd; - int dvrFd; QMap dmxFds; + + int dvrFd; + int dvrPipe[2]; + DvbDataBuffer dvrBuffer; + DvbLinuxCam cam; }; -class DvbDeviceManager : public QObject +class DvbLinuxDeviceManager : public QObject { Q_OBJECT - Q_PROPERTY(int backendMagic READ backendMagic) public: - DvbDeviceManager(); - ~DvbDeviceManager(); - - int backendMagic() - { - return dvbBackendMagic; - } + explicit DvbLinuxDeviceManager(QObject *parent); + ~DvbLinuxDeviceManager(); public slots: void doColdPlug(); signals: + void requestBuiltinDeviceManager(QObject *&bultinDeviceManager); void deviceAdded(DvbBackendDevice *device); void deviceRemoved(DvbBackendDevice *device); @@ -125,7 +110,7 @@ void componentRemoved(const QString &udi); private: - void componentAdded(const Solid::Device &component); + int readSysAttr(const QString &path); QMap devices; QMap udis; diff -Nru kaffeine-1.1/src/dvb/dvbdevice_p.h kaffeine-1.2.2/src/dvb/dvbdevice_p.h --- kaffeine-1.1/src/dvb/dvbdevice_p.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbdevice_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,35 @@ +/* + * dvbdevice_p.h + * + * Copyright (C) 2007-2010 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBDEVICE_P_H +#define DVBDEVICE_P_H + +class DvbDeviceDataBuffer +{ +public: + DvbDeviceDataBuffer() { } + ~DvbDeviceDataBuffer() { } + + char data[5 * 188]; + int size; + DvbDeviceDataBuffer *next; +}; + +#endif /* DVBDEVICE_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbepg.cpp kaffeine-1.2.2/src/dvb/dvbepg.cpp --- kaffeine-1.1/src/dvb/dvbepg.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbepg.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbepg.cpp * - * Copyright (C) 2009 Christoph Pfister + * Copyright (C) 2009-2011 Christoph Pfister * * 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 @@ -19,104 +19,83 @@ */ #include "dvbepg.h" +#include "dvbepg_p.h" -#include #include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include "dvbchannelui.h" +#include "../ensurenopendingoperation.h" +#include "dvbdevice.h" #include "dvbmanager.h" +#include "dvbsi.h" -class DvbEitEntry +bool DvbEpgEntry::validate() const { -public: - DvbEitEntry() : networkId(0), transportStreamId(0), serviceId(0) { } - explicit DvbEitEntry(const DvbChannel *channel); - ~DvbEitEntry() { } - - bool operator==(const DvbEitEntry &other) const - { - return ((source == other.source) && (networkId == other.networkId) && - (transportStreamId == other.transportStreamId) && - (serviceId == other.serviceId)); - } - - QString source; - int networkId; - int transportStreamId; - int serviceId; -}; + if (channel.isValid() && begin.isValid() && (begin.timeSpec() == Qt::UTC) && + duration.isValid()) { + return true; + } -DvbEitEntry::DvbEitEntry(const DvbChannel *channel) -{ - source = channel->source; - networkId = channel->networkId; - transportStreamId = channel->transportStreamId; - serviceId = channel->getServiceId(); + return false; } -static uint qHash(const DvbEitEntry &eitEntry) +bool DvbEpgEntryId::operator<(const DvbEpgEntryId &other) const { - return (qHash(eitEntry.source) ^ (uint(eitEntry.networkId) << 5) ^ - (uint(eitEntry.transportStreamId) << 10) ^ (uint(eitEntry.serviceId) << 15)); -} + if (entry->channel != other.entry->channel) { + return (entry->channel < other.entry->channel); + } -class DvbEpgEntryLess -{ -public: - bool operator()(const DvbEpgEntry &x, const QString &y); - bool operator()(const QString &x, const DvbEpgEntry &y); -}; + if (entry->begin != other.entry->begin) { + return (entry->begin < other.entry->begin); + } -bool DvbEpgEntryLess::operator()(const DvbEpgEntry &x, const QString &y) -{ - return x.channel < y; -} + if (entry->duration != other.entry->duration) { + return (entry->duration < other.entry->duration); + } -bool DvbEpgEntryLess::operator()(const QString &x, const DvbEpgEntry &y) -{ - return x < y.channel; -} + if (entry->title != other.entry->title) { + return (entry->title < other.entry->title); + } -DvbEpgModel::DvbEpgModel(DvbManager *manager_) : QAbstractTableModel(manager_), manager(manager_) -{ - channelModel = manager->getChannelModel(); - connect(channelModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - this, SLOT(channelDataChanged(QModelIndex,QModelIndex))); - connect(channelModel, SIGNAL(layoutChanged()), this, SLOT(channelLayoutChanged())); - connect(channelModel, SIGNAL(modelReset()), this, SLOT(channelModelReset())); - connect(channelModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(channelRowsInserted(QModelIndex,int,int))); - connect(channelModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(channelRowsRemoved(QModelIndex,int,int))); + if (entry->subheading != other.entry->subheading) { + return (entry->subheading < other.entry->subheading); + } - if (channelModel->rowCount() > 0) { - channelRowsInserted(QModelIndex(), 0, channelModel->rowCount() - 1); + if (!entry->details.isEmpty() && !other.entry->details.isEmpty()) { + return (entry->details < other.entry->details); } - epgChannelModel = new QStringListModel(this); + return false; +} + +DvbEpgModel::DvbEpgModel(DvbManager *manager_, QObject *parent) : QObject(parent), + manager(manager_), hasPendingOperation(false) +{ + currentDateTimeUtc = QDateTime::currentDateTime().toUTC(); + startTimer(54000); + + DvbChannelModel *channelModel = manager->getChannelModel(); + connect(channelModel, SIGNAL(channelAboutToBeUpdated(DvbSharedChannel)), + this, SLOT(channelAboutToBeUpdated(DvbSharedChannel))); + connect(channelModel, SIGNAL(channelUpdated(DvbSharedChannel)), + this, SLOT(channelUpdated(DvbSharedChannel))); + connect(channelModel, SIGNAL(channelRemoved(DvbSharedChannel)), + this, SLOT(channelRemoved(DvbSharedChannel))); + connect(manager->getRecordingModel(), SIGNAL(recordingRemoved(DvbSharedRecording)), + this, SLOT(recordingRemoved(DvbSharedRecording))); - connect(manager->getRecordingModel(), SIGNAL(programRemoved(DvbRecordingKey)), - this, SLOT(programRemoved(DvbRecordingKey))); + // TODO use SQL to store epg data QFile file(KStandardDirs::locateLocal("appdata", "epgdata.dvb")); if (!file.open(QIODevice::ReadOnly)) { - kDebug() << "cannot open" << file.fileName(); + kWarning() << "cannot open" << file.fileName(); return; } QDataStream stream(&file); stream.setVersion(QDataStream::Qt_4_4); - + DvbRecordingModel *recordingModel = manager->getRecordingModel(); bool hasRecordingKey = true; int version; stream >> version; @@ -128,20 +107,25 @@ return; } - QDateTime currentDateTime = QDateTime::currentDateTime(); - while (!stream.atEnd()) { DvbEpgEntry entry; - stream >> entry.channel; + QString channelName; + stream >> channelName; + entry.channel = channelModel->findChannelByName(channelName); stream >> entry.begin; + entry.begin = entry.begin.toUTC(); stream >> entry.duration; - entry.end = entry.begin.addMSecs(QTime().msecsTo(entry.duration)); stream >> entry.title; stream >> entry.subheading; stream >> entry.details; if (hasRecordingKey) { - stream >> entry.recordingKey.key; + SqlKey recordingKey; + stream >> recordingKey.sqlKey; + + if (recordingKey.isSqlKeyValid()) { + entry.recording = recordingModel->findRecordingByKey(recordingKey); + } } if (stream.status() != QDataStream::Ok) { @@ -149,31 +133,20 @@ break; } - if (entry.end < currentDateTime) { - continue; - } - - allEntries.append(entry); - - if (entry.recordingKey.isValid()) { - recordingKeys.insert(entry.recordingKey, &allEntries.last()); - } - } - - qSort(allEntries); - - foreach (const DvbEpgEntry &entry, allEntries) { - if (!epgChannels.contains(entry.channel)) { - epgChannels.insert(entry.channel); - int row = epgChannelModel->rowCount(); - epgChannelModel->insertRow(row); - epgChannelModel->setData(epgChannelModel->index(row, 0), entry.channel); - } + addEntry(entry); } } DvbEpgModel::~DvbEpgModel() { + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + } + + if (!dvbEpgFilters.isEmpty() || !atscEpgFilters.isEmpty()) { + kWarning() << "filter list not empty"; + } + QFile file(KStandardDirs::locateLocal("appdata", "epgdata.dvb")); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { @@ -183,344 +156,361 @@ QDataStream stream(&file); stream.setVersion(QDataStream::Qt_4_4); - int version = 0x79cffd36; stream << version; - QDateTime currentDateTime = QDateTime::currentDateTime(); + foreach (const DvbSharedEpgEntry &entry, entries) { + SqlKey recordingKey; - foreach (const DvbEpgEntry &entry, allEntries) { - if (entry.end < currentDateTime) { - continue; + if (entry->recording.isValid()) { + recordingKey = *entry->recording; } - stream << entry.channel; - stream << entry.begin; - stream << entry.duration; - stream << entry.title; - stream << entry.subheading; - stream << entry.details; - stream << entry.recordingKey.key; + stream << entry->channel->name; + stream << entry->begin; + stream << entry->duration; + stream << entry->title; + stream << entry->subheading; + stream << entry->details; + stream << recordingKey.sqlKey; } } -int DvbEpgModel::columnCount(const QModelIndex &parent) const +QMap DvbEpgModel::getEntries() const { - if (parent.isValid()) { - return 0; - } - - return 3; + return entries; } -int DvbEpgModel::rowCount(const QModelIndex &parent) const +QHash DvbEpgModel::getEpgChannels() const { - if (parent.isValid()) { - return 0; - } - - return filteredEntries.size(); + return epgChannels; } -QVariant DvbEpgModel::data(const QModelIndex &index, int role) const +QList DvbEpgModel::getCurrentNext(const DvbSharedChannel &channel) const { - switch (role) { - case Qt::DecorationRole: - if (index.column() == 2) { - const DvbEpgEntry *entry = filteredEntries.at(index.row()); + QList result; + DvbEpgEntry fakeEntry(channel); - if (entry->recordingKey.isValid()) { - return KIcon("media-record"); - } + for (ConstIterator it = entries.lowerBound(DvbEpgEntryId(&fakeEntry)); + it != entries.constEnd(); ++it) { + const DvbSharedEpgEntry &entry = *it; + + if (entry->channel != channel) { + break; } - break; - case Qt::DisplayRole: { - const DvbEpgEntry *entry = filteredEntries.at(index.row()); + result.append(entry); - switch (index.column()) { - case 0: - return KGlobal::locale()->formatDateTime(entry->begin.toLocalTime()); - case 1: - return KGlobal::locale()->formatTime(entry->duration, false, true); - case 2: - return entry->title; + if (result.size() == 2) { + break; } - - break; - } } - return QVariant(); + return result; } -QVariant DvbEpgModel::headerData(int section, Qt::Orientation orientation, int role) const +DvbSharedEpgEntry DvbEpgModel::addEntry(const DvbEpgEntry &entry) { - if ((orientation != Qt::Horizontal) || (role != Qt::DisplayRole)) { - return QVariant(); + if (!entry.validate()) { + kWarning() << "invalid entry"; + return DvbSharedEpgEntry(); } - switch (section) { - case 0: - return i18n("Begin"); - case 1: - return i18n("Duration"); - case 2: - return i18n("Title"); + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return DvbSharedEpgEntry(); } - return QVariant(); -} + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); -void DvbEpgModel::addEntry(const DvbEpgEntry &entry) -{ - QList::const_iterator it = qLowerBound(allEntries, entry); + if (entry.begin.addSecs(QTime().secsTo(entry.duration)) > currentDateTimeUtc) { + DvbSharedEpgEntry existingEntry = entries.value(DvbEpgEntryId(&entry)); - if ((it != allEntries.constEnd()) && - (it->channel == entry.channel) && - (it->begin == entry.begin)) { - // FIXME handle overlap case better - return; - } + if (existingEntry.isValid()) { + if (existingEntry->details.isEmpty() && !entry.details.isEmpty()) { + // needed for atsc + emit entryAboutToBeUpdated(existingEntry); + const_cast(existingEntry.constData())->details = + entry.details; + emit entryUpdated(existingEntry); + } - allEntries.insert(it - allEntries.constBegin(), entry); + return existingEntry; + } - if (!epgChannels.contains(entry.channel)) { - epgChannels.insert(entry.channel); - int row = epgChannelModel->rowCount(); - epgChannelModel->insertRow(row); - epgChannelModel->setData(epgChannelModel->index(row, 0), entry.channel); - } -} + DvbSharedEpgEntry newEntry(new DvbEpgEntry(entry)); + entries.insert(DvbEpgEntryId(newEntry), newEntry); -bool DvbEpgModel::contains(const QString &channel) const -{ - return qBinaryFind(allEntries.constBegin(), allEntries.constEnd(), channel, - DvbEpgEntryLess()) != allEntries.constEnd(); -} + if (newEntry->recording.isValid()) { + recordings.insert(newEntry->recording, newEntry); + } -void DvbEpgModel::resetChannel() -{ - filteredEntries.clear(); - reset(); + if (++epgChannels[newEntry->channel] == 1) { + emit epgChannelAdded(newEntry->channel); + } + + emit entryAdded(newEntry); + return newEntry; + } + + return DvbSharedEpgEntry(); } -void DvbEpgModel::setChannel(const QString &channel) +void DvbEpgModel::scheduleProgram(const DvbSharedEpgEntry &entry, int extraSecondsBefore, + int extraSecondsAfter) { - QList::iterator it = qLowerBound(allEntries.begin(), allEntries.end(), - channel, DvbEpgEntryLess()); - QList::iterator end = qUpperBound(it, allEntries.end(), channel, - DvbEpgEntryLess()); + if (!entry.isValid() || (entries.value(DvbEpgEntryId(entry)) != entry)) { + kWarning() << "invalid entry"; + return; + } - QDateTime currentDateTime = QDateTime::currentDateTime().toUTC(); + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } - while ((it != end) && (it->end <= currentDateTime)) { - ++it; + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + emit entryAboutToBeUpdated(entry); + DvbSharedRecording oldRecording; + + if (!entry->recording.isValid()) { + DvbRecording recording; + recording.name = entry->title; + recording.channel = entry->channel; + recording.begin = entry->begin.addSecs(-extraSecondsBefore); + recording.duration = + entry->duration.addSecs(extraSecondsBefore + extraSecondsAfter); + const_cast(entry.constData())->recording = + manager->getRecordingModel()->addRecording(recording); + recordings.insert(entry->recording, entry); + } else { + oldRecording = entry->recording; + recordings.remove(entry->recording); + const_cast(entry.constData())->recording = DvbSharedRecording(); } - filteredEntries.clear(); + emit entryUpdated(entry); - while (it != end) { - filteredEntries.append(&(*it)); - ++it; + if (oldRecording.isValid()) { + // recordingRemoved() will be called + hasPendingOperation = false; + manager->getRecordingModel()->removeRecording(oldRecording); } - - reset(); } -QAbstractItemModel *DvbEpgModel::createProxyEpgChannelModel(QObject *parent) +void DvbEpgModel::startEventFilter(DvbDevice *device, const DvbSharedChannel &channel) { - QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(parent); - proxyModel->setDynamicSortFilter(true); - proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); - proxyModel->setSortLocaleAware(true); - proxyModel->setSourceModel(epgChannelModel); - return proxyModel; + switch (channel->transponder.getTransmissionType()) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: + case DvbTransponderBase::DvbS: + case DvbTransponderBase::DvbS2: + case DvbTransponderBase::DvbT: + dvbEpgFilters.append(QExplicitlySharedDataPointer( + new DvbEpgFilter(manager, device, channel))); + break; + case DvbTransponderBase::Atsc: + atscEpgFilters.append(QExplicitlySharedDataPointer( + new AtscEpgFilter(manager, device, channel))); + break; + } } -const DvbEpgEntry *DvbEpgModel::getEntry(int row) const +void DvbEpgModel::stopEventFilter(DvbDevice *device, const DvbSharedChannel &channel) { - return filteredEntries.at(row); + switch (channel->transponder.getTransmissionType()) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: + case DvbTransponderBase::DvbS: + case DvbTransponderBase::DvbS2: + case DvbTransponderBase::DvbT: + for (int i = 0; i < dvbEpgFilters.size(); ++i) { + const DvbEpgFilter *epgFilter = dvbEpgFilters.at(i).constData(); + + if ((epgFilter->device == device) && + (epgFilter->source == channel->source) && + (epgFilter->transponder.corresponds(channel->transponder))) { + dvbEpgFilters.removeAt(i); + break; + } + } + + break; + case DvbTransponderBase::Atsc: + for (int i = 0; i < atscEpgFilters.size(); ++i) { + const AtscEpgFilter *epgFilter = atscEpgFilters.at(i).constData(); + + if ((epgFilter->device == device) && + (epgFilter->source == channel->source) && + (epgFilter->transponder.corresponds(channel->transponder))) { + atscEpgFilters.removeAt(i); + break; + } + } + + break; + } } -const DvbChannel *DvbEpgModel::findChannelByEitEntry(const DvbEitEntry &eitEntry) +void DvbEpgModel::channelAboutToBeUpdated(const DvbSharedChannel &channel) { - return eitMapping.value(eitEntry, NULL); + updatingChannel = *channel; } -QList DvbEpgModel::getCurrentNext(const QString &channel) const +void DvbEpgModel::channelUpdated(const DvbSharedChannel &channel) { - QList::const_iterator it = qLowerBound(allEntries.constBegin(), - allEntries.constEnd(), channel, DvbEpgEntryLess()); - QList::const_iterator end = qUpperBound(it, allEntries.constEnd(), channel, - DvbEpgEntryLess()); - - QDateTime currentDateTime = QDateTime::currentDateTime().toUTC(); - - while ((it != end) && (it->end <= currentDateTime)) { - ++it; + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; } - QList result; + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); - while ((it != end) && (result.size() < 2)) { - result.append(*it); - ++it; - } + if (DvbChannelId(channel) != DvbChannelId(&updatingChannel)) { + DvbEpgEntry fakeEntry(channel); + Iterator it = entries.lowerBound(DvbEpgEntryId(&fakeEntry)); - return result; + while ((ConstIterator(it) != entries.constEnd()) && ((*it)->channel == channel)) { + it = removeEntry(it); + } + } } -void DvbEpgModel::scheduleProgram(int row, int extraSecondsBefore, int extraSecondsAfter) +void DvbEpgModel::channelRemoved(const DvbSharedChannel &channel) { - DvbEpgEntry *entry = filteredEntries.at(row); - - if (!entry->recordingKey.isValid()) { - DvbRecordingEntry recordingEntry; - recordingEntry.name = entry->title; - recordingEntry.channelName = entry->channel; - recordingEntry.begin = entry->begin.addSecs(-extraSecondsBefore); - recordingEntry.duration = - entry->duration.addSecs(extraSecondsBefore + extraSecondsAfter); - entry->recordingKey = - manager->getRecordingModel()->scheduleProgram(recordingEntry); - recordingKeys.insert(entry->recordingKey, entry); - } else { - recordingKeys.remove(entry->recordingKey); - manager->getRecordingModel()->removeProgram(entry->recordingKey); - entry->recordingKey = DvbRecordingKey(); + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; } - QModelIndex modelIndex = index(row, 2); - emit dataChanged(modelIndex, modelIndex); -} + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + DvbEpgEntry fakeEntry(channel); + Iterator it = entries.lowerBound(DvbEpgEntryId(&fakeEntry)); -void DvbEpgModel::channelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) -{ - for (int currentRow = topLeft.row(); currentRow <= bottomRight.row(); ++currentRow) { - eitMapping.remove(DvbEitEntry(channels.at(currentRow).constData())); - const DvbChannel *channel = channelModel->data(channelModel->index(currentRow, 0), - DvbChannelModel::DvbChannelRole).value(); - channels.replace(currentRow, - QExplicitlySharedDataPointer(channel)); - eitMapping.insert(DvbEitEntry(channel), channel); + while ((ConstIterator(it) != entries.constEnd()) && ((*it)->channel == channel)) { + it = removeEntry(it); } } -void DvbEpgModel::channelLayoutChanged() +void DvbEpgModel::recordingRemoved(const DvbSharedRecording &recording) { - // not supported - Q_ASSERT(false); -} - -void DvbEpgModel::channelModelReset() -{ - // not supported - Q_ASSERT(false); -} + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } -void DvbEpgModel::channelRowsInserted(const QModelIndex &parent, int start, int end) -{ - Q_UNUSED(parent) + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + DvbSharedEpgEntry entry = recordings.take(recording); - for (int currentRow = start; currentRow <= end; ++currentRow) { - const DvbChannel *channel = channelModel->data(channelModel->index(currentRow, 0), - DvbChannelModel::DvbChannelRole).value(); - channels.insert(currentRow, - QExplicitlySharedDataPointer(channel)); - eitMapping.insert(DvbEitEntry(channel), channel); + if (entry.isValid()) { + emit entryAboutToBeUpdated(entry); + const_cast(entry.constData())->recording = DvbSharedRecording(); + emit entryUpdated(entry); } } -void DvbEpgModel::channelRowsRemoved(const QModelIndex &parent, int start, int end) +void DvbEpgModel::timerEvent(QTimerEvent *event) { - Q_UNUSED(parent) + Q_UNUSED(event) - for (int currentRow = start; currentRow <= end; ++currentRow) { - eitMapping.remove(DvbEitEntry(channels.at(currentRow).constData())); + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; } - channels.erase(channels.begin() + start, channels.begin() + end + 1); -} - -void DvbEpgModel::programRemoved(const DvbRecordingKey &recordingKey) -{ - DvbEpgEntry *entry = recordingKeys.value(recordingKey, NULL); + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); + currentDateTimeUtc = QDateTime::currentDateTime().toUTC(); + Iterator it = entries.begin(); - if (entry != NULL) { - entry->recordingKey = DvbRecordingKey(); - int row = filteredEntries.indexOf(entry); + while (ConstIterator(it) != entries.constEnd()) { + const DvbSharedEpgEntry &entry = *it; - if (row >= 0) { - QModelIndex modelIndex = index(row, 2); - emit dataChanged(modelIndex, modelIndex); + if (entry->begin.addSecs(QTime().secsTo(entry->duration)) > currentDateTimeUtc) { + ++it; + } else { + it = removeEntry(it); } } } -DvbEitFilter::DvbEitFilter() : manager(NULL), model(NULL) +DvbEpgModel::Iterator DvbEpgModel::removeEntry(Iterator it) { -} + const DvbSharedEpgEntry &entry = *it; -DvbEitFilter::~DvbEitFilter() -{ + if (entry->recording.isValid()) { + recordings.remove(entry->recording); + } + + if (--epgChannels[entry->channel] == 0) { + epgChannels.remove(entry->channel); + emit epgChannelRemoved(entry->channel); + } + + emit entryRemoved(entry); + return entries.erase(it); } -void DvbEitFilter::setManager(DvbManager *manager_) +DvbEpgFilter::DvbEpgFilter(DvbManager *manager, DvbDevice *device_, + const DvbSharedChannel &channel) : device(device_) { - manager = manager_; - model = manager->getEpgModel(); + source = channel->source; + transponder = channel->transponder; + device->addSectionFilter(0x12, this); + channelModel = manager->getChannelModel(); + epgModel = manager->getEpgModel(); } -void DvbEitFilter::setSource(const QString &source_) +DvbEpgFilter::~DvbEpgFilter() { - source = source_; + device->removeSectionFilter(0x12, this); } -QTime DvbEitFilter::bcdToTime(int bcd) +QTime DvbEpgFilter::bcdToTime(int bcd) { return QTime(((bcd >> 20) & 0x0f) * 10 + ((bcd >> 16) & 0x0f), - ((bcd >> 12) & 0x0f) * 10 + ((bcd >> 8) & 0x0f), - ((bcd >> 4) & 0x0f) * 10 + (bcd & 0x0f)); + ((bcd >> 12) & 0x0f) * 10 + ((bcd >> 8) & 0x0f), + ((bcd >> 4) & 0x0f) * 10 + (bcd & 0x0f)); } -void DvbEitFilter::processSection(const QByteArray &data) +void DvbEpgFilter::processSection(const char *data, int size) { - DvbEitSection eitSection(data); + unsigned char tableId = data[0]; - if (!eitSection.isValid() || - (eitSection.tableId() < 0x4e) || (eitSection.tableId() > 0x6f)) { + if ((tableId < 0x4e) || (tableId > 0x6f)) { return; } - int transportStreamId = eitSection.transportStreamId(); - int serviceId = eitSection.serviceId(); - int networkId = eitSection.originalNetworkId(); + DvbEitSection eitSection(data, size); - for (DvbEitSectionEntry entry = eitSection.entries(); entry.isValid(); entry.advance()) { - DvbEitEntry eitEntry; - eitEntry.source = source; - eitEntry.transportStreamId = transportStreamId; - eitEntry.serviceId = serviceId; - eitEntry.networkId = networkId; - - const DvbChannel *channel = model->findChannelByEitEntry(eitEntry); + if (!eitSection.isValid()) { + return; + } - if (channel == NULL) { - eitEntry.networkId = -1; - channel = model->findChannelByEitEntry(eitEntry); - } + DvbChannel fakeChannel; + fakeChannel.source = source; + fakeChannel.transponder = transponder; + fakeChannel.networkId = eitSection.originalNetworkId(); + fakeChannel.transportStreamId = eitSection.transportStreamId(); + fakeChannel.serviceId = eitSection.serviceId(); + DvbSharedChannel channel = channelModel->findChannelById(fakeChannel); + + if (!channel.isValid()) { + fakeChannel.networkId = -1; + channel = channelModel->findChannelById(fakeChannel); + } - if (channel == NULL) { - continue; - } + if (!channel.isValid()) { + return; + } + for (DvbEitSectionEntry entry = eitSection.entries(); entry.isValid(); entry.advance()) { DvbEpgEntry epgEntry; - epgEntry.channel = channel->name; + epgEntry.channel = channel; epgEntry.begin = QDateTime(QDate::fromJulianDay(entry.startDate() + 2400001), - bcdToTime(entry.startTime()), Qt::UTC); + bcdToTime(entry.startTime()), Qt::UTC); epgEntry.duration = bcdToTime(entry.duration()); - epgEntry.end = epgEntry.begin.addSecs(QTime().secsTo(epgEntry.duration)); for (DvbDescriptor descriptor = entry.descriptors(); descriptor.isValid(); descriptor.advance()) { @@ -536,7 +526,6 @@ epgEntry.subheading = eventDescriptor.text(); break; } - case 0x4e: { DvbExtendedEventDescriptor eventDescriptor(descriptor); @@ -550,121 +539,204 @@ } } - model->addEntry(epgEntry); + epgModel->addEntry(epgEntry); } } -DvbEpgDialog::DvbEpgDialog(DvbManager *manager_, const QString ¤tChannel, QWidget *parent) : - KDialog(parent), manager(manager_) +void AtscEpgMgtFilter::processSection(const char *data, int size) { - setButtons(KDialog::Close); - setCaption(i18n("Program Guide")); + epgFilter->processMgtSection(data, size); +} - QWidget *widget = new QWidget(this); - QBoxLayout *mainLayout = new QHBoxLayout(widget); +void AtscEpgEitFilter::processSection(const char *data, int size) +{ + epgFilter->processEitSection(data, size); +} +void AtscEpgEttFilter::processSection(const char *data, int size) +{ + epgFilter->processEttSection(data, size); +} + +AtscEpgFilter::AtscEpgFilter(DvbManager *manager, DvbDevice *device_, + const DvbSharedChannel &channel) : device(device_), mgtFilter(this), eitFilter(this), + ettFilter(this) +{ + source = channel->source; + transponder = channel->transponder; + device->addSectionFilter(0x1ffb, &mgtFilter); + channelModel = manager->getChannelModel(); epgModel = manager->getEpgModel(); +} - channelView = new QListView(widget); - channelView->setEditTriggers(QListView::NoEditTriggers); - QAbstractItemModel *channelModel = epgModel->createProxyEpgChannelModel(channelView); - channelModel->sort(0, Qt::AscendingOrder); - channelView->setModel(channelModel); - channelView->setMaximumWidth(200); - connect(channelView, SIGNAL(activated(QModelIndex)), - this, SLOT(channelActivated(QModelIndex))); - mainLayout->addWidget(channelView); - - QBoxLayout *boxLayout = new QVBoxLayout(); - - KAction *scheduleAction = new KAction(KIcon("media-record"), - i18nc("program guide", "Schedule Program"), this); - connect(scheduleAction, SIGNAL(triggered()), this, SLOT(scheduleProgram())); - - QPushButton *pushButton = new QPushButton(KIcon("media-record"), - i18nc("program guide", "Schedule Program"), this); - pushButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); - connect(pushButton, SIGNAL(clicked()), this, SLOT(scheduleProgram())); - boxLayout->addWidget(pushButton); - - epgView = new QTreeView(widget); - epgView->addAction(scheduleAction); - epgView->setContextMenuPolicy(Qt::ActionsContextMenu); - epgView->setMinimumWidth(450); - epgView->setModel(epgModel); - epgView->setRootIsDecorated(false); - connect(epgView, SIGNAL(activated(QModelIndex)), this, SLOT(entryActivated(QModelIndex))); - boxLayout->addWidget(epgView); - - contentLabel = new QLabel(widget); - contentLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); - contentLabel->setMargin(5); - contentLabel->setWordWrap(true); - - QScrollArea *scrollArea = new QScrollArea(widget); - scrollArea->setBackgroundRole(QPalette::Light); - scrollArea->setMinimumHeight(175); - scrollArea->setWidget(contentLabel); - scrollArea->setWidgetResizable(true); - boxLayout->addWidget(scrollArea); - mainLayout->addLayout(boxLayout); - - QModelIndexList currentIndexes = channelModel->match(channelModel->index(0, 0), - Qt::DisplayRole, currentChannel, 1, Qt::MatchExactly); - - if (!currentIndexes.isEmpty()) { - QModelIndex index = currentIndexes.at(0); - channelView->setCurrentIndex(index); - channelActivated(index); - } else { - epgModel->resetChannel(); +AtscEpgFilter::~AtscEpgFilter() +{ + foreach (int pid, eitPids) { + device->removeSectionFilter(pid, &eitFilter); } - setMainWidget(widget); -} + foreach (int pid, ettPids) { + device->removeSectionFilter(pid, &ettFilter); + } -DvbEpgDialog::~DvbEpgDialog() -{ + device->removeSectionFilter(0x1ffb, &mgtFilter); } -void DvbEpgDialog::channelActivated(const QModelIndex &index) +void AtscEpgFilter::processMgtSection(const char *data, int size) { - epgModel->setChannel(channelView->model()->data(index).toString()); - epgView->resizeColumnToContents(0); - epgView->resizeColumnToContents(1); + unsigned char tableId = data[0]; - if (epgModel->rowCount() >= 1) { - QModelIndex index = epgModel->index(0, 0); - epgView->setCurrentIndex(index); - entryActivated(index); - } else { - contentLabel->setText(QString()); + if (tableId != 0xc7) { + return; + } + + AtscMgtSection mgtSection(data, size); + + if (!mgtSection.isValid()) { + return; + } + + int entryCount = mgtSection.entryCount(); + QList newEitPids; + QList newEttPids; + + for (AtscMgtSectionEntry entry = mgtSection.entries(); (entryCount > 0) && entry.isValid(); + --entryCount, entry.advance()) { + int tableType = entry.tableType(); + + if ((tableType >= 0x0100) && (tableType <= 0x017f)) { + int pid = entry.pid(); + int index = (qLowerBound(newEitPids, pid) - newEitPids.constBegin()); + + if ((index >= newEitPids.size()) || (newEitPids.at(index) != pid)) { + newEitPids.insert(index, pid); + } + } + + if ((tableType >= 0x0200) && (tableType <= 0x027f)) { + int pid = entry.pid(); + int index = (qLowerBound(newEttPids, pid) - newEttPids.constBegin()); + + if ((index >= newEttPids.size()) || (newEttPids.at(index) != pid)) { + newEttPids.insert(index, pid); + } + } + } + + for (int i = 0; i < eitPids.size(); ++i) { + int pid = eitPids.at(i); + int index = (qBinaryFind(newEitPids, pid) - newEitPids.constBegin()); + + if (index < newEitPids.size()) { + newEitPids.removeAt(index); + } else { + device->removeSectionFilter(pid, &eitFilter); + eitPids.removeAt(i); + --i; + } + } + + for (int i = 0; i < ettPids.size(); ++i) { + int pid = ettPids.at(i); + int index = (qBinaryFind(newEttPids, pid) - newEttPids.constBegin()); + + if (index < newEttPids.size()) { + newEttPids.removeAt(index); + } else { + device->removeSectionFilter(pid, &ettFilter); + ettPids.removeAt(i); + --i; + } + } + + for (int i = 0; i < newEitPids.size(); ++i) { + int pid = newEitPids.at(i); + eitPids.append(pid); + device->addSectionFilter(pid, &eitFilter); + } + + for (int i = 0; i < newEttPids.size(); ++i) { + int pid = newEttPids.at(i); + ettPids.append(pid); + device->addSectionFilter(pid, &ettFilter); } } -void DvbEpgDialog::entryActivated(const QModelIndex &index) +void AtscEpgFilter::processEitSection(const char *data, int size) { - const DvbEpgEntry *entry = epgModel->getEntry(index.row()); - QString text = i18n("%1
", entry->title); + unsigned char tableId = data[0]; - if (!entry->subheading.isEmpty()) { - text += i18n("%1
", entry->subheading); + if (tableId != 0xcb) { + return; } - text += i18n("%1 - %2

", - KGlobal::locale()->formatDateTime(entry->begin.toLocalTime(), KLocale::LongDate), - KGlobal::locale()->formatTime(entry->end.toLocalTime().time())); + AtscEitSection eitSection(data, size); - text += entry->details; - contentLabel->setText(text); + if (!eitSection.isValid()) { + return; + } + + DvbChannel fakeChannel; + fakeChannel.source = source; + fakeChannel.transponder = transponder; + fakeChannel.networkId = eitSection.sourceId(); + DvbSharedChannel channel = channelModel->findChannelById(fakeChannel); + + if (!channel.isValid()) { + return; + } + + int entryCount = eitSection.entryCount(); + // 1980-01-06T000000 minus 15 secs (= UTC - GPS in 2011) + QDateTime baseDateTime = QDateTime(QDate(1980, 1, 5), QTime(23, 59, 45), Qt::UTC); + + for (AtscEitSectionEntry entry = eitSection.entries(); (entryCount > 0) && entry.isValid(); + --entryCount, entry.advance()) { + DvbEpgEntry epgEntry; + epgEntry.channel = channel; + epgEntry.begin = baseDateTime.addSecs(entry.startTime()); + epgEntry.duration = QTime().addSecs(entry.duration()); + epgEntry.title = entry.title(); + + quint32 id = ((quint32(fakeChannel.networkId) << 16) | quint32(entry.eventId())); + DvbSharedEpgEntry entry = epgEntries.value(id); + + if (entry.isValid() && (entry->channel == epgEntry.channel) && + (entry->begin == epgEntry.begin) && (entry->duration == epgEntry.duration) && + (entry->title == epgEntry.title)) { + continue; + } + + entry = epgModel->addEntry(epgEntry); + epgEntries.insert(id, entry); + } } -void DvbEpgDialog::scheduleProgram() +void AtscEpgFilter::processEttSection(const char *data, int size) { - QModelIndex index = epgView->currentIndex(); + unsigned char tableId = data[0]; + + if (tableId != 0xcc) { + return; + } + + AtscEttSection ettSection(data, size); - if (index.isValid()) { - epgModel->scheduleProgram(index.row(), manager->getBeginMargin(), - manager->getEndMargin()); + if (!ettSection.isValid() || (ettSection.messageType() != 0x02)) { + return; + } + + quint32 id = ((quint32(ettSection.sourceId()) << 16) | quint32(ettSection.eventId())); + DvbSharedEpgEntry entry = epgEntries.value(id); + + if (entry.isValid()) { + QString details = ettSection.text(); + + if (entry->details != details) { + DvbEpgEntry modifiedEntry = *entry; + modifiedEntry.details = details; + entry = epgModel->addEntry(modifiedEntry); + epgEntries.insert(id, entry); + } } } diff -Nru kaffeine-1.1/src/dvb/dvbepgdialog.cpp kaffeine-1.2.2/src/dvb/dvbepgdialog.cpp --- kaffeine-1.1/src/dvb/dvbepgdialog.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbepgdialog.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,419 @@ +/* + * dvbepgdialog.cpp + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "dvbepgdialog.h" +#include "dvbepgdialog_p.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "dvbmanager.h" + +DvbEpgDialog::DvbEpgDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), + manager(manager_) +{ + setButtons(KDialog::Close); + setCaption(i18nc("@title:window", "Program Guide")); + + QWidget *widget = new QWidget(this); + QBoxLayout *mainLayout = new QHBoxLayout(widget); + + epgChannelTableModel = new DvbEpgChannelTableModel(this); + epgChannelTableModel->setManager(manager); + channelView = new QTreeView(widget); + channelView->setMaximumWidth(30 * fontMetrics().averageCharWidth()); + channelView->setModel(epgChannelTableModel); + channelView->setRootIsDecorated(false); + channelView->setUniformRowHeights(true); + connect(channelView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), + this, SLOT(channelActivated(QModelIndex))); + mainLayout->addWidget(channelView); + + QBoxLayout *rightLayout = new QVBoxLayout(); + QBoxLayout *boxLayout = new QHBoxLayout(); + + KAction *scheduleAction = new KAction(KIcon("media-record"), + i18nc("@action:inmenu tv show", "Record Show"), this); + connect(scheduleAction, SIGNAL(triggered()), this, SLOT(scheduleProgram())); + + QPushButton *pushButton = + new QPushButton(scheduleAction->icon(), scheduleAction->text(), widget); + connect(pushButton, SIGNAL(clicked()), this, SLOT(scheduleProgram())); + boxLayout->addWidget(pushButton); + + boxLayout->addWidget(new QLabel(i18nc("@label:textbox", "Search:"), widget)); + + epgTableModel = new DvbEpgTableModel(this); + epgTableModel->setEpgModel(manager->getEpgModel()); + connect(epgTableModel, SIGNAL(layoutChanged()), this, SLOT(checkEntry())); + KLineEdit *lineEdit = new KLineEdit(widget); + lineEdit->setClearButtonShown(true); + connect(lineEdit, SIGNAL(textChanged(QString)), + epgTableModel, SLOT(setContentFilter(QString))); + boxLayout->addWidget(lineEdit); + rightLayout->addLayout(boxLayout); + + epgView = new QTreeView(widget); + epgView->addAction(scheduleAction); + epgView->header()->setResizeMode(QHeaderView::ResizeToContents); + epgView->setContextMenuPolicy(Qt::ActionsContextMenu); + epgView->setMinimumWidth(75 * fontMetrics().averageCharWidth()); + epgView->setModel(epgTableModel); + epgView->setRootIsDecorated(false); + epgView->setUniformRowHeights(true); + connect(epgView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), + this, SLOT(entryActivated(QModelIndex))); + rightLayout->addWidget(epgView); + + contentLabel = new QLabel(widget); + contentLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); + contentLabel->setMargin(5); + contentLabel->setWordWrap(true); + + QScrollArea *scrollArea = new QScrollArea(widget); + scrollArea->setBackgroundRole(QPalette::Light); + scrollArea->setMinimumHeight(12 * fontMetrics().height()); + scrollArea->setWidget(contentLabel); + scrollArea->setWidgetResizable(true); + rightLayout->addWidget(scrollArea); + mainLayout->addLayout(rightLayout); + setMainWidget(widget); +} + +DvbEpgDialog::~DvbEpgDialog() +{ +} + +void DvbEpgDialog::setCurrentChannel(const DvbSharedChannel &channel) +{ + channelView->setCurrentIndex(epgChannelTableModel->find(channel)); +} + +void DvbEpgDialog::channelActivated(const QModelIndex &index) +{ + if (!index.isValid()) { + epgTableModel->setChannelFilter(DvbSharedChannel()); + return; + } + + epgTableModel->setChannelFilter(epgChannelTableModel->value(index)); + epgView->setCurrentIndex(epgTableModel->index(0, 0)); +} + +void DvbEpgDialog::entryActivated(const QModelIndex &index) +{ + const DvbSharedEpgEntry &entry = epgTableModel->value(index.row()); + + if (!entry.isValid()) { + contentLabel->setText(QString()); + return; + } + + QString text = i18nc("@info tv show title", + "%1
", entry->title); + + if (!entry->subheading.isEmpty()) { + text += i18nc("@info tv show subheading", "%1
", + entry->subheading); + } + + QDateTime begin = entry->begin.toLocalTime(); + QTime end = entry->begin.addSecs(QTime().secsTo(entry->duration)).toLocalTime().time(); + text += i18nc("@info tv show start, end", "%1 - %2

", + KGlobal::locale()->formatDateTime(begin, KLocale::LongDate), + KGlobal::locale()->formatTime(end)); + text += entry->details; + contentLabel->setText(text); +} + +void DvbEpgDialog::checkEntry() +{ + if (!epgView->currentIndex().isValid()) { + // FIXME workaround --> file bug + contentLabel->setText(QString()); + } +} + +void DvbEpgDialog::scheduleProgram() +{ + const DvbSharedEpgEntry &entry = epgTableModel->value(epgView->currentIndex()); + + if (entry.isValid()) { + manager->getEpgModel()->scheduleProgram(entry, manager->getBeginMargin(), + manager->getEndMargin()); + } +} + +bool DvbEpgEntryLessThan::operator()(const DvbSharedEpgEntry &x, const DvbSharedEpgEntry &y) const +{ + if (x->channel != y->channel) { + return (x->channel->name.localeAwareCompare(y->channel->name) < 0); + } + + if (x->begin != y->begin) { + return (x->begin < y->begin); + } + + if (x->duration != y->duration) { + return (x->duration < y->duration); + } + + if (x->title != y->title) { + return (x->title < y->title); + } + + if (x->subheading != y->subheading) { + return (x->subheading < y->subheading); + } + + if (x->details < y->details) { + return (x->details < y->details); + } + + return (x < y); +} + +DvbEpgChannelTableModel::DvbEpgChannelTableModel(QObject *parent) : + TableModel(parent) +{ +} + +DvbEpgChannelTableModel::~DvbEpgChannelTableModel() +{ +} + +void DvbEpgChannelTableModel::setManager(DvbManager *manager) +{ + DvbEpgModel *epgModel = manager->getEpgModel(); + connect(epgModel, SIGNAL(epgChannelAdded(DvbSharedChannel)), + this, SLOT(epgChannelAdded(DvbSharedChannel))); + connect(epgModel, SIGNAL(epgChannelRemoved(DvbSharedChannel)), + this, SLOT(epgChannelRemoved(DvbSharedChannel))); + // theoretically we should monitor the channel model for updated channels, + // but it's very unlikely that this has practical relevance + + QHeaderView *headerView = manager->getChannelView()->header(); + DvbChannelLessThan::SortOrder sortOrder; + + if (headerView->sortIndicatorOrder() == Qt::AscendingOrder) { + if (headerView->sortIndicatorSection() == 0) { + sortOrder = DvbChannelLessThan::ChannelNameAscending; + } else { + sortOrder = DvbChannelLessThan::ChannelNumberAscending; + } + } else { + if (headerView->sortIndicatorSection() == 0) { + sortOrder = DvbChannelLessThan::ChannelNameDescending; + } else { + sortOrder = DvbChannelLessThan::ChannelNumberDescending; + } + } + + internalSort(sortOrder); + resetFromKeys(epgModel->getEpgChannels()); +} + +QVariant DvbEpgChannelTableModel::data(const QModelIndex &index, int role) const +{ + const DvbSharedChannel &channel = value(index); + + if (channel.isValid() && (role == Qt::DisplayRole) && (index.column() == 0)) { + return channel->name; + } + + return QVariant(); +} + +QVariant DvbEpgChannelTableModel::headerData(int section, Qt::Orientation orientation, + int role) const +{ + if ((section == 0) && (orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { + return i18nc("@title:column tv show", "Channel"); + } + + return QVariant(); +} + +void DvbEpgChannelTableModel::epgChannelAdded(const DvbSharedChannel &channel) +{ + insert(channel); +} + +void DvbEpgChannelTableModel::epgChannelRemoved(const DvbSharedChannel &channel) +{ + remove(channel); +} + +bool DvbEpgTableModelHelper::filterAcceptsItem(const DvbSharedEpgEntry &entry) const +{ + switch (filterType) { + case ChannelFilter: + return (entry->channel == channelFilter); + case ContentFilter: + return ((contentFilter.indexIn(entry->title) >= 0) || + (contentFilter.indexIn(entry->subheading) >= 0) || + (contentFilter.indexIn(entry->details) >= 0)); + } + + return false; +} + +DvbEpgTableModel::DvbEpgTableModel(QObject *parent) : TableModel(parent), + epgModel(NULL), contentFilterEventPending(false) +{ + helper.contentFilter.setCaseSensitivity(Qt::CaseInsensitive); +} + +DvbEpgTableModel::~DvbEpgTableModel() +{ +} + +void DvbEpgTableModel::setEpgModel(DvbEpgModel *epgModel_) +{ + if (epgModel != NULL) { + kWarning() << "epg model already set"; + return; + } + + epgModel = epgModel_; + connect(epgModel, SIGNAL(entryAdded(DvbSharedEpgEntry)), + this, SLOT(entryAdded(DvbSharedEpgEntry))); + connect(epgModel, SIGNAL(entryAboutToBeUpdated(DvbSharedEpgEntry)), + this, SLOT(entryAboutToBeUpdated(DvbSharedEpgEntry))); + connect(epgModel, SIGNAL(entryUpdated(DvbSharedEpgEntry)), + this, SLOT(entryUpdated(DvbSharedEpgEntry))); + connect(epgModel, SIGNAL(entryRemoved(DvbSharedEpgEntry)), + this, SLOT(entryRemoved(DvbSharedEpgEntry))); +} + +void DvbEpgTableModel::setChannelFilter(const DvbSharedChannel &channel) +{ + helper.channelFilter = channel; + helper.contentFilter.setPattern(QString()); + helper.filterType = DvbEpgTableModelHelper::ChannelFilter; + reset(epgModel->getEntries()); +} + +QVariant DvbEpgTableModel::data(const QModelIndex &index, int role) const +{ + const DvbSharedEpgEntry &entry = value(index); + + if (entry.isValid()) { + switch (role) { + case Qt::DecorationRole: + if ((index.column() == 2) && entry->recording.isValid()) { + return KIcon("media-record"); + } + + break; + case Qt::DisplayRole: + switch (index.column()) { + case 0: + return KGlobal::locale()->formatDateTime( + entry->begin.toLocalTime()); + case 1: + return KGlobal::locale()->formatTime(entry->duration, false, true); + case 2: + return entry->title; + case 3: + return entry->channel->name; + } + + break; + } + } + + return QVariant(); +} + +QVariant DvbEpgTableModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if ((orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { + switch (section) { + case 0: + return i18nc("@title:column tv show", "Start"); + case 1: + return i18nc("@title:column tv show", "Duration"); + case 2: + return i18nc("@title:column tv show", "Title"); + case 3: + return i18nc("@title:column tv show", "Channel"); + } + } + + return QVariant(); +} + +void DvbEpgTableModel::setContentFilter(const QString &pattern) +{ + helper.channelFilter = DvbSharedChannel(); + helper.contentFilter.setPattern(pattern); + + if (!pattern.isEmpty()) { + helper.filterType = DvbEpgTableModelHelper::ContentFilter; + + if (!contentFilterEventPending) { + contentFilterEventPending = true; + QCoreApplication::postEvent(this, new QEvent(QEvent::User), + Qt::LowEventPriority); + } + } else { + // use channel filter so that content won't be unnecessarily filtered + helper.filterType = DvbEpgTableModelHelper::ChannelFilter; + reset(QMap()); + } +} + +void DvbEpgTableModel::entryAdded(const DvbSharedEpgEntry &entry) +{ + insert(entry); +} + +void DvbEpgTableModel::entryAboutToBeUpdated(const DvbSharedEpgEntry &entry) +{ + aboutToUpdate(entry); +} + +void DvbEpgTableModel::entryUpdated(const DvbSharedEpgEntry &entry) +{ + update(entry); +} + +void DvbEpgTableModel::entryRemoved(const DvbSharedEpgEntry &entry) +{ + remove(entry); +} + +void DvbEpgTableModel::customEvent(QEvent *event) +{ + Q_UNUSED(event) + contentFilterEventPending = false; + + if (helper.filterType == DvbEpgTableModelHelper::ContentFilter) { + reset(epgModel->getEntries()); + } +} diff -Nru kaffeine-1.1/src/dvb/dvbepgdialog.h kaffeine-1.2.2/src/dvb/dvbepgdialog.h --- kaffeine-1.1/src/dvb/dvbepgdialog.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbepgdialog.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,58 @@ +/* + * dvbepgdialog.h + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBEPGDIALOG_H +#define DVBEPGDIALOG_H + +#include +#include "dvbchannel.h" + +class QLabel; +class QModelIndex; +class QTreeView; +class DvbEpgChannelTableModel; +class DvbEpgTableModel; +class DvbManager; + +class DvbEpgDialog : public KDialog +{ + Q_OBJECT +public: + DvbEpgDialog(DvbManager *manager_, QWidget *parent); + ~DvbEpgDialog(); + + void setCurrentChannel(const DvbSharedChannel &channel); + +private slots: + void channelActivated(const QModelIndex &index); + void entryActivated(const QModelIndex &index); + void checkEntry(); + void scheduleProgram(); + +private: + DvbManager *manager; + DvbEpgChannelTableModel *epgChannelTableModel; + DvbEpgTableModel *epgTableModel; + QTreeView *channelView; + QTreeView *epgView; + QLabel *contentLabel; +}; + +#endif /* DVBEPGDIALOG_H */ diff -Nru kaffeine-1.1/src/dvb/dvbepgdialog_p.h kaffeine-1.2.2/src/dvb/dvbepgdialog_p.h --- kaffeine-1.1/src/dvb/dvbepgdialog_p.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbepgdialog_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,146 @@ +/* + * dvbepgdialog_p.h + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBEPGDIALOG_P_H +#define DVBEPGDIALOG_P_H + +#include "dvbchanneldialog.h" +#include "dvbepg.h" + +class DvbEpgEntryLessThan +{ +public: + DvbEpgEntryLessThan() { } + ~DvbEpgEntryLessThan() { } + + enum SortOrder + { + }; + + SortOrder getSortOrder() const + { + return SortOrder(); + } + + void setSortOrder(SortOrder sortOrder_) + { + Q_UNUSED(sortOrder_) + } + + bool operator()(const DvbSharedEpgEntry &x, const DvbSharedEpgEntry &y) const; +}; + +class DvbEpgChannelTableModelHelper +{ +public: + DvbEpgChannelTableModelHelper() { } + ~DvbEpgChannelTableModelHelper() { } + + typedef DvbSharedChannel ItemType; + typedef DvbChannelLessThan LessThanType; + + int columnCount() const + { + return 1; + } + + bool filterAcceptsItem(const DvbSharedChannel &channel) const + { + Q_UNUSED(channel) + return true; + } +}; + +class DvbEpgChannelTableModel : public TableModel +{ + Q_OBJECT +public: + explicit DvbEpgChannelTableModel(QObject *parent); + ~DvbEpgChannelTableModel(); + + void setManager(DvbManager *manager); + + QVariant data(const QModelIndex &index, int role) const; + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + +private slots: + void epgChannelAdded(const DvbSharedChannel &channel); + void epgChannelRemoved(const DvbSharedChannel &channel); +}; + +class DvbEpgTableModelHelper +{ +public: + DvbEpgTableModelHelper() : filterType(ChannelFilter) { } + ~DvbEpgTableModelHelper() { } + + typedef DvbSharedEpgEntry ItemType; + typedef DvbEpgEntryLessThan LessThanType; + + enum FilterType { + ChannelFilter, + ContentFilter + }; + + int columnCount() const + { + return 4; + } + + bool filterAcceptsItem(const DvbSharedEpgEntry &epgEntry) const; + + DvbSharedChannel channelFilter; + QStringMatcher contentFilter; + FilterType filterType; + +private: + Q_DISABLE_COPY(DvbEpgTableModelHelper) +}; + +class DvbEpgTableModel : public TableModel +{ + Q_OBJECT +public: + explicit DvbEpgTableModel(QObject *parent); + ~DvbEpgTableModel(); + + void setEpgModel(DvbEpgModel *epgModel_); + void setChannelFilter(const DvbSharedChannel &channel); + + QVariant data(const QModelIndex &index, int role) const; + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + +public slots: + void setContentFilter(const QString &pattern); + +private slots: + void entryAdded(const DvbSharedEpgEntry &entry); + void entryAboutToBeUpdated(const DvbSharedEpgEntry &entry); + void entryUpdated(const DvbSharedEpgEntry &entry); + void entryRemoved(const DvbSharedEpgEntry &entry); + +private: + void customEvent(QEvent *event); + + DvbEpgModel *epgModel; + bool contentFilterEventPending; +}; + +#endif /* DVBEPGDIALOG_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbepg.h kaffeine-1.2.2/src/dvb/dvbepg.h --- kaffeine-1.1/src/dvb/dvbepg.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbepg.h 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbepg.h * - * Copyright (C) 2009 Christoph Pfister + * Copyright (C) 2009-2011 Christoph Pfister * * 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 @@ -21,121 +21,99 @@ #ifndef DVBEPG_H #define DVBEPG_H -#include -#include #include "dvbrecording.h" -#include "dvbsi.h" -class QLabel; -class QListView; -class QStringListModel; -class QTreeView; -class DvbChannelModel; -class DvbEitEntry; +class AtscEpgFilter; +class DvbDevice; +class DvbEpgFilter; -class DvbEpgEntry +class DvbEpgEntry : public SharedData { public: - QString channel; - QDateTime begin; + DvbEpgEntry() { } + explicit DvbEpgEntry(const DvbSharedChannel &channel_) : channel(channel_) { } + ~DvbEpgEntry() { } + + // checks that all variables are ok + bool validate() const; + + DvbSharedChannel channel; + QDateTime begin; // UTC QTime duration; - QDateTime end; QString title; QString subheading; QString details; - DvbRecordingKey recordingKey; - - bool operator<(const DvbEpgEntry &x) const - { - if (channel != x.channel) { - return channel < x.channel; - } - - return begin < x.begin; - } + DvbSharedRecording recording; }; -class DvbEpgModel : public QAbstractTableModel -{ - Q_OBJECT -public: - explicit DvbEpgModel(DvbManager *manager_); - ~DvbEpgModel(); - - void addEntry(const DvbEpgEntry &entry); - bool contains(const QString &channel) const; - void resetChannel(); - void setChannel(const QString &channel); - QAbstractItemModel *createProxyEpgChannelModel(QObject *parent); - const DvbEpgEntry *getEntry(int row) const; - const DvbChannel *findChannelByEitEntry(const DvbEitEntry &eitEntry); - QList getCurrentNext(const QString &channel) const; - void scheduleProgram(int row, int extraSecondsBefore, int extraSecondsAfter); - - int columnCount(const QModelIndex &parent) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - QVariant data(const QModelIndex &index, int role) const; - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - -private slots: - void channelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); - void channelLayoutChanged(); - void channelModelReset(); - void channelRowsInserted(const QModelIndex &parent, int start, int end); - void channelRowsRemoved(const QModelIndex &parent, int start, int end); - void programRemoved(const DvbRecordingKey &recordingKey); +typedef ExplicitlySharedDataPointer DvbSharedEpgEntry; +Q_DECLARE_TYPEINFO(DvbSharedEpgEntry, Q_MOVABLE_TYPE); -private: - DvbManager *manager; - DvbChannelModel *channelModel; - QStringListModel *epgChannelModel; - QList > channels; - QHash eitMapping; - QSet epgChannels; - - QList allEntries; - QList filteredEntries; - - QMap recordingKeys; -}; - -class DvbEitFilter : public DvbSectionFilter +class DvbEpgEntryId { public: - DvbEitFilter(); - ~DvbEitFilter(); - - void setManager(DvbManager *manager_); - void setSource(const QString &source_); + explicit DvbEpgEntryId(const DvbEpgEntry *entry_) : entry(entry_) { } + explicit DvbEpgEntryId(const DvbSharedEpgEntry &entry_) : entry(entry_.constData()) { } + ~DvbEpgEntryId() { } -private: - static QTime bcdToTime(int bcd); + // compares entries, 'recording' is ignored + // if one 'details' is empty, 'details' is ignored - void processSection(const QByteArray &data); + bool operator<(const DvbEpgEntryId &other) const; - DvbManager *manager; - DvbEpgModel *model; - QString source; +private: + const DvbEpgEntry *entry; }; -class DvbEpgDialog : public KDialog +class DvbEpgModel : public QObject { Q_OBJECT + typedef QMap::Iterator Iterator; + typedef QMap::ConstIterator ConstIterator; public: - DvbEpgDialog(DvbManager *manager_, const QString ¤tChannel, QWidget *parent); - ~DvbEpgDialog(); + DvbEpgModel(DvbManager *manager_, QObject *parent); + ~DvbEpgModel(); + + QMap getEntries() const; + QHash getEpgChannels() const; + QList getCurrentNext(const DvbSharedChannel &channel) const; + + DvbSharedEpgEntry addEntry(const DvbEpgEntry &entry); + void scheduleProgram(const DvbSharedEpgEntry &entry, int extraSecondsBefore, + int extraSecondsAfter); + + void startEventFilter(DvbDevice *device, const DvbSharedChannel &channel); + void stopEventFilter(DvbDevice *device, const DvbSharedChannel &channel); + +signals: + void entryAdded(const DvbSharedEpgEntry &entry); + // updating doesn't change the entry pointer (modifies existing content) + void entryAboutToBeUpdated(const DvbSharedEpgEntry &entry); + void entryUpdated(const DvbSharedEpgEntry &entry); + void entryRemoved(const DvbSharedEpgEntry &entry); + void epgChannelAdded(const DvbSharedChannel &channel); + void epgChannelRemoved(const DvbSharedChannel &channel); private slots: - void channelActivated(const QModelIndex &index); - void entryActivated(const QModelIndex &index); - void scheduleProgram(); + void channelAboutToBeUpdated(const DvbSharedChannel &channel); + void channelUpdated(const DvbSharedChannel &channel); + void channelRemoved(const DvbSharedChannel &channel); + void recordingRemoved(const DvbSharedRecording &recording); private: + void timerEvent(QTimerEvent *event); + + Iterator removeEntry(Iterator it); + DvbManager *manager; - DvbEpgModel *epgModel; - QListView *channelView; - QTreeView *epgView; - QLabel *contentLabel; + QDateTime currentDateTimeUtc; + QMap entries; + QMap recordings; + QHash epgChannels; + QList > dvbEpgFilters; + QList > atscEpgFilters; + DvbChannel updatingChannel; + bool hasPendingOperation; }; #endif /* DVBEPG_H */ diff -Nru kaffeine-1.1/src/dvb/dvbepg_p.h kaffeine-1.2.2/src/dvb/dvbepg_p.h --- kaffeine-1.1/src/dvb/dvbepg_p.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbepg_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,115 @@ +/* + * dvbepg_p.h + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBEPG_P_H +#define DVBEPG_P_H + +#include "dvbbackenddevice.h" +#include "dvbepg.h" + +class DvbEpgFilter : public QSharedData, public DvbSectionFilter +{ +public: + DvbEpgFilter(DvbManager *manager, DvbDevice *device_, const DvbSharedChannel &channel); + ~DvbEpgFilter(); + + DvbDevice *device; + QString source; + DvbTransponder transponder; + +private: + Q_DISABLE_COPY(DvbEpgFilter) + static QTime bcdToTime(int bcd); + + void processSection(const char *data, int size); + + DvbChannelModel *channelModel; + DvbEpgModel *epgModel; +}; + +class AtscEpgMgtFilter : public DvbSectionFilter +{ +public: + explicit AtscEpgMgtFilter(AtscEpgFilter *epgFilter_) : epgFilter(epgFilter_) { } + ~AtscEpgMgtFilter() { } + +private: + Q_DISABLE_COPY(AtscEpgMgtFilter) + void processSection(const char *data, int size); + + AtscEpgFilter *epgFilter; +}; + +class AtscEpgEitFilter : public DvbSectionFilter +{ +public: + explicit AtscEpgEitFilter(AtscEpgFilter *epgFilter_) : epgFilter(epgFilter_) { } + ~AtscEpgEitFilter() { } + +private: + Q_DISABLE_COPY(AtscEpgEitFilter) + void processSection(const char *data, int size); + + AtscEpgFilter *epgFilter; +}; + +class AtscEpgEttFilter : public DvbSectionFilter +{ +public: + explicit AtscEpgEttFilter(AtscEpgFilter *epgFilter_) : epgFilter(epgFilter_) { } + ~AtscEpgEttFilter() { } + +private: + Q_DISABLE_COPY(AtscEpgEttFilter) + void processSection(const char *data, int size); + + AtscEpgFilter *epgFilter; +}; + +class AtscEpgFilter : public QSharedData +{ + friend class AtscEpgMgtFilter; + friend class AtscEpgEitFilter; + friend class AtscEpgEttFilter; +public: + AtscEpgFilter(DvbManager *manager, DvbDevice *device_, const DvbSharedChannel &channel); + ~AtscEpgFilter(); + + DvbDevice *device; + QString source; + DvbTransponder transponder; + +private: + Q_DISABLE_COPY(AtscEpgFilter) + void processMgtSection(const char *data, int size); + void processEitSection(const char *data, int size); + void processEttSection(const char *data, int size); + + DvbChannelModel *channelModel; + DvbEpgModel *epgModel; + AtscEpgMgtFilter mgtFilter; + AtscEpgEitFilter eitFilter; + AtscEpgEttFilter ettFilter; + QList eitPids; + QList ettPids; + QMap epgEntries; +}; + +#endif /* DVBEPG_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbliveview.cpp kaffeine-1.2.2/src/dvb/dvbliveview.cpp --- kaffeine-1.1/src/dvb/dvbliveview.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbliveview.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -21,18 +21,28 @@ #include "dvbliveview.h" #include "dvbliveview_p.h" +#include #include +#include #include #include #include "../mediawidget.h" +#include "dvbdevice.h" #include "dvbmanager.h" void DvbOsd::init(OsdLevel level_, const QString &channelName_, - const QList &epgEntries_) + const QList &epgEntries) { level = level_; channelName = channelName_; - epgEntries = epgEntries_; + + if (epgEntries.size() >= 1) { + firstEntry = *epgEntries.at(0); + } + + if (epgEntries.size() >= 2) { + secondEntry = *epgEntries.at(1); + } } QPixmap DvbOsd::paintOsd(QRect &rect, const QFont &font, Qt::LayoutDirection) @@ -45,28 +55,17 @@ int elapsedTime = 0; int totalTime = 0; - const DvbEpgEntry *firstEntry = NULL; - const DvbEpgEntry *secondEntry = NULL; - - if (!epgEntries.isEmpty()) { - firstEntry = &epgEntries.at(0); + if (firstEntry.channel.isValid()) { + entryString = KGlobal::locale()->formatTime(firstEntry.begin.toLocalTime().time()) + + ' ' + firstEntry.title; + elapsedTime = firstEntry.begin.secsTo(QDateTime::currentDateTime()); + totalTime = QTime().secsTo(firstEntry.duration); } - if (epgEntries.size() >= 2) { - secondEntry = &epgEntries.at(1); - } - - if (firstEntry != NULL) { - entryString = KGlobal::locale()->formatTime(firstEntry->begin.toLocalTime().time()) - + ' ' + firstEntry->title; - elapsedTime = firstEntry->begin.secsTo(QDateTime::currentDateTime()); - totalTime = QTime().secsTo(firstEntry->duration); - } - - if ((level == ShortOsd) && (secondEntry != NULL)) { + if ((level == ShortOsd) && secondEntry.channel.isValid()) { entryString = entryString + '\n' + - KGlobal::locale()->formatTime(secondEntry->begin.toLocalTime().time()) + - ' ' + secondEntry->title; + KGlobal::locale()->formatTime(secondEntry.begin.toLocalTime().time()) + + ' ' + secondEntry.title; } int lineHeight = QFontMetrics(osdFont).height(); @@ -104,17 +103,17 @@ if (level == LongOsd) { QRect boundingRect = entryRect; - if ((firstEntry != NULL) && !firstEntry->subheading.isEmpty()) { + if (!firstEntry.subheading.isEmpty()) { painter.drawText(entryRect.x(), boundingRect.bottom() + 1, entryRect.width(), lineHeight, Qt::AlignLeft, - firstEntry->subheading, &boundingRect); + firstEntry.subheading, &boundingRect); } - if ((firstEntry != NULL) && !firstEntry->details.isEmpty()) { + if (!firstEntry.details.isEmpty()) { painter.drawText(entryRect.x(), boundingRect.bottom() + 1, entryRect.width(), rect.height() - boundingRect.bottom() - 1, - Qt::AlignLeft | Qt::TextWordWrap, firstEntry->details, + Qt::AlignLeft | Qt::TextWordWrap, firstEntry.details, &boundingRect); } @@ -129,7 +128,7 @@ void DvbLiveViewInternal::processData(const char data[188]) { - buffer.append(QByteArray::fromRawData(data, 188)); + buffer.append(data, 188); if (buffer.size() < (87 * 188)) { return; @@ -145,18 +144,17 @@ buffer.reserve(87 * 188); } -DvbLiveView::DvbLiveView(DvbManager *manager_) : manager(manager_), device(NULL), videoPid(-1), - audioPid(-1), subtitlePid(-1) +DvbLiveView::DvbLiveView(DvbManager *manager_, QObject *parent) : QObject(parent), + manager(manager_), device(NULL), videoPid(-1), audioPid(-1), subtitlePid(-1) { mediaWidget = manager->getMediaWidget(); osdWidget = mediaWidget->getOsdWidget(); internal = new DvbLiveViewInternal(); - internal->eitFilter.setManager(manager); internal->mediaWidget = mediaWidget; - connect(&internal->pmtFilter, SIGNAL(pmtSectionChanged(DvbPmtSection)), - this, SLOT(pmtSectionChanged(DvbPmtSection))); + connect(&internal->pmtFilter, SIGNAL(pmtSectionChanged(QByteArray)), + this, SLOT(pmtSectionChanged(QByteArray))); connect(&patPmtTimer, SIGNAL(timeout()), this, SLOT(insertPatPmt())); connect(&osdTimer, SIGNAL(timeout()), this, SLOT(osdTimeout())); @@ -173,9 +171,9 @@ delete internal; } -const DvbChannel *DvbLiveView::getChannel() const +const DvbSharedChannel &DvbLiveView::getChannel() const { - return channel.constData(); + return channel; } DvbDevice *DvbLiveView::getDevice() const @@ -183,12 +181,12 @@ return device; } -void DvbLiveView::playChannel(const DvbChannel *channel_) +void DvbLiveView::playChannel(const DvbSharedChannel &channel_) { DvbDevice *newDevice = NULL; if ((channel.constData() != NULL) && (channel->source == channel_->source) && - (channel->transponder->corresponds(channel_->transponder))) { + (channel->transponder.corresponds(channel_->transponder))) { newDevice = manager->requestDevice(channel->source, channel->transponder, DvbManager::Shared); } @@ -203,26 +201,31 @@ } if (device == NULL) { - channel = NULL; + channel = DvbSharedChannel(); mediaWidget->stop(); - KMessageBox::sorry(manager->getParentWidget(), - i18nc("message box", "No available device found.")); - // FIXME better error message if devices are blocked by recordings + + if (manager->getRecordingModel()->hasActiveRecordings()) { + KMessageBox::sorry(manager->getParentWidget(), + i18nc("@info", "All devices are used for recordings.")); + } else { + KMessageBox::information(manager->getParentWidget(), + i18nc("@info", "No device found.")); + } + return; } mediaWidget->playDvb(channel->name); - internal->eitFilter.setSource(channel->source); - internal->pmtFilter.setProgramNumber(channel->getServiceId()); + internal->pmtFilter.setProgramNumber(channel->serviceId); startDevice(); - internal->patGenerator.initPat(channel->transportStreamId, channel->getServiceId(), + internal->patGenerator.initPat(channel->transportStreamId, channel->serviceId, channel->pmtPid); videoPid = -1; audioPid = channel->audioPid; subtitlePid = -1; - pmtSectionChanged(DvbPmtSection(channel->pmtSection)); + pmtSectionChanged(channel->pmtSectionData); patPmtTimer.start(500); internal->buffer.reserve(87 * 188); @@ -239,7 +242,7 @@ case DvbOsd::Off: internal->dvbOsd.init(DvbOsd::ShortOsd, QString("%1 - %2").arg(channel->number).arg(channel->name), - manager->getEpgModel()->getCurrentNext(channel->name)); + manager->getEpgModel()->getCurrentNext(channel)); osdWidget->showObject(&internal->dvbOsd, 2500); osdTimer.start(2500); break; @@ -256,11 +259,10 @@ } } -void DvbLiveView::pmtSectionChanged(const DvbPmtSection §ion) +void DvbLiveView::pmtSectionChanged(const QByteArray &pmtSectionData) { - internal->pmtSection = section; - - DvbPmtParser pmtParser(section); + internal->pmtSectionData = pmtSectionData; + DvbPmtParser pmtParser(DvbPmtSection(internal->pmtSectionData)); videoPid = pmtParser.videoPid; for (int i = 0;; ++i) { @@ -293,7 +295,7 @@ updatePids(true); if (channel->isScrambled) { - device->startDescrambling(section, this); + device->startDescrambling(internal->pmtSectionData, this); } if (internal->timeShiftFile.isOpen()) { @@ -390,9 +392,16 @@ if (internal->timeShiftFile.exists() || !internal->timeShiftFile.open(QIODevice::WriteOnly)) { - // FIXME error message - mediaWidget->stop(); - return; + kWarning() << "cannot open file" << internal->timeShiftFile.fileName(); + internal->timeShiftFile.setFileName(QDir::homePath() + "/TimeShift-" + + QDateTime::currentDateTime().toString("yyyyMMddThhmmss") + ".m2t"); + + if (internal->timeShiftFile.exists() || + !internal->timeShiftFile.open(QIODevice::WriteOnly)) { + kWarning() << "cannot open file" << internal->timeShiftFile.fileName(); + mediaWidget->stop(); + return; + } } updatePids(); @@ -428,17 +437,17 @@ device = NULL; } - channel = NULL; + channel = DvbSharedChannel(); pids.clear(); patPmtTimer.stop(); osdTimer.stop(); - internal->pmtSection = DvbPmtSection(QByteArray()); + internal->pmtSectionData.clear(); internal->patGenerator = DvbSectionGenerator(); internal->pmtGenerator = DvbSectionGenerator(); internal->buffer.clear(); internal->timeShiftFile.close(); - internal->dvbOsd.init(DvbOsd::Off, QString(), QList()); + internal->dvbOsd.init(DvbOsd::Off, QString(), QList()); osdWidget->hideObject(); } @@ -448,36 +457,36 @@ device->addPidFilter(pid, internal); } - device->addPidFilter(0x12, &internal->eitFilter); - device->addPidFilter(channel->pmtPid, &internal->pmtFilter); + device->addSectionFilter(channel->pmtPid, &internal->pmtFilter); connect(device, SIGNAL(stateChanged()), this, SLOT(deviceStateChanged())); - if (channel->isScrambled && internal->pmtSection.isValid()) { - device->startDescrambling(internal->pmtSection, this); + if (channel->isScrambled && !internal->pmtSectionData.isEmpty()) { + device->startDescrambling(internal->pmtSectionData, this); } + + manager->getEpgModel()->startEventFilter(device, channel); } void DvbLiveView::stopDevice() { - if (channel->isScrambled && internal->pmtSection.isValid()) { - device->stopDescrambling(internal->pmtSection.programNumber(), this); + manager->getEpgModel()->stopEventFilter(device, channel); + + if (channel->isScrambled && !internal->pmtSectionData.isEmpty()) { + device->stopDescrambling(internal->pmtSectionData, this); } foreach (int pid, pids) { device->removePidFilter(pid, internal); } - device->removePidFilter(0x12, &internal->eitFilter); - device->removePidFilter(channel->pmtPid, &internal->pmtFilter); + device->removeSectionFilter(channel->pmtPid, &internal->pmtFilter); disconnect(device, SIGNAL(stateChanged()), this, SLOT(deviceStateChanged())); - - internal->eitFilter.resetFilter(); - internal->pmtFilter.resetFilter(); } void DvbLiveView::updatePids(bool forcePatPmtUpdate) { - DvbPmtParser pmtParser(internal->pmtSection); + DvbPmtSection pmtSection(internal->pmtSectionData); + DvbPmtParser pmtParser(pmtSection); QSet newPids; bool updatePatPmt = forcePatPmtUpdate; bool isTimeShifting = internal->timeShiftFile.isOpen(); @@ -528,7 +537,7 @@ } if (updatePatPmt) { - internal->pmtGenerator.initPmt(channel->pmtPid, internal->pmtSection, pids); + internal->pmtGenerator.initPmt(channel->pmtPid, pmtSection, pids); insertPatPmt(); } } diff -Nru kaffeine-1.1/src/dvb/dvbliveview.h kaffeine-1.2.2/src/dvb/dvbliveview.h --- kaffeine-1.1/src/dvb/dvbliveview.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbliveview.h 2011-04-17 21:17:19.000000000 +0200 @@ -21,14 +21,12 @@ #ifndef DVBLIVEVIEW_H #define DVBLIVEVIEW_H -#include #include +#include "dvbchannel.h" -class DvbChannel; class DvbDevice; class DvbLiveViewInternal; class DvbManager; -class DvbPmtSection; class MediaWidget; class OsdWidget; @@ -36,19 +34,19 @@ { Q_OBJECT public: - explicit DvbLiveView(DvbManager *manager_); + DvbLiveView(DvbManager *manager_, QObject *parent); ~DvbLiveView(); - const DvbChannel *getChannel() const; + const DvbSharedChannel &getChannel() const; DvbDevice *getDevice() const; - void playChannel(const DvbChannel *channel_); + void playChannel(const DvbSharedChannel &channel_); public slots: void toggleOsd(); private slots: - void pmtSectionChanged(const DvbPmtSection &pmtSection); + void pmtSectionChanged(const QByteArray &pmtSectionData); void insertPatPmt(); void deviceStateChanged(); void changeAudioStream(int index); @@ -69,7 +67,7 @@ OsdWidget *osdWidget; DvbLiveViewInternal *internal; - QExplicitlySharedDataPointer channel; + DvbSharedChannel channel; DvbDevice *device; QList pids; QTimer patPmtTimer; diff -Nru kaffeine-1.1/src/dvb/dvbliveview_p.h kaffeine-1.2.2/src/dvb/dvbliveview_p.h --- kaffeine-1.1/src/dvb/dvbliveview_p.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbliveview_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -24,6 +24,7 @@ #include #include "../osdwidget.h" #include "dvbepg.h" +#include "dvbsi.h" class MediaWidget; @@ -40,7 +41,7 @@ ~DvbOsd() { } void init(OsdLevel level_, const QString &channelName_, - const QList &epgEntries_); + const QList &epgEntries); OsdLevel level; @@ -48,19 +49,19 @@ QPixmap paintOsd(QRect &rect, const QFont &font, Qt::LayoutDirection direction); QString channelName; - QList epgEntries; + DvbEpgEntry firstEntry; + DvbEpgEntry secondEntry; }; class DvbLiveViewInternal : public DvbPidFilter { public: - DvbLiveViewInternal() : mediaWidget(NULL), pmtSection(QByteArray()) { } + DvbLiveViewInternal() : mediaWidget(NULL) { } ~DvbLiveViewInternal() { } MediaWidget *mediaWidget; - DvbEitFilter eitFilter; DvbPmtFilter pmtFilter; - DvbPmtSection pmtSection; + QByteArray pmtSectionData; DvbSectionGenerator patGenerator; DvbSectionGenerator pmtGenerator; QByteArray buffer; diff -Nru kaffeine-1.1/src/dvb/dvbmanager.cpp kaffeine-1.2.2/src/dvb/dvbmanager.cpp --- kaffeine-1.1/src/dvb/dvbmanager.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbmanager.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -22,23 +22,27 @@ #include "dvbmanager_p.h" #include +#include +#include +#include #include #include #include #include -#include "dvbchannelui.h" #include "dvbconfig.h" +#include "dvbdevice.h" #include "dvbdevice_linux.h" #include "dvbepg.h" #include "dvbliveview.h" +#include "dvbsi.h" DvbManager::DvbManager(MediaWidget *mediaWidget_, QWidget *parent_) : QObject(parent_), parent(parent_), mediaWidget(mediaWidget_), channelView(NULL), dvbDumpEnabled(false) { - channelModel = new DvbSqlChannelModel(this); + channelModel = DvbChannelModel::createSqlModel(this); recordingModel = new DvbRecordingModel(this, this); - epgModel = new DvbEpgModel(this); - liveView = new DvbLiveView(this); + epgModel = new DvbEpgModel(this, this); + liveView = new DvbLiveView(this, this); readDeviceConfigs(); updateSourceMapping(); @@ -54,6 +58,7 @@ // we need an explicit deletion order (device users ; devices ; device manager) + delete epgModel; delete recordingModel; foreach (const DvbDeviceConfig &deviceConfig, deviceConfigs) { @@ -65,6 +70,7 @@ DvbManager::RequestType requestType) { Q_ASSERT(requestType != Exclusive); + // FIXME call DvbEpgModel::startEventFilter / DvbEpgModel::stopEventFilter here? for (int i = 0; i < deviceConfigs.size(); ++i) { const DvbDeviceConfig &it = deviceConfigs.at(i); @@ -73,7 +79,7 @@ continue; } - if ((it.source == source) && it.transponder->corresponds(transponder)) { + if ((it.source == source) && it.transponder.corresponds(transponder)) { ++deviceConfigs[i].useCount; if (requestType == Prioritized) { @@ -161,7 +167,6 @@ deviceConfigs[i].useCount = -1; deviceConfigs[i].source.clear(); - deviceConfigs[i].transponder = NULL; return device; } } @@ -288,7 +293,7 @@ } if ((scanSource.first == DvbS) && - ((device->getTransmissionTypes() & DvbBackendDevice::DvbS2) != 0)) { + ((device->getTransmissionTypes() & DvbDevice::DvbS2) != 0)) { scanSource.first = DvbS2; } @@ -323,28 +328,14 @@ return true; } -QString DvbManager::getRecordingFolder() +QString DvbManager::getRecordingFolder() const { - QString path = KGlobal::config()->group("DVB").readEntry("RecordingFolder"); - - if (path.isEmpty() || !QDir(path).exists()) { - path = QDir::homePath(); - setRecordingFolder(path); - } - - return path; + return KGlobal::config()->group("DVB").readEntry("RecordingFolder", QDir::homePath()); } -QString DvbManager::getTimeShiftFolder() +QString DvbManager::getTimeShiftFolder() const { - QString path = KGlobal::config()->group("DVB").readEntry("TimeShiftFolder"); - - if (path.isEmpty() || !QDir(path).exists()) { - path = QDir::homePath(); - setTimeShiftFolder(path); - } - - return path; + return KGlobal::config()->group("DVB").readEntry("TimeShiftFolder", QDir::homePath()); } int DvbManager::getBeginMargin() const @@ -423,6 +414,11 @@ } } +void DvbManager::requestBuiltinDeviceManager(QObject *&builtinDeviceManager) +{ + builtinDeviceManager = new DvbLinuxDeviceManager(this); +} + void DvbManager::deviceAdded(DvbBackendDevice *backendDevice) { DvbDevice *device = new DvbDevice(backendDevice, this); @@ -468,10 +464,9 @@ void DvbManager::loadDeviceManager() { - /* - QDir dir(QString::fromUtf8(KAFFEINE_PLUGIN_INSTALL_DIR "/module")); - QStringList entries = dir.entryList(QStringList("kaffeinedvb*")); - qSort(entries.begin(), entries.end(), qGreater()); + QDir dir(QString::fromUtf8(KAFFEINE_LIB_INSTALL_DIR "/")); + QStringList entries = dir.entryList(QStringList("*kaffeinedvb*"), QDir::NoFilter, + QDir::Name | QDir::Reversed); foreach (const QString &entry, entries) { QString path = dir.filePath(entry); @@ -480,44 +475,32 @@ continue; } - typedef QObject *(*funcPointer)(); - - funcPointer func = (funcPointer) QLibrary::resolve(path, "create_device_manager"); + QObject *deviceManager = QPluginLoader(path).instance(); - if (func == NULL) { - kError() << "couldn't load dvb module" << path; - return; - } - - QObject *deviceManager = func(); - - if (deviceManager->property("backendMagic") != dvbBackendMagic) { - kError() << "invalid magic number for dvb module" << path; - return; + if (deviceManager == NULL) { + kWarning() << "cannot load dvb device manager" << path; + break; } + kDebug() << "using dvb device manager" << path; deviceManager->setParent(this); + connect(deviceManager, SIGNAL(requestBuiltinDeviceManager(QObject*&)), + this, SLOT(requestBuiltinDeviceManager(QObject*&))); connect(deviceManager, SIGNAL(deviceAdded(DvbBackendDevice*)), this, SLOT(deviceAdded(DvbBackendDevice*))); connect(deviceManager, SIGNAL(deviceRemoved(DvbBackendDevice*)), this, SLOT(deviceRemoved(DvbBackendDevice*))); QMetaObject::invokeMethod(deviceManager, "doColdPlug"); - - kDebug() << "successfully loaded" << path; return; } - kError() << "no dvb module found"; - */ - - QObject *deviceManager = new DvbDeviceManager(); - deviceManager->setParent(this); + kDebug() << "using built-in dvb device manager"; + DvbLinuxDeviceManager *deviceManager = new DvbLinuxDeviceManager(this); connect(deviceManager, SIGNAL(deviceAdded(DvbBackendDevice*)), this, SLOT(deviceAdded(DvbBackendDevice*))); connect(deviceManager, SIGNAL(deviceRemoved(DvbBackendDevice*)), this, SLOT(deviceRemoved(DvbBackendDevice*))); - QMetaObject::invokeMethod(deviceManager, "doColdPlug"); - return; + deviceManager->doColdPlug(); } void DvbManager::readDeviceConfigs() @@ -759,34 +742,18 @@ } line = data.readLine(); - DvbTransponderBase *transponder = NULL; - - switch (type) { - case DvbC: - transponder = new DvbCTransponder; - break; - case DvbS: - case DvbS2: - if (line[1] == '2') { - transponder = new DvbS2Transponder; - } else { - transponder = new DvbSTransponder; - containsDvbS1 = true; - } - break; - case DvbT: - transponder = new DvbTTransponder; - break; - case Atsc: - transponder = new AtscTransponder; - break; - } + DvbTransponder transponder = + DvbTransponder::fromString(QString::fromAscii(line)); - if (!transponder->fromString(QString::fromAscii(line))) { + if (!transponder.isValid()) { parseError = true; - delete transponder; } else { - transponders.append(DvbTransponder(transponder)); + transponders.append(transponder); + + if (transponder.getTransmissionType() == + DvbTransponderBase::DvbS) { + containsDvbS1 = true; + } } } @@ -799,7 +766,7 @@ if (containsDvbS1) { for (int i = 0; i < transponders.size(); ++i) { - if (transponders.at(i)->getTransmissionType() == + if (transponders.at(i).getTransmissionType() == DvbTransponderBase::DvbS2) { transponders.removeAt(i); --i; diff -Nru kaffeine-1.1/src/dvb/dvbmanager.h kaffeine-1.2.2/src/dvb/dvbmanager.h --- kaffeine-1.1/src/dvb/dvbmanager.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbmanager.h 2011-04-17 21:17:19.000000000 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include "dvbtransponder.h" class QTreeView; class DvbBackendDevice; @@ -37,8 +38,6 @@ class DvbLiveView; class DvbRecordingModel; class DvbScanData; -class DvbTransponder; -class DvbTransponderBase; class MediaWidget; class DvbManager : public QObject @@ -121,8 +120,8 @@ QList getTransponders(DvbDevice *device, const QString &source); bool updateScanData(const QByteArray &data); - QString getRecordingFolder(); - QString getTimeShiftFolder(); + QString getRecordingFolder() const; + QString getTimeShiftFolder() const; int getBeginMargin() const; // seconds int getEndMargin() const; // seconds bool override6937Charset() const; @@ -140,6 +139,7 @@ void enableDvbDump(); private slots: + void requestBuiltinDeviceManager(QObject *&builtinDeviceManager); void deviceAdded(DvbBackendDevice *backendDevice); void deviceRemoved(DvbBackendDevice *backendDevice); @@ -186,7 +186,7 @@ int useCount; // -1 means exclusive use int prioritizedUseCount; QString source; - QExplicitlySharedDataPointer transponder; + DvbTransponder transponder; }; class DvbDeviceConfigUpdate diff -Nru kaffeine-1.1/src/dvb/dvbrecording.cpp kaffeine-1.2.2/src/dvb/dvbrecording.cpp --- kaffeine-1.1/src/dvb/dvbrecording.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbrecording.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbrecording.cpp * - * Copyright (C) 2009-2010 Christoph Pfister + * Copyright (C) 2009-2011 Christoph Pfister * * 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 @@ -21,36 +21,38 @@ #include "dvbrecording.h" #include "dvbrecording_p.h" -#include -#include #include -#include -#include -#include -#include -#include -#include -#include +#include #include -#include -#include #include -#include "../datetimeedit.h" -#include "dvbchannelui.h" +#include "../ensurenopendingoperation.h" +#include "dvbdevice.h" #include "dvbmanager.h" -DvbRecordingModel::DvbRecordingModel(DvbManager *manager_, QObject *parent) : - QAbstractTableModel(parent), manager(manager_), hasActiveRecordings(false) +bool DvbRecording::validate() { - sqlInterface = new DvbRecordingSqlInterface(manager, this, &recordings, this); + if (!name.isEmpty() && channel.isValid() && begin.isValid() && + (begin.timeSpec() == Qt::UTC) && duration.isValid()) { + // the seconds and milliseconds aren't visible --> set them to zero + begin = begin.addMSecs(-(QTime().msecsTo(begin.time()) % 60000)); + end = begin.addSecs(QTime().secsTo(duration)); + repeat &= ((1 << 7) - 1); + return true; + } + + return false; +} + +DvbRecordingModel::DvbRecordingModel(DvbManager *manager_, QObject *parent) : QObject(parent), + manager(manager_), hasPendingOperation(false) +{ + sqlInit("RecordingSchedule", + QStringList() << "Name" << "Channel" << "Begin" << "Duration" << "Repeat"); // we regularly recheck the status of the recordings // this way we can keep retrying if the device was busy / tuning failed - // we don't call checkStatus() here, because the devices maybe aren't set up yet - QTimer *timer = new QTimer(this); - connect(timer, SIGNAL(timeout()), this, SLOT(checkStatus())); - timer->start(5000); + startTimer(5000); // compatibility code @@ -65,9 +67,9 @@ return; } + DvbChannelModel *channelModel = manager->getChannelModel(); QDataStream stream(&file); stream.setVersion(QDataStream::Qt_4_4); - int version; stream >> version; @@ -78,17 +80,18 @@ } while (!stream.atEnd()) { - DvbRecordingEntry entry; - stream >> entry.name; - stream >> entry.channelName; - stream >> entry.begin; - entry.begin = entry.begin.toUTC(); - stream >> entry.duration; + DvbRecording recording; + QString channelName; + stream >> channelName; + recording.channel = channelModel->findChannelByName(channelName); + stream >> recording.begin; + recording.begin = recording.begin.toUTC(); + stream >> recording.duration; QDateTime end; stream >> end; if (version != 0) { - stream >> entry.repeat; + stream >> recording.repeat; } if (stream.status() != QDataStream::Ok) { @@ -96,7 +99,7 @@ break; } - scheduleProgram(entry); + addRecording(recording); } if (!file.remove()) { @@ -106,319 +109,247 @@ DvbRecordingModel::~DvbRecordingModel() { - sqlInterface->flush(); - qDeleteAll(recordings); + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + } + + sqlFlush(); } -DvbRecordingKey DvbRecordingModel::scheduleProgram(const DvbRecordingEntry &entry) +bool DvbRecordingModel::hasRecordings() const { - int row = recordings.size(); - beginInsertRows(QModelIndex(), row, row); - recordings.append(new DvbRecording(manager, entry)); - endInsertRows(); - QTimer::singleShot(0, this, SLOT(checkStatus())); - return DvbRecordingKey(sqlInterface->keyForRow(row)); + return !recordings.isEmpty(); } -void DvbRecordingModel::removeProgram(const DvbRecordingKey &key) +bool DvbRecordingModel::hasActiveRecordings() const { - int row = sqlInterface->rowForKey(key.key); - - if (row >= 0) { - removeRow(row); - } + return !recordingFiles.isEmpty(); } -QAbstractItemModel *DvbRecordingModel::createProxyModel(QObject *parent) +DvbSharedRecording DvbRecordingModel::findRecordingByKey(const SqlKey &sqlKey) const { - QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(parent); - proxyModel->setDynamicSortFilter(true); - proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); - proxyModel->setSortLocaleAware(true); - proxyModel->setSortRole(SortRole); - proxyModel->setSourceModel(this); - return proxyModel; + return recordings.value(sqlKey); } -void DvbRecordingModel::showDialog(QWidget *parent) +QMap DvbRecordingModel::getRecordings() const { - KDialog *dialog = new DvbRecordingDialog(manager, this, parent); - dialog->setAttribute(Qt::WA_DeleteOnClose, true); - dialog->setModal(true); - dialog->show(); + return recordings; } -void DvbRecordingModel::mayCloseApplication(bool *ok, QWidget *parent) +DvbSharedRecording DvbRecordingModel::addRecording(DvbRecording &recording) { - if (*ok) { - if (hasActiveRecordings) { - if (KMessageBox::warningYesNo(parent, i18nc("message box", - "Kaffeine is currently recording programs.\n" - "Do you really want to close the application?")) != KMessageBox::Yes) { - *ok = false; - } + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return DvbSharedRecording(); + } - return; - } + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); - if (!recordings.isEmpty()) { - if (KMessageBox::questionYesNo(parent, i18nc("message box", - "Kaffeine has scheduled recordings.\n" - "Do you really want to close the application?")) != KMessageBox::Yes) { - *ok = false; - } + if (!recording.validate()) { + kWarning() << "invalid recording"; + return DvbSharedRecording(); + } - return; - } + recording.setSqlKey(sqlFindFreeKey(recordings)); + + if (!updateStatus(recording)) { + return DvbSharedRecording(); } + + DvbSharedRecording newRecording(new DvbRecording(recording)); + recordings.insert(*newRecording, newRecording); + sqlInsert(*newRecording); + emit recordingAdded(newRecording); + return newRecording; } -void DvbRecordingModel::checkStatus() +void DvbRecordingModel::updateRecording(DvbSharedRecording recording, + DvbRecording &modifiedRecording) { - QDateTime currentLocalDateTime = QDateTime::currentDateTime(); - QDateTime currentDateTime = currentLocalDateTime.toUTC(); - - for (int row = 0; row < recordings.size(); ++row) { - DvbRecording *recording = recordings.at(row); - const DvbRecordingEntry &entry = recording->getEntry(); - QDateTime end = entry.begin.addSecs(QTime().secsTo(entry.duration)); - - if (end <= currentDateTime) { - if (entry.repeat == 0) { - removeRow(row); - --row; - } else { - recording->stop(); + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; + } - // take care of DST switches - DvbRecordingEntry nextEntry = entry; - nextEntry.begin = nextEntry.begin.toLocalTime(); - end = end.toLocalTime(); - int days = end.daysTo(currentLocalDateTime); + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); - if (end.addDays(days) <= currentLocalDateTime) { - ++days; - } + if (!recording.isValid() || (recordings.value(*recording) != recording) || + !modifiedRecording.validate()) { + kWarning() << "invalid recording"; + return; + } - // QDate::dayOfWeek() and our dayOfWeek differ by one - int dayOfWeek = (nextEntry.begin.date().dayOfWeek() - 1 + days); + modifiedRecording.setSqlKey(*recording); - for (int j = 0; j < 7; ++j) { - if ((nextEntry.repeat & (1 << (dayOfWeek % 7))) != 0) { - break; - } + if (!updateStatus(modifiedRecording)) { + recordings.remove(*recording); + recordingFiles.remove(*recording); + sqlRemove(*recording); + emit recordingRemoved(recording); + return; + } - ++days; - ++dayOfWeek; - } + emit recordingAboutToBeUpdated(recording); + *const_cast(recording.constData()) = modifiedRecording; + sqlUpdate(*recording); + emit recordingUpdated(recording); +} - nextEntry.begin = nextEntry.begin.addDays(days).toUTC(); - recording->setEntry(nextEntry); - emit dataChanged(index(row, 0), index(row, 3)); - } - } +void DvbRecordingModel::removeRecording(DvbSharedRecording recording) +{ + if (hasPendingOperation) { + kWarning() << "illegal recursive call"; + return; } - hasActiveRecordings = false; + EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); - for (int row = 0; row < recordings.size(); ++row) { - DvbRecording *recording = recordings.at(row); - const DvbRecordingEntry &entry = recording->getEntry(); + if (!recording.isValid() || (recordings.value(*recording) != recording)) { + kWarning() << "invalid recording"; + return; + } - if (entry.begin <= currentDateTime) { - hasActiveRecordings = true; + recordings.remove(*recording); + recordingFiles.remove(*recording); + sqlRemove(*recording); + emit recordingRemoved(recording); +} - if (!entry.isRunning) { - recording->start(); +void DvbRecordingModel::timerEvent(QTimerEvent *event) +{ + Q_UNUSED(event) + QDateTime currentDateTime = QDateTime::currentDateTime().toUTC(); - if (entry.isRunning) { - emit dataChanged(index(row, 0), index(row, 3)); - } - } + foreach (const DvbSharedRecording &recording, recordings) { + if (recording->end <= currentDateTime) { + DvbRecording modifiedRecording = *recording; + updateRecording(recording, modifiedRecording); } } -} -int DvbRecordingModel::columnCount(const QModelIndex &parent) const -{ - if (!parent.isValid()) { - return 4; + foreach (const DvbSharedRecording &recording, recordings) { + if ((recording->status != DvbRecording::Recording) && + (recording->begin <= currentDateTime)) { + DvbRecording modifiedRecording = *recording; + updateRecording(recording, modifiedRecording); + } } - - return 0; } -int DvbRecordingModel::rowCount(const QModelIndex &parent) const +void DvbRecordingModel::bindToSqlQuery(SqlKey sqlKey, QSqlQuery &query, int index) const { - if (!parent.isValid()) { - return recordings.size(); - } + DvbSharedRecording recording = recordings.value(sqlKey); - return 0; -} + if (!recording.isValid()) { + kError() << "invalid recording"; + return; + } -QVariant DvbRecordingModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if ((orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { - switch (section) { - case 0: - return i18n("Name"); - case 1: - return i18n("Channel"); - case 2: - return i18n("Begin"); - case 3: - return i18n("Duration"); - } + query.bindValue(index++, recording->name); + query.bindValue(index++, recording->channel->name); + query.bindValue(index++, recording->begin.toString(Qt::ISODate) + 'Z'); + query.bindValue(index++, recording->duration.toString(Qt::ISODate)); + query.bindValue(index++, recording->repeat); +} + +bool DvbRecordingModel::insertFromSqlQuery(SqlKey sqlKey, const QSqlQuery &query, int index) +{ + DvbRecording *recording = new DvbRecording(); + DvbSharedRecording newRecording(recording); + recording->name = query.value(index++).toString(); + recording->channel = + manager->getChannelModel()->findChannelByName(query.value(index++).toString()); + recording->begin = + QDateTime::fromString(query.value(index++).toString(), Qt::ISODate).toUTC(); + recording->duration = QTime::fromString(query.value(index++).toString(), Qt::ISODate); + recording->repeat = query.value(index++).toInt(); + + if (recording->validate()) { + recording->setSqlKey(sqlKey); + recordings.insert(*newRecording, newRecording); + return true; } - return QVariant(); + return false; } -QVariant DvbRecordingModel::data(const QModelIndex &index, int role) const +bool DvbRecordingModel::updateStatus(DvbRecording &recording) { - const DvbRecordingEntry &entry = recordings.at(index.row())->getEntry(); + QDateTime currentDateTimeLocal = QDateTime::currentDateTime(); + QDateTime currentDateTime = currentDateTimeLocal.toUTC(); - switch (role) { - case Qt::DecorationRole: - if (index.column() == 0) { - if (entry.isRunning) { - return KIcon("media-record"); - } else if (entry.repeat != 0) { - return KIcon("view-refresh"); - } + if (recording.end <= currentDateTime) { + if (recording.repeat == 0) { + return false; } - break; - case Qt::DisplayRole: - switch (index.column()) { - case 0: - return entry.name; - case 1: - return entry.channelName; - case 2: - return KGlobal::locale()->formatDateTime(entry.begin.toLocalTime()); - case 3: - return KGlobal::locale()->formatTime(entry.duration, false, true); - } + recordingFiles.remove(recording); - break; - case SortRole: - switch (index.column()) { - case 0: - return entry.name; - case 1: - return entry.channelName; - case 2: - return entry.begin; - case 3: - return entry.duration; - } - - break; - case DvbRecordingEntryRole: - return QVariant::fromValue(&entry); - } + // take care of DST switches + QDateTime beginLocal = recording.begin.toLocalTime(); + QDateTime endLocal = recording.end.toLocalTime(); + int days = endLocal.daysTo(currentDateTimeLocal); - return QVariant(); -} + if (endLocal.addDays(days) <= currentDateTimeLocal) { + ++days; + } -bool DvbRecordingModel::removeRows(int row, int count, const QModelIndex &parent) -{ - Q_UNUSED(parent) - QList keys; + // QDate::dayOfWeek() and our dayOfWeek differ by one + int dayOfWeek = (beginLocal.date().dayOfWeek() - 1 + days); - for (int currentRow = row; currentRow < (row + count); ++currentRow) { - keys.append(sqlInterface->keyForRow(currentRow)); - } + for (int j = 0; j < 7; ++j) { + if ((recording.repeat & (1 << (dayOfWeek % 7))) != 0) { + break; + } - beginRemoveRows(QModelIndex(), row, row + count - 1); - qDeleteAll(recordings.begin() + row, recordings.begin() + row + count); - recordings.erase(recordings.begin() + row, recordings.begin() + row + count); - endRemoveRows(); + ++days; + ++dayOfWeek; + } - foreach (quint32 key, keys) { - emit programRemoved(DvbRecordingKey(key)); + recording.begin = recording.begin.addDays(days); + recording.end = recording.end.addDays(days); } - return true; -} + if (recording.begin <= currentDateTime) { + QExplicitlySharedDataPointer recordingFile = + recordingFiles.value(recording); -bool DvbRecordingModel::setData(const QModelIndex &modelIndex, const QVariant &value, int role) -{ - Q_UNUSED(role) - const DvbRecordingEntry *entry = value.value(); + if (recordingFile.constData() == NULL) { + recordingFile = new DvbRecordingFile(manager); + recordingFiles.insert(recording, recordingFile); + } - if (entry != NULL) { - if (modelIndex.isValid()) { - int row = modelIndex.row(); - recordings.at(row)->setEntry(*entry); - emit dataChanged(index(row, 0), index(row, 3)); + if (recordingFile->start(recording)) { + recording.status = DvbRecording::Recording; } else { - scheduleProgram(*entry); + recording.status = DvbRecording::Error; } - - return true; + } else { + recording.status = DvbRecording::Inactive; + recordingFiles.remove(recording); } - return false; + return true; } -DvbRecording::DvbRecording(DvbManager *manager_, const DvbRecordingEntry &entry_) : - manager(manager_), device(NULL), pmtSection(QByteArray()), pmtValid(false) +DvbRecordingFile::DvbRecordingFile(DvbManager *manager_) : manager(manager_), device(NULL), + pmtValid(false) { - setEntry(entry_); - connect(&pmtFilter, SIGNAL(pmtSectionChanged(DvbPmtSection)), - this, SLOT(pmtSectionChanged(DvbPmtSection))); + connect(&pmtFilter, SIGNAL(pmtSectionChanged(QByteArray)), + this, SLOT(pmtSectionChanged(QByteArray))); connect(&patPmtTimer, SIGNAL(timeout()), this, SLOT(insertPatPmt())); } -DvbRecording::~DvbRecording() +DvbRecordingFile::~DvbRecordingFile() { stop(); } -const DvbRecordingEntry &DvbRecording::getEntry() const -{ - return entry; -} - -void DvbRecording::setEntry(const DvbRecordingEntry &entry_) +bool DvbRecordingFile::start(const DvbRecording &recording) { - entry.name = entry_.name; - entry.channelName = entry_.channelName; - entry.begin = entry_.begin; - entry.duration = entry_.duration; - entry.repeat = entry_.repeat; - // isRunning is read-only - - if (entry.begin.timeSpec() != Qt::UTC) { - kWarning() << "wrong time spec"; - entry.begin = entry.begin.toUTC(); - } - - // the seconds and milliseconds aren't visible --> set them to zero - entry.begin = entry.begin.addMSecs(-(QTime().msecsTo(entry.begin.time()) % 60000)); -} - -void DvbRecording::start() -{ - if (channel.constData() == NULL) { - DvbChannelModel *channelModel = manager->getChannelModel(); - QModelIndex index = channelModel->findChannelByName(entry.channelName); - - if (!index.isValid()) { - kWarning() << "cannot find channel" << entry.channelName; - return; - } - - channel = channelModel->data(index, - DvbChannelModel::DvbChannelRole).value(); - } - if (!file.isOpen()) { QString folder = manager->getRecordingFolder(); - QString path = folder + '/' + entry.name.replace('/', '_'); + QString path = folder + '/' + QString(recording.name).replace('/', '_'); for (int attempt = 0; attempt < 100; ++attempt) { if (attempt == 0) { @@ -433,18 +364,22 @@ if (file.open(QIODevice::WriteOnly)) { break; + } else { + kWarning() << "cannot open file" << file.fileName(); } if ((attempt == 0) && !QDir(folder).exists()) { if (QDir().mkpath(folder)) { attempt = -1; continue; + } else { + kWarning() << "cannot create folder" << folder; } } if (folder != QDir::homePath()) { folder = QDir::homePath(); - path = folder + '/' + entry.name.replace('/', '_'); + path = folder + '/' + QString(recording.name).replace('/', '_'); attempt = -1; continue; } @@ -453,49 +388,48 @@ } if (!file.isOpen()) { - kWarning() << "cannot open file" << (path + ".m2t"); - return; + kWarning() << "cannot open file" << file.fileName(); + return false; } } if (device == NULL) { + channel = recording.channel; device = manager->requestDevice(channel->source, channel->transponder, DvbManager::Prioritized); if (device == NULL) { kWarning() << "cannot find a suitable device"; - return; + return false; } connect(device, SIGNAL(stateChanged()), this, SLOT(deviceStateChanged())); - pmtFilter.setProgramNumber(channel->getServiceId()); - device->addPidFilter(channel->pmtPid, &pmtFilter); - pmtSection = DvbPmtSection(channel->pmtSection); - patGenerator.initPat(channel->transportStreamId, channel->getServiceId(), + pmtFilter.setProgramNumber(channel->serviceId); + device->addSectionFilter(channel->pmtPid, &pmtFilter); + pmtSectionData = channel->pmtSectionData; + patGenerator.initPat(channel->transportStreamId, channel->serviceId, channel->pmtPid); - if (channel->isScrambled && pmtSection.isValid()) { - device->startDescrambling(pmtSection, this); + if (channel->isScrambled && !pmtSectionData.isEmpty()) { + device->startDescrambling(pmtSectionData, this); } } - entry.isRunning = true; + return true; } -void DvbRecording::stop() +void DvbRecordingFile::stop() { - entry.isRunning = false; - if (device != NULL) { - if (channel->isScrambled && pmtSection.isValid()) { - device->stopDescrambling(pmtSection.programNumber(), this); + if (channel->isScrambled && !pmtSectionData.isEmpty()) { + device->stopDescrambling(pmtSectionData, this); } foreach (int pid, pids) { device->removePidFilter(pid, this); } - device->removePidFilter(channel->pmtPid, &pmtFilter); + device->removeSectionFilter(channel->pmtPid, &pmtFilter); disconnect(device, SIGNAL(stateChanged()), this, SLOT(deviceStateChanged())); manager->releaseDevice(device, DvbManager::Prioritized); device = NULL; @@ -505,26 +439,25 @@ patPmtTimer.stop(); patGenerator.reset(); pmtGenerator.reset(); - pmtSection = DvbPmtSection(QByteArray()); - pmtFilter.reset(); + pmtSectionData.clear(); pids.clear(); buffers.clear(); file.close(); - channel = NULL; + channel = DvbSharedChannel(); } -void DvbRecording::deviceStateChanged() +void DvbRecordingFile::deviceStateChanged() { if (device->getDeviceState() == DvbDevice::DeviceReleased) { foreach (int pid, pids) { device->removePidFilter(pid, this); } - device->removePidFilter(channel->pmtPid, &pmtFilter); + device->removeSectionFilter(channel->pmtPid, &pmtFilter); disconnect(device, SIGNAL(stateChanged()), this, SLOT(deviceStateChanged())); - if (channel->isScrambled && pmtSection.isValid()) { - device->stopDescrambling(pmtSection.programNumber(), this); + if (channel->isScrambled && !pmtSectionData.isEmpty()) { + device->stopDescrambling(pmtSectionData, this); } device = manager->requestDevice(channel->source, channel->transponder, @@ -532,14 +465,14 @@ if (device != NULL) { connect(device, SIGNAL(stateChanged()), this, SLOT(deviceStateChanged())); - device->addPidFilter(channel->pmtPid, &pmtFilter); + device->addSectionFilter(channel->pmtPid, &pmtFilter); foreach (int pid, pids) { device->addPidFilter(pid, this); } - if (channel->isScrambled && pmtSection.isValid()) { - device->startDescrambling(pmtSection, this); + if (channel->isScrambled && !pmtSectionData.isEmpty()) { + device->startDescrambling(pmtSectionData, this); } } else { stop(); @@ -547,9 +480,10 @@ } } -void DvbRecording::pmtSectionChanged(const DvbPmtSection &pmtSection) +void DvbRecordingFile::pmtSectionChanged(const QByteArray &pmtSectionData_) { - DvbRecording::pmtSection = pmtSection; + pmtSectionData = pmtSectionData_; + DvbPmtSection pmtSection(pmtSectionData); DvbPmtParser pmtParser(pmtSection); QSet newPids; @@ -602,14 +536,14 @@ insertPatPmt(); if (channel->isScrambled) { - device->startDescrambling(pmtSection, this); + device->startDescrambling(pmtSectionData, this); } } -void DvbRecording::insertPatPmt() +void DvbRecordingFile::insertPatPmt() { if (!pmtValid) { - pmtSectionChanged(DvbPmtSection(channel->pmtSection)); + pmtSectionChanged(channel->pmtSectionData); return; } @@ -617,7 +551,7 @@ file.write(pmtGenerator.generatePackets()); } -void DvbRecording::processData(const char data[188]) +void DvbRecordingFile::processData(const char data[188]) { if (!pmtValid) { if (!patPmtTimer.isActive()) { @@ -628,7 +562,7 @@ } QByteArray &buffer = buffers.last(); - buffer.append(QByteArray::fromRawData(data, 188)); + buffer.append(data, 188); if (buffer.size() >= (348 * 188)) { QByteArray nextBuffer; @@ -641,309 +575,3 @@ file.write(data, 188); } - -DvbRecordingSqlInterface::DvbRecordingSqlInterface(DvbManager *manager_, QAbstractItemModel *model, - QList *recordings_, QObject *parent) : SqlTableModelInterface(parent), - manager(manager_), recordings(recordings_) -{ - init(model, "RecordingSchedule", - QStringList() << "Name" << "Channel" << "Begin" << "Duration" << "Repeat"); -} - -DvbRecordingSqlInterface::~DvbRecordingSqlInterface() -{ -} - -int DvbRecordingSqlInterface::insertFromSqlQuery(const QSqlQuery &query, int index) -{ - DvbRecordingEntry entry; - entry.name = query.value(index++).toString(); - entry.channelName = query.value(index++).toString(); - entry.begin = QDateTime::fromString(query.value(index++).toString(), Qt::ISODate).toUTC(); - entry.duration = QTime::fromString(query.value(index++).toString(), Qt::ISODate); - entry.repeat = (query.value(index++).toInt() & ((1 << 7) - 1)); - - if (!entry.name.isEmpty() && !entry.channelName.isEmpty() && - entry.begin.isValid() && entry.duration.isValid()) { - int row = recordings->size(); - recordings->append(new DvbRecording(manager, entry)); - return row; - } - - return -1; -} - -void DvbRecordingSqlInterface::bindToSqlQuery(QSqlQuery &query, int index, int row) const -{ - const DvbRecordingEntry &entry = recordings->at(row)->getEntry(); - query.bindValue(index++, entry.name); - query.bindValue(index++, entry.channelName); - query.bindValue(index++, entry.begin.toString(Qt::ISODate) + 'Z'); - query.bindValue(index++, entry.duration.toString(Qt::ISODate)); - query.bindValue(index++, entry.repeat); -} - -DvbRecordingDialog::DvbRecordingDialog(DvbManager *manager_, DvbRecordingModel *recordingModel, - QWidget *parent) : KDialog(parent), manager(manager_) -{ - setButtons(KDialog::Close); - setCaption(i18nc("dialog", "Recording Schedule")); - - QWidget *widget = new QWidget(this); - QBoxLayout *mainLayout = new QVBoxLayout(widget); - QBoxLayout *boxLayout = new QHBoxLayout(); - - proxyModel = recordingModel->createProxyModel(widget); - treeView = new QTreeView(widget); - treeView->header()->setResizeMode(QHeaderView::ResizeToContents); - treeView->setContextMenuPolicy(Qt::ActionsContextMenu); - treeView->setModel(proxyModel); - treeView->setRootIsDecorated(false); - treeView->setSelectionMode(QAbstractItemView::ExtendedSelection); - treeView->sortByColumn(2, Qt::AscendingOrder); - treeView->setSortingEnabled(true); - - KAction *action = - new KAction(KIcon("list-add"), i18nc("add a new item to a list", "New"), widget); - connect(action, SIGNAL(triggered()), this, SLOT(newRecording())); - treeView->addAction(action); - QPushButton *pushButton = new QPushButton(action->icon(), action->text(), widget); - connect(pushButton, SIGNAL(clicked()), this, SLOT(newRecording())); - boxLayout->addWidget(pushButton); - - action = new KAction(KIcon("configure"), i18n("Edit"), widget); - connect(action, SIGNAL(triggered()), this, SLOT(editRecording())); - treeView->addAction(action); - pushButton = new QPushButton(action->icon(), action->text(), widget); - connect(pushButton, SIGNAL(clicked()), this, SLOT(editRecording())); - boxLayout->addWidget(pushButton); - - action = new KAction(KIcon("edit-delete"), - i18nc("remove an item from a list", "Remove"), widget); - connect(action, SIGNAL(triggered()), this, SLOT(removeRecording())); - treeView->addAction(action); - pushButton = new QPushButton(action->icon(), action->text(), widget); - connect(pushButton, SIGNAL(clicked()), this, SLOT(removeRecording())); - boxLayout->addWidget(pushButton); - - boxLayout->addStretch(); - mainLayout->addLayout(boxLayout); - mainLayout->addWidget(treeView); - setMainWidget(widget); - resize(100 * fontMetrics().averageCharWidth(), 20 * fontMetrics().height()); -} - -DvbRecordingDialog::~DvbRecordingDialog() -{ -} - -void DvbRecordingDialog::newRecording() -{ - KDialog *dialog = new DvbRecordingEditor(manager, proxyModel, QModelIndex(), this); - dialog->setAttribute(Qt::WA_DeleteOnClose, true); - dialog->setModal(true); - dialog->show(); -} - -void DvbRecordingDialog::editRecording() -{ - QModelIndex index = treeView->currentIndex(); - - if (index.isValid()) { - KDialog *dialog = new DvbRecordingEditor(manager, proxyModel, index, this); - dialog->setAttribute(Qt::WA_DeleteOnClose, true); - dialog->setModal(true); - dialog->show(); - } -} - -void DvbRecordingDialog::removeRecording() -{ - QMap selectedRows; - - foreach (const QModelIndex &modelIndex, treeView->selectionModel()->selectedIndexes()) { - selectedRows.insert(modelIndex.row(), 0); - } - - for (QMap::ConstIterator it = selectedRows.end(); it != selectedRows.begin();) { - --it; - proxyModel->removeRow(it.key()); - } -} - -DvbRecordingEditor::DvbRecordingEditor(DvbManager *manager, QAbstractItemModel *model_, - const QModelIndex &modelIndex_, QWidget *parent) : KDialog(parent), model(model_), - persistentIndex(modelIndex_) -{ - setCaption(i18nc("subdialog of 'Recording Schedule'", "Edit Schedule Entry")); - - QWidget *widget = new QWidget(this); - QGridLayout *gridLayout = new QGridLayout(widget); - - nameEdit = new KLineEdit(widget); - connect(nameEdit, SIGNAL(textChanged(QString)), this, SLOT(checkValidity())); - gridLayout->addWidget(nameEdit, 0, 1); - - QLabel *label = new QLabel(i18n("Name:"), widget); - label->setBuddy(nameEdit); - gridLayout->addWidget(label, 0, 0); - - channelBox = new KComboBox(widget); - QAbstractProxyModel *channelProxyModel = - manager->getChannelModel()->createProxyModel(channelBox); - QHeaderView *header = manager->getChannelView()->header(); - channelProxyModel->sort(header->sortIndicatorSection(), header->sortIndicatorOrder()); - channelBox->setModel(channelProxyModel); - connect(channelBox, SIGNAL(currentIndexChanged(int)), this, SLOT(checkValidity())); - gridLayout->addWidget(channelBox, 1, 1); - - label = new QLabel(i18n("Channel:"), widget); - label->setBuddy(channelBox); - gridLayout->addWidget(label, 1, 0); - - beginEdit = new DateTimeEdit(widget); - beginEdit->setCurrentSection(DateTimeEdit::HourSection); - connect(beginEdit, SIGNAL(dateTimeChanged(QDateTime)), - this, SLOT(beginChanged(QDateTime))); - gridLayout->addWidget(beginEdit, 2, 1); - - label = new QLabel(i18n("Begin:"), widget); - label->setBuddy(beginEdit); - gridLayout->addWidget(label, 2, 0); - - durationEdit = new DurationEdit(widget); - connect(durationEdit, SIGNAL(timeChanged(QTime)), this, SLOT(durationChanged(QTime))); - gridLayout->addWidget(durationEdit, 3, 1); - - label = new QLabel(i18n("Duration:"), widget); - label->setBuddy(durationEdit); - gridLayout->addWidget(label, 3, 0); - - endEdit = new DateTimeEdit(widget); - endEdit->setCurrentSection(DateTimeEdit::HourSection); - connect(endEdit, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(endChanged(QDateTime))); - gridLayout->addWidget(endEdit, 4, 1); - - label = new QLabel(i18n("End:"), widget); - label->setBuddy(endEdit); - gridLayout->addWidget(label, 4, 0); - - gridLayout->addWidget(new QLabel(i18n("Repeat:"), widget), 5, 0); - - QBoxLayout *boxLayout = new QHBoxLayout(); - QPushButton *pushButton = - new QPushButton(i18nc("button next to the 'Repeat:' label", "Never"), widget); - connect(pushButton, SIGNAL(clicked()), this, SLOT(repeatNever())); - boxLayout->addWidget(pushButton); - - pushButton = new QPushButton(i18nc("button next to the 'Repeat:' label", "Daily"), widget); - connect(pushButton, SIGNAL(clicked()), this, SLOT(repeatDaily())); - boxLayout->addWidget(pushButton); - gridLayout->addLayout(boxLayout, 5, 1); - - QGridLayout *dayLayout = new QGridLayout(); - const KCalendarSystem *calendar = KGlobal::locale()->calendar(); - - for (int i = 0; i < 7; ++i) { - dayCheckBoxes[i] = new QCheckBox( - calendar->weekDayName(i + 1, KCalendarSystem::ShortDayName), widget); - dayLayout->addWidget(dayCheckBoxes[i], (i >> 2), (i & 0x03)); - } - - gridLayout->addLayout(dayLayout, 6, 1); - setMainWidget(widget); - - if (persistentIndex.isValid()) { - const DvbRecordingEntry *entry = - model->data(persistentIndex, DvbRecordingModel::DvbRecordingEntryRole). - value(); - nameEdit->setText(entry->name); - channelBox->setCurrentIndex(channelBox->findText(entry->channelName)); - beginEdit->setDateTime(entry->begin.toLocalTime()); - durationEdit->setTime(entry->duration); - - for (int i = 0; i < 7; ++i) { - if ((entry->repeat & (1 << i)) != 0) { - dayCheckBoxes[i]->setChecked(true); - } - } - - if (entry->isRunning) { - nameEdit->setEnabled(false); - channelBox->setEnabled(false); - beginEdit->setEnabled(false); - } - } else { - channelBox->setCurrentIndex(-1); - beginEdit->setDateTime(QDateTime::currentDateTime()); - durationEdit->setTime(QTime(2, 0)); - } - - checkValidity(); - - if (nameEdit->text().isEmpty()) { - nameEdit->setFocus(); - } -} - -DvbRecordingEditor::~DvbRecordingEditor() -{ -} - -void DvbRecordingEditor::beginChanged(const QDateTime &begin) -{ - // attention: setDateTimeRange and setDateTime influence each other! - QTime duration = durationEdit->time(); - endEdit->setDateTimeRange(begin, begin.addSecs((23 * 60 + 59) * 60)); - endEdit->setDateTime(begin.addSecs(QTime().secsTo(duration))); -} - -void DvbRecordingEditor::durationChanged(const QTime &duration) -{ - endEdit->setDateTime(beginEdit->dateTime().addSecs(QTime().secsTo(duration))); -} - -void DvbRecordingEditor::endChanged(const QDateTime &end) -{ - durationEdit->setTime(QTime().addSecs(beginEdit->dateTime().secsTo(end))); -} - -void DvbRecordingEditor::repeatNever() -{ - for (int i = 0; i < 7; ++i) { - dayCheckBoxes[i]->setChecked(false); - } -} - -void DvbRecordingEditor::repeatDaily() -{ - for (int i = 0; i < 7; ++i) { - dayCheckBoxes[i]->setChecked(true); - } -} - -void DvbRecordingEditor::checkValidity() -{ - enableButtonOk(!nameEdit->text().isEmpty() && (channelBox->currentIndex() != -1)); -} - -void DvbRecordingEditor::accept() -{ - DvbRecordingEntry entry; - entry.name = nameEdit->text(); - entry.channelName = channelBox->currentText(); - entry.begin = beginEdit->dateTime().toUTC(); - entry.duration = durationEdit->time(); - - for (int i = 0; i < 7; ++i) { - if (dayCheckBoxes[i]->isChecked()) { - entry.repeat |= (1 << i); - } - } - - // if persistentIndex is invalid, the entry is appended - const DvbRecordingEntry *constEntry = &entry; - model->setData(persistentIndex, QVariant::fromValue(constEntry)); - - KDialog::accept(); -} diff -Nru kaffeine-1.1/src/dvb/dvbrecordingdialog.cpp kaffeine-1.2.2/src/dvb/dvbrecordingdialog.cpp --- kaffeine-1.1/src/dvb/dvbrecordingdialog.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbrecordingdialog.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,538 @@ +/* + * dvbrecordingdialog.cpp + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "dvbrecordingdialog.h" +#include "dvbrecordingdialog_p.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../datetimeedit.h" +#include "dvbchanneldialog.h" +#include "dvbmanager.h" + +DvbRecordingDialog::DvbRecordingDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), + manager(manager_) +{ + setButtons(KDialog::Close); + setCaption(i18nc("@title:window", "Recording Schedule")); + QWidget *widget = new QWidget(this); + + model = new DvbRecordingTableModel(this); + treeView = new QTreeView(widget); + treeView->header()->setResizeMode(QHeaderView::ResizeToContents); + treeView->setContextMenuPolicy(Qt::ActionsContextMenu); + treeView->setModel(model); + treeView->setRootIsDecorated(false); + treeView->setSelectionMode(QAbstractItemView::ExtendedSelection); + treeView->sortByColumn(2, Qt::AscendingOrder); + treeView->setSortingEnabled(true); + model->setRecordingModel(manager->getRecordingModel()); + + QBoxLayout *boxLayout = new QHBoxLayout(); + KAction *action = new KAction(KIcon("list-add"), i18nc("@action", "New"), widget); + connect(action, SIGNAL(triggered()), this, SLOT(newRecording())); + treeView->addAction(action); + QPushButton *pushButton = new QPushButton(action->icon(), action->text(), widget); + connect(pushButton, SIGNAL(clicked()), this, SLOT(newRecording())); + boxLayout->addWidget(pushButton); + + action = new KAction(KIcon("configure"), i18nc("@action", "Edit"), widget); + connect(action, SIGNAL(triggered()), this, SLOT(editRecording())); + treeView->addAction(action); + pushButton = new QPushButton(action->icon(), action->text(), widget); + connect(pushButton, SIGNAL(clicked()), this, SLOT(editRecording())); + boxLayout->addWidget(pushButton); + + action = new KAction(KIcon("edit-delete"), i18nc("@action", "Remove"), widget); + connect(action, SIGNAL(triggered()), this, SLOT(removeRecording())); + treeView->addAction(action); + pushButton = new QPushButton(action->icon(), action->text(), widget); + connect(pushButton, SIGNAL(clicked()), this, SLOT(removeRecording())); + boxLayout->addWidget(pushButton); + boxLayout->addStretch(); + + QBoxLayout *mainLayout = new QVBoxLayout(widget); + mainLayout->addLayout(boxLayout); + mainLayout->addWidget(treeView); + setMainWidget(widget); + resize(100 * fontMetrics().averageCharWidth(), 20 * fontMetrics().height()); +} + +DvbRecordingDialog::~DvbRecordingDialog() +{ +} + +void DvbRecordingDialog::showDialog(DvbManager *manager_, QWidget *parent) +{ + KDialog *dialog = new DvbRecordingDialog(manager_, parent); + dialog->setAttribute(Qt::WA_DeleteOnClose, true); + dialog->setModal(true); + dialog->show(); +} + +void DvbRecordingDialog::newRecording() +{ + KDialog *dialog = new DvbRecordingEditor(manager, DvbSharedRecording(), this); + dialog->setAttribute(Qt::WA_DeleteOnClose, true); + dialog->setModal(true); + dialog->show(); +} + +void DvbRecordingDialog::editRecording() +{ + QModelIndex index = treeView->currentIndex(); + + if (index.isValid()) { + KDialog *dialog = new DvbRecordingEditor(manager, model->value(index), this); + dialog->setAttribute(Qt::WA_DeleteOnClose, true); + dialog->setModal(true); + dialog->show(); + } +} + +void DvbRecordingDialog::removeRecording() +{ + QSet recordings; + + foreach (const QModelIndex &modelIndex, treeView->selectionModel()->selectedIndexes()) { + recordings.insert(model->value(modelIndex)); + } + + DvbRecordingModel *recordingModel = manager->getRecordingModel(); + + foreach (const DvbSharedRecording &recording, recordings) { + recordingModel->removeRecording(recording); + } +} + +void DvbRecordingLessThan::setSortOrder(SortOrder sortOrder_) +{ + for (int index = 0; index < 4; ++index) { + if ((sortOrder[index] >> 1) == (sortOrder_ >> 1)) { + for (int j = index; j > 0; --j) { + sortOrder[j] = sortOrder[j - 1]; + } + + sortOrder[0] = sortOrder_; + return; + } + } +} + +bool DvbRecordingLessThan::operator()(const DvbSharedRecording &x, + const DvbSharedRecording &y) const +{ + for (int index = 0; index < 4; ++index) { + switch (sortOrder[index]) { + case NameAscending: + if (x->name != y->name) { + return (x->name.localeAwareCompare(y->name) < 0); + } + + break; + case NameDescending: + if (x->name != y->name) { + return (x->name.localeAwareCompare(y->name) > 0); + } + + break; + case ChannelAscending: + if (x->channel->name != y->channel->name) { + return (x->channel->name.localeAwareCompare(y->channel->name) < 0); + } + + break; + case ChannelDescending: + if (x->channel->name != y->channel->name) { + return (x->channel->name.localeAwareCompare(y->channel->name) > 0); + } + + break; + case BeginAscending: + if (x->begin != y->begin) { + return (x->begin < y->begin); + } + + break; + case BeginDescending: + if (x->begin != y->begin) { + return (x->begin > y->begin); + } + + break; + case DurationAscending: + if (x->duration != y->duration) { + return (x->duration < y->duration); + } + + break; + case DurationDescending: + if (x->duration != y->duration) { + return (x->duration > y->duration); + } + + break; + } + } + + return (x < y); +} + +DvbRecordingTableModel::DvbRecordingTableModel(QObject *parent) : + TableModel(parent), recordingModel(NULL) +{ +} + +DvbRecordingTableModel::~DvbRecordingTableModel() +{ +} + +void DvbRecordingTableModel::setRecordingModel(DvbRecordingModel *recordingModel_) +{ + if (recordingModel != NULL) { + kWarning() << "recording model already set"; + return; + } + + recordingModel = recordingModel_; + connect(recordingModel, SIGNAL(recordingAdded(DvbSharedRecording)), + this, SLOT(recordingAdded(DvbSharedRecording))); + connect(recordingModel, SIGNAL(recordingAboutToBeUpdated(DvbSharedRecording)), + this, SLOT(recordingAboutToBeUpdated(DvbSharedRecording))); + connect(recordingModel, SIGNAL(recordingUpdated(DvbSharedRecording)), + this, SLOT(recordingUpdated(DvbSharedRecording))); + connect(recordingModel, SIGNAL(recordingRemoved(DvbSharedRecording)), + this, SLOT(recordingRemoved(DvbSharedRecording))); + reset(recordingModel->getRecordings()); +} + +QVariant DvbRecordingTableModel::headerData(int section, Qt::Orientation orientation, + int role) const +{ + if ((orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { + switch (section) { + case 0: + return i18nc("@title:column recording", "Name"); + case 1: + return i18nc("@title:column tv show", "Channel"); + case 2: + return i18nc("@title:column tv show", "Start"); + case 3: + return i18nc("@title:column tv show", "Duration"); + } + } + + return QVariant(); +} + +QVariant DvbRecordingTableModel::data(const QModelIndex &index, int role) const +{ + const DvbSharedRecording &recording = value(index); + + if (recording.isValid()) { + switch (role) { + case Qt::DecorationRole: + if (index.column() == 0) { + switch (recording->status) { + case DvbRecording::Inactive: + break; + case DvbRecording::Recording: + return KIcon("media-record"); + case DvbRecording::Error: + return KIcon("dialog-error"); + } + + if (recording->repeat != 0) { + return KIcon("view-refresh"); + } + } + + break; + case Qt::DisplayRole: + switch (index.column()) { + case 0: + return recording->name; + case 1: + return recording->channel->name; + case 2: + return KGlobal::locale()->formatDateTime( + recording->begin.toLocalTime()); + case 3: + return KGlobal::locale()->formatTime(recording->duration, + false, true); + } + + break; + } + } + + return QVariant(); +} + +void DvbRecordingTableModel::sort(int column, Qt::SortOrder order) +{ + DvbRecordingLessThan::SortOrder sortOrder; + + if (order == Qt::AscendingOrder) { + switch (column) { + case 0: + sortOrder = DvbRecordingLessThan::NameAscending; + break; + case 1: + sortOrder = DvbRecordingLessThan::ChannelAscending; + break; + case 2: + sortOrder = DvbRecordingLessThan::BeginAscending; + break; + case 3: + sortOrder = DvbRecordingLessThan::DurationAscending; + break; + default: + return; + } + } else { + switch (column) { + case 0: + sortOrder = DvbRecordingLessThan::NameDescending; + break; + case 1: + sortOrder = DvbRecordingLessThan::ChannelDescending; + break; + case 2: + sortOrder = DvbRecordingLessThan::BeginDescending; + break; + case 3: + sortOrder = DvbRecordingLessThan::DurationDescending; + break; + default: + return; + } + } + + internalSort(sortOrder); +} + +void DvbRecordingTableModel::recordingAdded(const DvbSharedRecording &recording) +{ + insert(recording); +} + +void DvbRecordingTableModel::recordingAboutToBeUpdated(const DvbSharedRecording &recording) +{ + aboutToUpdate(recording); +} + +void DvbRecordingTableModel::recordingUpdated(const DvbSharedRecording &recording) +{ + update(recording); +} + +void DvbRecordingTableModel::recordingRemoved(const DvbSharedRecording &recording) +{ + remove(recording); +} + +DvbRecordingEditor::DvbRecordingEditor(DvbManager *manager_, const DvbSharedRecording &recording_, + QWidget *parent) : KDialog(parent), manager(manager_), recording(recording_) +{ + setCaption(i18nc("@title:window recording", "Edit Schedule Entry")); + QWidget *widget = new QWidget(this); + QGridLayout *gridLayout = new QGridLayout(widget); + + nameEdit = new KLineEdit(widget); + connect(nameEdit, SIGNAL(textChanged(QString)), this, SLOT(checkValidity())); + gridLayout->addWidget(nameEdit, 0, 1); + + QLabel *label = new QLabel(i18nc("@label recording", "Name:"), widget); + label->setBuddy(nameEdit); + gridLayout->addWidget(label, 0, 0); + + channelBox = new KComboBox(widget); + DvbChannelTableModel *channelModel = new DvbChannelTableModel(widget); + QHeaderView *header = manager->getChannelView()->header(); + channelModel->sort(header->sortIndicatorSection(), header->sortIndicatorOrder()); + channelModel->setChannelModel(manager->getChannelModel()); + channelBox->setModel(channelModel); + connect(channelBox, SIGNAL(currentIndexChanged(int)), this, SLOT(checkValidity())); + gridLayout->addWidget(channelBox, 1, 1); + + label = new QLabel(i18nc("@label tv show", "Channel:"), widget); + label->setBuddy(channelBox); + gridLayout->addWidget(label, 1, 0); + + beginEdit = new DateTimeEdit(widget); + beginEdit->setCurrentSection(DateTimeEdit::HourSection); + connect(beginEdit, SIGNAL(dateTimeChanged(QDateTime)), + this, SLOT(beginChanged(QDateTime))); + gridLayout->addWidget(beginEdit, 2, 1); + + label = new QLabel(i18nc("@label tv show", "Start:"), widget); + label->setBuddy(beginEdit); + gridLayout->addWidget(label, 2, 0); + + durationEdit = new DurationEdit(widget); + connect(durationEdit, SIGNAL(timeChanged(QTime)), this, SLOT(durationChanged(QTime))); + gridLayout->addWidget(durationEdit, 3, 1); + + label = new QLabel(i18nc("@label tv show", "Duration:"), widget); + label->setBuddy(durationEdit); + gridLayout->addWidget(label, 3, 0); + + endEdit = new DateTimeEdit(widget); + endEdit->setCurrentSection(DateTimeEdit::HourSection); + connect(endEdit, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(endChanged(QDateTime))); + gridLayout->addWidget(endEdit, 4, 1); + + label = new QLabel(i18nc("@label tv show", "End:"), widget); + label->setBuddy(endEdit); + gridLayout->addWidget(label, 4, 0); + + gridLayout->addWidget(new QLabel(i18nc("@label recording", "Repeat:"), widget), 5, 0); + + QBoxLayout *boxLayout = new QHBoxLayout(); + QPushButton *pushButton = + new QPushButton(i18nc("@action next to 'Repeat:'", "Never"), widget); + connect(pushButton, SIGNAL(clicked()), this, SLOT(repeatNever())); + boxLayout->addWidget(pushButton); + + pushButton = new QPushButton(i18nc("@action next to 'Repeat:'", "Daily"), widget); + connect(pushButton, SIGNAL(clicked()), this, SLOT(repeatDaily())); + boxLayout->addWidget(pushButton); + gridLayout->addLayout(boxLayout, 5, 1); + + QGridLayout *dayLayout = new QGridLayout(); + const KCalendarSystem *calendar = KGlobal::locale()->calendar(); + + for (int i = 0; i < 7; ++i) { + dayCheckBoxes[i] = new QCheckBox( + calendar->weekDayName(i + 1, KCalendarSystem::ShortDayName), widget); + dayLayout->addWidget(dayCheckBoxes[i], (i >> 2), (i & 0x03)); + } + + gridLayout->addLayout(dayLayout, 6, 1); + setMainWidget(widget); + + if (recording.isValid()) { + nameEdit->setText(recording->name); + channelBox->setCurrentIndex(channelModel->find(recording->channel).row()); + beginEdit->setDateTime(recording->begin.toLocalTime()); + durationEdit->setTime(recording->duration); + + for (int i = 0; i < 7; ++i) { + if ((recording->repeat & (1 << i)) != 0) { + dayCheckBoxes[i]->setChecked(true); + } + } + + switch (recording->status) { + case DvbRecording::Inactive: + break; + case DvbRecording::Recording: + case DvbRecording::Error: + nameEdit->setEnabled(false); + channelBox->setEnabled(false); + beginEdit->setEnabled(false); + break; + } + } else { + channelBox->setCurrentIndex(-1); + beginEdit->setDateTime(QDateTime::currentDateTime()); + durationEdit->setTime(QTime(2, 0)); + } + + checkValidity(); + + if (nameEdit->text().isEmpty()) { + nameEdit->setFocus(); + } +} + +DvbRecordingEditor::~DvbRecordingEditor() +{ +} + +void DvbRecordingEditor::beginChanged(const QDateTime &begin) +{ + // attention: setDateTimeRange and setDateTime influence each other! + QTime duration = durationEdit->time(); + endEdit->setDateTimeRange(begin, begin.addSecs((23 * 60 + 59) * 60)); + endEdit->setDateTime(begin.addSecs(QTime().secsTo(duration))); +} + +void DvbRecordingEditor::durationChanged(const QTime &duration) +{ + endEdit->setDateTime(beginEdit->dateTime().addSecs(QTime().secsTo(duration))); +} + +void DvbRecordingEditor::endChanged(const QDateTime &end) +{ + durationEdit->setTime(QTime().addSecs(beginEdit->dateTime().secsTo(end))); +} + +void DvbRecordingEditor::repeatNever() +{ + for (int i = 0; i < 7; ++i) { + dayCheckBoxes[i]->setChecked(false); + } +} + +void DvbRecordingEditor::repeatDaily() +{ + for (int i = 0; i < 7; ++i) { + dayCheckBoxes[i]->setChecked(true); + } +} + +void DvbRecordingEditor::checkValidity() +{ + enableButtonOk(!nameEdit->text().isEmpty() && (channelBox->currentIndex() != -1)); +} + +void DvbRecordingEditor::accept() +{ + DvbRecording newRecording; + newRecording.name = nameEdit->text(); + newRecording.channel = + manager->getChannelModel()->findChannelByName(channelBox->currentText()); + newRecording.begin = beginEdit->dateTime().toUTC(); + newRecording.duration = durationEdit->time(); + + for (int i = 0; i < 7; ++i) { + if (dayCheckBoxes[i]->isChecked()) { + newRecording.repeat |= (1 << i); + } + } + + if (!recording.isValid()) { + manager->getRecordingModel()->addRecording(newRecording); + } else { + manager->getRecordingModel()->updateRecording(recording, newRecording); + } + + KDialog::accept(); +} diff -Nru kaffeine-1.1/src/dvb/dvbrecordingdialog.h kaffeine-1.2.2/src/dvb/dvbrecordingdialog.h --- kaffeine-1.1/src/dvb/dvbrecordingdialog.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbrecordingdialog.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,50 @@ +/* + * dvbrecordingdialog.h + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBRECORDINGDIALOG_H +#define DVBRECORDINGDIALOG_H + +#include + +class QTreeView; +class DvbManager; +class DvbRecordingTableModel; + +class DvbRecordingDialog : public KDialog +{ + Q_OBJECT +public: + DvbRecordingDialog(DvbManager *manager_, QWidget *parent); + ~DvbRecordingDialog(); + + static void showDialog(DvbManager *manager_, QWidget *parent); + +private slots: + void newRecording(); + void editRecording(); + void removeRecording(); + +private: + DvbManager *manager; + DvbRecordingTableModel *model; + QTreeView *treeView; +}; + +#endif /* DVBRECORDINGDIALOG_H */ diff -Nru kaffeine-1.1/src/dvb/dvbrecordingdialog_p.h kaffeine-1.2.2/src/dvb/dvbrecordingdialog_p.h --- kaffeine-1.1/src/dvb/dvbrecordingdialog_p.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbrecordingdialog_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,146 @@ +/* + * dvbrecordingdialog_p.h + * + * Copyright (C) 2009-2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBRECORDINGDIALOG_P_H +#define DVBRECORDINGDIALOG_P_H + +#include +#include "../tablemodel.h" +#include "dvbrecording.h" + +class QCheckBox; +class KComboBox; +class KLineEdit; +class DateTimeEdit; +class DurationEdit; + +class DvbRecordingLessThan +{ +public: + DvbRecordingLessThan() + { + // specify each column exactly once + sortOrder[0] = BeginAscending; + sortOrder[1] = ChannelAscending; + sortOrder[2] = NameAscending; + sortOrder[3] = DurationAscending; + } + + ~DvbRecordingLessThan() { } + + enum SortOrder + { + NameAscending = 0, + NameDescending = 1, + ChannelAscending = 2, + ChannelDescending = 3, + BeginAscending = 4, + BeginDescending = 5, + DurationAscending = 6, + DurationDescending = 7 + }; + + SortOrder getSortOrder() const + { + return sortOrder[0]; + } + + void setSortOrder(SortOrder sortOrder_); + + bool operator()(const DvbSharedRecording &x, const DvbSharedRecording &y) const; + +private: + SortOrder sortOrder[4]; +}; + +class DvbRecordingTableModelHelper +{ +public: + DvbRecordingTableModelHelper() { } + ~DvbRecordingTableModelHelper() { } + + typedef DvbSharedRecording ItemType; + typedef DvbRecordingLessThan LessThanType; + + int columnCount() const + { + return 4; + } + + bool filterAcceptsItem(const DvbSharedRecording &recording) const + { + Q_UNUSED(recording) + return true; + } +}; + +class DvbRecordingTableModel : public TableModel +{ + Q_OBJECT +public: + explicit DvbRecordingTableModel(QObject *parent); + ~DvbRecordingTableModel(); + + void setRecordingModel(DvbRecordingModel *recordingModel_); + + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + QVariant data(const QModelIndex &index, int role) const; + void sort(int column, Qt::SortOrder order); + +private slots: + void recordingAdded(const DvbSharedRecording &recording); + void recordingAboutToBeUpdated(const DvbSharedRecording &recording); + void recordingUpdated(const DvbSharedRecording &recording); + void recordingRemoved(const DvbSharedRecording &recording); + +private: + DvbRecordingModel *recordingModel; +}; + +class DvbRecordingEditor : public KDialog +{ + Q_OBJECT +public: + DvbRecordingEditor(DvbManager *manager_, const DvbSharedRecording &recording_, + QWidget *parent); + ~DvbRecordingEditor(); + +private slots: + void beginChanged(const QDateTime &begin); + void durationChanged(const QTime &duration); + void endChanged(const QDateTime &end); + void repeatNever(); + void repeatDaily(); + void checkValidity(); + +private: + void accept(); + + DvbManager *manager; + DvbSharedRecording recording; + KLineEdit *nameEdit; + KComboBox *channelBox; + DateTimeEdit *beginEdit; + DurationEdit *durationEdit; + DateTimeEdit *endEdit; + QCheckBox *dayCheckBoxes[7]; +}; + +#endif /* DVBRECORDINGDIALOG_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbrecording.h kaffeine-1.2.2/src/dvb/dvbrecording.h --- kaffeine-1.1/src/dvb/dvbrecording.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbrecording.h 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbrecording.h * - * Copyright (C) 2009-2010 Christoph Pfister + * Copyright (C) 2009-2011 Christoph Pfister * * 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 @@ -21,89 +21,73 @@ #ifndef DVBRECORDING_H #define DVBRECORDING_H -#include #include +#include "dvbchannel.h" class DvbManager; -class DvbRecording; -class SqlTableModelInterface; +class DvbRecordingFile; -class DvbRecordingKey +class DvbRecording : public SharedData, public SqlKey { public: - explicit DvbRecordingKey(quint32 key_ = 0) : key(key_) { } - ~DvbRecordingKey() { } + DvbRecording() : repeat(0), status(Inactive) { } + ~DvbRecording() { } - bool isValid() const - { - return (key != 0); - } - - bool operator==(const DvbRecordingKey &other) const - { - return (key == other.key); - } - - bool operator<(const DvbRecordingKey &other) const - { - return (key < other.key); - } - - quint32 key; -}; - -class DvbRecordingEntry -{ -public: - DvbRecordingEntry() : repeat(0), isRunning(false) { } - ~DvbRecordingEntry() { } + // checks that all variables are ok and updates 'end' + // 'sqlKey' and 'status' are ignored + bool validate(); + + enum Status { + Inactive, + Recording, + Error + }; QString name; - QString channelName; + DvbSharedChannel channel; QDateTime begin; // UTC + QDateTime end; // UTC, read-only QTime duration; - int repeat; // 1 (monday) | 2 (tuesday) | 4 (wednesday) | etc - bool isRunning; + int repeat; // (1 << 0) (monday) | (1 << 1) (tuesday) | ... | (1 << 6) (sunday) + Status status; // read-only }; -class DvbRecordingModel : public QAbstractTableModel +typedef ExplicitlySharedDataPointer DvbSharedRecording; +Q_DECLARE_TYPEINFO(DvbSharedRecording, Q_MOVABLE_TYPE); + +class DvbRecordingModel : public QObject, private SqlInterface { Q_OBJECT public: DvbRecordingModel(DvbManager *manager_, QObject *parent); ~DvbRecordingModel(); - DvbRecordingKey scheduleProgram(const DvbRecordingEntry &entry); - void removeProgram(const DvbRecordingKey &key); - - enum ItemDataRole - { - SortRole = Qt::UserRole, - DvbRecordingEntryRole = Qt::UserRole + 1 - }; - - QAbstractItemModel *createProxyModel(QObject *parent); - void showDialog(QWidget *parent); - void mayCloseApplication(bool *ok, QWidget *parent); + bool hasRecordings() const; + bool hasActiveRecordings() const; + DvbSharedRecording findRecordingByKey(const SqlKey &sqlKey) const; + QMap getRecordings() const; + DvbSharedRecording addRecording(DvbRecording &recording); + void updateRecording(DvbSharedRecording recording, DvbRecording &modifiedRecording); + void removeRecording(DvbSharedRecording recording); signals: - void programRemoved(const DvbRecordingKey &key); - -private slots: - void checkStatus(); + void recordingAdded(const DvbSharedRecording &recording); + // updating doesn't change the recording pointer (modifies existing content) + void recordingAboutToBeUpdated(const DvbSharedRecording &recording); + void recordingUpdated(const DvbSharedRecording &recording); + void recordingRemoved(const DvbSharedRecording &recording); private: - int columnCount(const QModelIndex &parent) const; - int rowCount(const QModelIndex &parent) const; - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - QVariant data(const QModelIndex &index, int role) const; - bool removeRows(int row, int count, const QModelIndex &parent); - bool setData(const QModelIndex &modelIndex, const QVariant &value, int role); + void timerEvent(QTimerEvent *event); + + void bindToSqlQuery(SqlKey sqlKey, QSqlQuery &query, int index) const; + bool insertFromSqlQuery(SqlKey sqlKey, const QSqlQuery &query, int index); + bool updateStatus(DvbRecording &recording); DvbManager *manager; - QList recordings; - SqlTableModelInterface *sqlInterface; - bool hasActiveRecordings; + QMap recordings; + QMap > recordingFiles; + bool hasPendingOperation; }; #endif /* DVBRECORDING_H */ diff -Nru kaffeine-1.1/src/dvb/dvbrecording_p.h kaffeine-1.2.2/src/dvb/dvbrecording_p.h --- kaffeine-1.1/src/dvb/dvbrecording_p.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbrecording_p.h 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbrecording_p.h * - * Copyright (C) 2009-2010 Christoph Pfister + * Copyright (C) 2009-2011 Christoph Pfister * * 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 @@ -22,117 +22,45 @@ #define DVBRECORDING_P_H #include -#include -#include "../sqltablemodel.h" -#include "dvbrecording.h" +#include +#include "dvbchannel.h" #include "dvbsi.h" -class QCheckBox; -class QTreeView; -class KComboBox; -class KLineEdit; -class DateTimeEdit; -class DurationEdit; +class DvbDevice; +class DvbManager; +class DvbRecording; -Q_DECLARE_METATYPE(const DvbRecordingEntry *) - -class DvbRecording : public QObject, public DvbPidFilter +class DvbRecordingFile : private QObject, public QSharedData, private DvbPidFilter { Q_OBJECT public: - DvbRecording(DvbManager *manager_, const DvbRecordingEntry &entry_); - ~DvbRecording(); - - const DvbRecordingEntry &getEntry() const; - void setEntry(const DvbRecordingEntry &entry_); + explicit DvbRecordingFile(DvbManager *manager_); + ~DvbRecordingFile(); - void start(); + // start() returns true if the recording is already running + bool start(const DvbRecording &recording); void stop(); private slots: void deviceStateChanged(); - void pmtSectionChanged(const DvbPmtSection &pmtSection); + void pmtSectionChanged(const QByteArray &pmtSectionData_); void insertPatPmt(); private: void processData(const char data[188]); DvbManager *manager; - DvbRecordingEntry entry; - QExplicitlySharedDataPointer channel; + DvbSharedChannel channel; QFile file; QList buffers; DvbDevice *device; QList pids; DvbPmtFilter pmtFilter; - DvbPmtSection pmtSection; + QByteArray pmtSectionData; DvbSectionGenerator patGenerator; DvbSectionGenerator pmtGenerator; QTimer patPmtTimer; bool pmtValid; }; -class DvbRecordingSqlInterface : public SqlTableModelInterface -{ -public: - DvbRecordingSqlInterface(DvbManager *manager_, QAbstractItemModel *model, - QList *recordings_, QObject *parent); - ~DvbRecordingSqlInterface(); - -private: - int insertFromSqlQuery(const QSqlQuery &query, int index); - void bindToSqlQuery(QSqlQuery &query, int index, int row) const; - - DvbManager *manager; - QList *recordings; -}; - -class DvbRecordingDialog : public KDialog -{ - Q_OBJECT -public: - DvbRecordingDialog(DvbManager *manager_, DvbRecordingModel *recordingModel, - QWidget *parent); - ~DvbRecordingDialog(); - -private slots: - void newRecording(); - void editRecording(); - void removeRecording(); - -private: - DvbManager *manager; - QAbstractItemModel *proxyModel; - QTreeView *treeView; -}; - -class DvbRecordingEditor : public KDialog -{ - Q_OBJECT -public: - DvbRecordingEditor(DvbManager *manager, QAbstractItemModel *model_, - const QModelIndex &modelIndex_, QWidget *parent); - ~DvbRecordingEditor(); - -private slots: - void beginChanged(const QDateTime &begin); - void durationChanged(const QTime &duration); - void endChanged(const QDateTime &end); - void repeatNever(); - void repeatDaily(); - void checkValidity(); - -private: - void accept(); - - QAbstractItemModel *model; - QPersistentModelIndex persistentIndex; - KLineEdit *nameEdit; - KComboBox *channelBox; - DateTimeEdit *beginEdit; - DurationEdit *durationEdit; - DateTimeEdit *endEdit; - QCheckBox *dayCheckBoxes[7]; -}; - #endif /* DVBRECORDING_P_H */ diff -Nru kaffeine-1.1/src/dvb/dvbscan.cpp kaffeine-1.2.2/src/dvb/dvbscan.cpp --- kaffeine-1.1/src/dvb/dvbscan.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbscan.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -22,6 +22,7 @@ #include #include +#include "dvbdevice.h" #include "dvbsi.h" class DvbPatEntry @@ -34,6 +35,8 @@ int pid; }; +Q_DECLARE_TYPEINFO(DvbPatEntry, Q_MOVABLE_TYPE); + class DvbSdtEntry { public: @@ -68,7 +71,7 @@ private: bool checkMultipleSection(const DvbStandardSection §ion); - void processSection(const QByteArray &data); + void processSection(const char *data, int size); void timerEvent(QTimerEvent *); DvbScan *scan; @@ -83,13 +86,11 @@ { Q_ASSERT(pid == -1); - resetFilter(); - pid = pid_; type = type_; multipleSections.clear(); - if (!scan->device->addPidFilter(pid, this)) { + if (!scan->device->addSectionFilter(pid, this)) { pid = -1; return false; } @@ -108,7 +109,7 @@ { if (pid != -1) { killTimer(timerId); - scan->device->removePidFilter(pid, this); + scan->device->removeSectionFilter(pid, this); pid = -1; } @@ -143,11 +144,11 @@ return true; } -void DvbScanFilter::processSection(const QByteArray &data) +void DvbScanFilter::processSection(const char *data, int size) { switch (type) { case DvbScan::PatFilter: { - DvbPatSection patSection(data); + DvbPatSection patSection(data, size); if (!patSection.isValid() || (patSection.tableId() != 0x0)) { return; @@ -159,12 +160,10 @@ } scan->processPat(patSection); - break; } - case DvbScan::PmtFilter: { - DvbPmtSection pmtSection(data); + DvbPmtSection pmtSection(data, size); if (!pmtSection.isValid() || (pmtSection.tableId() != 0x2)) { return; @@ -176,12 +175,10 @@ } scan->processPmt(pmtSection, pid); - break; } - case DvbScan::SdtFilter: { - DvbSdtSection sdtSection(data); + DvbSdtSection sdtSection(data, size); if (!sdtSection.isValid() || (sdtSection.tableId() != 0x42)) { // there are also other tables in the SDT @@ -194,12 +191,10 @@ } scan->processSdt(sdtSection); - break; } - case DvbScan::VctFilter: { - AtscVctSection vctSection(data); + AtscVctSection vctSection(data, size); if (!vctSection.isValid() || ((vctSection.tableId() != 0xc8) && (vctSection.tableId() != 0xc9))) { @@ -213,12 +208,10 @@ } scan->processVct(vctSection); - break; } - case DvbScan::NitFilter: { - DvbNitSection nitSection(data); + DvbNitSection nitSection(data, size); if (!nitSection.isValid() || (nitSection.tableId() != 0x40)) { // we are only interested in the current network @@ -231,7 +224,6 @@ } scan->processNit(nitSection); - break; } } @@ -268,16 +260,17 @@ bool offsets = (autoScanSource == "AUTO-Offsets"); for (int frequency = 177500000; frequency <= 226500000; frequency += 7000000) { - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = frequency; - transponder->bandwidth = DvbTTransponder::Bandwidth7MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = transponder.as(); + dvbTTransponder->frequency = frequency; + dvbTTransponder->bandwidth = DvbTTransponder::Bandwidth7MHz; + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } for (int frequency = 474000000; frequency <= 858000000; frequency += 8000000) { @@ -294,16 +287,20 @@ offset = 167000; } - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = frequency + offset; - transponder->bandwidth = DvbTTransponder::Bandwidth8MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = + transponder.as(); + dvbTTransponder->frequency = frequency + offset; + dvbTTransponder->bandwidth = DvbTTransponder::Bandwidth8MHz; + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = + DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = + DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } } } else if (autoScanSource == "AUTO-Australia") { @@ -315,16 +312,20 @@ offset = 125000; } - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = frequency + offset; - transponder->bandwidth = DvbTTransponder::Bandwidth7MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = + transponder.as(); + dvbTTransponder->frequency = frequency + offset; + dvbTTransponder->bandwidth = DvbTTransponder::Bandwidth7MHz; + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = + DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = + DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } } @@ -336,16 +337,20 @@ offset = 125000; } - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = frequency + offset; - transponder->bandwidth = DvbTTransponder::Bandwidth7MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = + transponder.as(); + dvbTTransponder->frequency = frequency + offset; + dvbTTransponder->bandwidth = DvbTTransponder::Bandwidth7MHz; + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = + DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = + DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } } } else if (autoScanSource == "AUTO-Italy") { @@ -354,43 +359,53 @@ for (unsigned i = 0; i < (sizeof(italyVhf) / sizeof(italyVhf[0])); ++i) { for (int j = 0; j < 2; ++j) { - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = italyVhf[i]; - transponder->bandwidth = (j == 0) ? DvbTTransponder::Bandwidth7MHz : DvbTTransponder::Bandwidth8MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = + transponder.as(); + dvbTTransponder->frequency = italyVhf[i]; + dvbTTransponder->bandwidth = ((j == 0) ? + DvbTTransponder::Bandwidth7MHz : + DvbTTransponder::Bandwidth8MHz); + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = + DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = + DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } } for (int frequency = 474000000; frequency <= 858000000; frequency += 8000000) { - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = frequency; - transponder->bandwidth = DvbTTransponder::Bandwidth8MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = + transponder.as(); + dvbTTransponder->frequency = frequency; + dvbTTransponder->bandwidth = DvbTTransponder::Bandwidth8MHz; + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } } else if (autoScanSource == "AUTO-Taiwan") { for (int frequency = 527000000; frequency <= 599000000; frequency += 6000000) { - DvbTTransponder *transponder = new DvbTTransponder; - transponder->frequency = frequency; - transponder->bandwidth = DvbTTransponder::Bandwidth6MHz; - transponder->modulation = DvbTTransponder::ModulationAuto; - transponder->fecRateHigh = DvbTTransponder::FecAuto; - transponder->fecRateLow = DvbTTransponder::FecNone; - transponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; - transponder->guardInterval = DvbTTransponder::GuardIntervalAuto; - transponder->hierarchy = DvbTTransponder::HierarchyNone; - transponders.append(DvbTransponder(transponder)); + DvbTransponder transponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = + transponder.as(); + dvbTTransponder->frequency = frequency; + dvbTTransponder->bandwidth = DvbTTransponder::Bandwidth6MHz; + dvbTTransponder->modulation = DvbTTransponder::ModulationAuto; + dvbTTransponder->fecRateHigh = DvbTTransponder::FecAuto; + dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; + dvbTTransponder->transmissionMode = DvbTTransponder::TransmissionModeAuto; + dvbTTransponder->guardInterval = DvbTTransponder::GuardIntervalAuto; + dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; + transponders.append(transponder); } } } @@ -465,7 +480,7 @@ // fall through case ScanNit: { if (!isLive && !isAuto && - (transponder->getTransmissionType() != DvbTransponderBase::Atsc)) { + (transponder.getTransmissionType() != DvbTransponderBase::Atsc)) { if (!startFilter(0x10, NitFilter)) { return; } @@ -475,7 +490,7 @@ } // fall through case ScanSdt: { - if (transponder->getTransmissionType() != DvbTransponderBase::Atsc) { + if (transponder.getTransmissionType() != DvbTransponderBase::Atsc) { if (!startFilter(0x11, SdtFilter)) { return; } @@ -505,7 +520,7 @@ DvbPreviewChannel &channel = channels[i]; foreach (const DvbSdtEntry &sdtEntry, sdtEntries) { - if (channel.getServiceId() == sdtEntry.serviceId) { + if (channel.serviceId == sdtEntry.serviceId) { channel.name = sdtEntry.name; channel.networkId = sdtEntry.networkId; channel.isScrambled = sdtEntry.scrambled; @@ -517,7 +532,7 @@ if (channel.name.isEmpty()) { channel.name = QString("#0 %1:%2"). arg(channel.transportStreamId). - arg(channel.getServiceId()); + arg(channel.serviceId); } } @@ -570,7 +585,8 @@ case DvbDevice::DeviceTuned: if (isAuto) { - transponders[transponderIndex - 1] = device->getAutoTransponder(); + transponders[transponderIndex - 1] = + device->getAutoTransponder(); } state = ScanPat; @@ -605,16 +621,17 @@ DvbPmtParser parser(section); channel.hasVideo = (parser.videoPid >= 0); - for (int i = 0; i < parser.audioPids.size(); ++i) { - channel.audioPids.append(parser.audioPids.at(i).first); + if (!parser.audioPids.isEmpty()) { + channel.audioPid = parser.audioPids.at(0).first; } - if (channel.hasVideo || !channel.audioPids.isEmpty()) { + if (channel.hasVideo || (channel.audioPid >= 0)) { channel.source = source; channel.transponder = transponder; channel.transportStreamId = transportStreamId; channel.pmtPid = pid; - channel.pmtSection = section.toByteArray(); + channel.pmtSectionData = section.toByteArray(); + channel.serviceId = section.programNumber(); channel.snr = snr; channels.append(channel); } @@ -653,7 +670,8 @@ for (AtscVctSectionEntry entry = section.entries(); (i > 0) && (entry.isValid()); --i, entry.advance()) { - QString majorminor = QString("%1-%2 ").arg(entry.majorNumber(), 3, 10, QLatin1Char('0')).arg(entry.minorNumber()); + QString majorminor = QString("%1-%2 "). + arg(entry.majorNumber(), 3, 10, QLatin1Char('0')).arg(entry.minorNumber()); DvbSdtEntry sdtEntry(entry.programNumber(), entry.sourceId(), entry.isScrambled()); @@ -931,7 +949,9 @@ { DvbTransponder newTransponder; - switch (transponder->getTransmissionType()) { + switch (transponder.getTransmissionType()) { + case DvbTransponderBase::Invalid: + break; case DvbTransponderBase::DvbC: { if (descriptor.descriptorTag() != 0x44) { break; @@ -943,14 +963,14 @@ break; } - DvbCTransponder *dvbCTransponder = new DvbCTransponder(); + newTransponder = DvbTransponder(DvbTransponderBase::DvbC); + DvbCTransponder *dvbCTransponder = newTransponder.as(); dvbCTransponder->frequency = DvbDescriptor::bcdToInt(cableDescriptor.frequency(), 100); dvbCTransponder->symbolRate = DvbDescriptor::bcdToInt(cableDescriptor.symbolRate(), 100); dvbCTransponder->modulation = extractDvbCModulation(cableDescriptor); dvbCTransponder->fecRate = extractDvbCFecRate(cableDescriptor); - newTransponder = DvbTransponder(dvbCTransponder); break; } case DvbTransponderBase::DvbS: @@ -968,13 +988,15 @@ DvbSTransponder *dvbSTransponder; if (!satelliteDescriptor.isDvbS2()) { - dvbSTransponder = new DvbSTransponder(); + newTransponder = DvbTransponder(DvbTransponderBase::DvbS); + dvbSTransponder = newTransponder.as(); } else { - if ((device->getTransmissionTypes() & DvbBackendDevice::DvbS2) == 0) { + if ((device->getTransmissionTypes() & DvbDevice::DvbS2) == 0) { break; } - DvbS2Transponder *dvbS2Transponder = new DvbS2Transponder(); + newTransponder = DvbTransponder(DvbTransponderBase::DvbS2); + DvbS2Transponder *dvbS2Transponder = newTransponder.as(); dvbS2Transponder->modulation = extractDvbS2Modulation(satelliteDescriptor); dvbS2Transponder->rollOff = extractDvbS2RollOff(satelliteDescriptor); dvbSTransponder = dvbS2Transponder; @@ -986,7 +1008,6 @@ dvbSTransponder->symbolRate = DvbDescriptor::bcdToInt(satelliteDescriptor.symbolRate(), 100); dvbSTransponder->fecRate = extractDvbSFecRate(satelliteDescriptor); - newTransponder = DvbTransponder(dvbSTransponder); break; } case DvbTransponderBase::DvbT: { @@ -1000,7 +1021,8 @@ break; } - DvbTTransponder *dvbTTransponder = new DvbTTransponder(); + newTransponder = DvbTransponder(DvbTransponderBase::DvbT); + DvbTTransponder *dvbTTransponder = newTransponder.as(); dvbTTransponder->frequency = terrestrialDescriptor.frequency() * 10; dvbTTransponder->bandwidth = extractDvbTBandwidth(terrestrialDescriptor); dvbTTransponder->modulation = extractDvbTModulation(terrestrialDescriptor); @@ -1015,18 +1037,17 @@ dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; } - newTransponder = DvbTransponder(dvbTTransponder); break; } case DvbTransponderBase::Atsc: break; } - if (newTransponder.constData() != NULL) { + if (newTransponder.isValid()) { bool duplicate = false; foreach (const DvbTransponder &existingTransponder, transponders) { - if (existingTransponder->corresponds(newTransponder)) { + if (existingTransponder.corresponds(newTransponder)) { duplicate = true; break; } diff -Nru kaffeine-1.1/src/dvb/dvbscandialog.cpp kaffeine-1.2.2/src/dvb/dvbscandialog.cpp --- kaffeine-1.1/src/dvb/dvbscandialog.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbscandialog.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -33,7 +33,7 @@ #include #include #include -#include "dvbchannelui.h" +#include "dvbchanneldialog.h" #include "dvbdevice.h" #include "dvbliveview.h" #include "dvbmanager.h" @@ -79,11 +79,11 @@ QLabel::paintEvent(event); } -class DvbPreviewChannelModel : public QAbstractTableModel +class DvbPreviewChannelTableModel : public QAbstractTableModel { public: - explicit DvbPreviewChannelModel(QObject *parent) : QAbstractTableModel(parent) { } - ~DvbPreviewChannelModel() { } + explicit DvbPreviewChannelTableModel(QObject *parent) : QAbstractTableModel(parent) { } + ~DvbPreviewChannelTableModel() { } enum ItemDataRole { @@ -126,7 +126,7 @@ Q_DECLARE_METATYPE(const DvbPreviewChannel *) -QAbstractItemModel *DvbPreviewChannelModel::createProxyModel(QObject *parent) +QAbstractItemModel *DvbPreviewChannelTableModel::createProxyModel(QObject *parent) { QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(parent); proxyModel->setDynamicSortFilter(true); @@ -136,7 +136,7 @@ return proxyModel; } -int DvbPreviewChannelModel::columnCount(const QModelIndex &parent) const +int DvbPreviewChannelTableModel::columnCount(const QModelIndex &parent) const { if (parent.isValid()) { return 0; @@ -145,7 +145,7 @@ return 3; } -int DvbPreviewChannelModel::rowCount(const QModelIndex &parent) const +int DvbPreviewChannelTableModel::rowCount(const QModelIndex &parent) const { if (parent.isValid()) { return 0; @@ -154,7 +154,7 @@ return channels.size(); } -QVariant DvbPreviewChannelModel::data(const QModelIndex &index, int role) const +QVariant DvbPreviewChannelTableModel::data(const QModelIndex &index, int role) const { const DvbPreviewChannel &channel = channels.at(index.row()); @@ -195,8 +195,8 @@ return QVariant(); } -QVariant DvbPreviewChannelModel::headerData(int section, Qt::Orientation orientation, int role) - const +QVariant DvbPreviewChannelTableModel::headerData(int section, Qt::Orientation orientation, + int role) const { if (orientation != Qt::Horizontal || role != Qt::DisplayRole) { return QVariant(); @@ -204,7 +204,7 @@ switch (section) { case 0: - return i18n("Name"); + return i18nc("@title:column tv show", "Channel"); case 1: return i18n("Provider"); case 2: @@ -228,18 +228,20 @@ channelModel = new DvbChannelModel(this); channelModel->cloneFrom(manager->getChannelModel()); + DvbChannelTableModel *channelTableModel = new DvbChannelTableModel(this); DvbChannelView *channelView = new DvbChannelView(groupBox); channelView->setContextMenuPolicy(Qt::ActionsContextMenu); channelView->setDragDropMode(QAbstractItemView::InternalMove); - channelView->setModel(channelModel->createProxyModel(channelView)); + channelView->setModel(channelTableModel); channelView->setRootIsDecorated(false); channelView->setSelectionMode(QAbstractItemView::ExtendedSelection); QHeaderView *header = manager->getChannelView()->header(); channelView->sortByColumn(header->sortIndicatorSection(), header->sortIndicatorOrder()); channelView->setSortingEnabled(true); - connect(channelModel, SIGNAL(checkInternalMove(bool*)), - channelView, SLOT(checkInternalMove(bool*))); + channelTableModel->setChannelModel(channelModel); + connect(channelTableModel, SIGNAL(checkChannelDragAndDrop(bool*)), + channelView, SLOT(checkChannelDragAndDrop(bool*))); KAction *action = channelView->addEditAction(); QPushButton *pushButton = new QPushButton(action->icon(), action->text(), groupBox); @@ -338,7 +340,7 @@ groupBox = new QGroupBox(i18n("Scan Results"), mainWidget); groupLayout = new QVBoxLayout(groupBox); - previewModel = new DvbPreviewChannelModel(this); + previewModel = new DvbPreviewChannelTableModel(this); scanResultsView = new QTreeView(groupBox); scanResultsView->setModel(previewModel->createProxyModel(groupBox)); scanResultsView->setRootIsDecorated(false); @@ -400,12 +402,12 @@ // start scan Q_ASSERT(internal == NULL); - if (manager->getLiveView()->getChannel() == NULL) { + if (!manager->getLiveView()->getChannel().isValid()) { isLive = false; // FIXME workaround } if (isLive) { - const DvbChannel *channel = manager->getLiveView()->getChannel(); + const DvbSharedChannel &channel = manager->getLiveView()->getChannel(); internal = new DvbScan(device, channel->source, channel->transponder); } else { QString source = sourceBox->currentText(); @@ -423,7 +425,8 @@ } } else { scanButton->setChecked(false); - KMessageBox::sorry(this, i18nc("message box", "No available device found.")); + KMessageBox::sorry(this, + i18nc("message box", "No available device found.")); return; } } @@ -437,7 +440,8 @@ this, SLOT(foundChannels(QList))); connect(internal, SIGNAL(scanProgress(int)), progressBar, SLOT(setValue(int))); // calling scanFinished() will delete internal, so we have to queue the signal! - connect(internal, SIGNAL(scanFinished()), this, SLOT(scanFinished()), Qt::QueuedConnection); + connect(internal, SIGNAL(scanFinished()), + this, SLOT(scanFinished()), Qt::QueuedConnection); internal->start(); } @@ -501,10 +505,10 @@ if (!selectedRows.contains(modelIndex.row())) { selectedRows.insert(modelIndex.row()); const DvbChannel *channel = scanResultsView->model()->data(modelIndex, - DvbPreviewChannelModel::DvbPreviewChannelRole). + DvbPreviewChannelTableModel::DvbPreviewChannelRole). value(); - // if the index is invalid, the channel is added - channelModel->setData(QModelIndex(), QVariant::fromValue(channel)); + DvbChannel newChannel(*channel); + channelModel->addChannel(newChannel); } } } @@ -542,9 +546,8 @@ } } - const DvbChannel *constChannel = &channel; - // if the index is invalid, the channel is added - channelModel->setData(QModelIndex(), QVariant::fromValue(constChannel)); + DvbChannel newChannel(channel); + channelModel->addChannel(newChannel); } } diff -Nru kaffeine-1.1/src/dvb/dvbscandialog.h kaffeine-1.2.2/src/dvb/dvbscandialog.h --- kaffeine-1.1/src/dvb/dvbscandialog.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbscandialog.h 2011-04-17 21:17:19.000000000 +0200 @@ -35,7 +35,7 @@ class DvbGradProgress; class DvbManager; class DvbPreviewChannel; -class DvbPreviewChannelModel; +class DvbPreviewChannelTableModel; class DvbScan; class DvbScanDialog : public KDialog @@ -74,7 +74,7 @@ QCheckBox *providerCheckBox; QStringList providers; KComboBox *providerBox; - DvbPreviewChannelModel *previewModel; + DvbPreviewChannelTableModel *previewModel; QTreeView *scanResultsView; DvbDevice *device; diff -Nru kaffeine-1.1/src/dvb/dvbscan.h kaffeine-1.2.2/src/dvb/dvbscan.h --- kaffeine-1.1/src/dvb/dvbscan.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbscan.h 2011-04-17 21:17:19.000000000 +0200 @@ -21,7 +21,6 @@ #ifndef DVBSCAN_H #define DVBSCAN_H -#include #include "dvbchannel.h" class AtscVctSection; @@ -49,9 +48,10 @@ // DvbTransponder transponder; // int transportStreamId; // int pmtPid; - // QByteArray pmtSection; + // QByteArray pmtSectionData; + // int serviceId; + // int audioPid; // may be -1 (not present) // bool hasVideo; - QList audioPids; int snr; // percent /* @@ -68,7 +68,6 @@ */ // int number; - // int audioPid; // may be -1 (not present) }; class DvbScan : public QObject diff -Nru kaffeine-1.1/src/dvb/dvbsi.cpp kaffeine-1.2.2/src/dvb/dvbsi.cpp --- kaffeine-1.1/src/dvb/dvbsi.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbsi.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbsi.cpp * - * Copyright (C) 2008-2009 Christoph Pfister + * Copyright (C) 2008-2010 Christoph Pfister * * 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 @@ -23,157 +23,31 @@ #include #include -// FIXME some debug messages may be printed too often - -void DvbSectionFilter::processData(const char data[188]) -{ - if ((data[3] & 0x10) == 0) { - // no payload - kDebug() << "no payload"; - return; - } - - unsigned char continuity = (data[3] & 0x0f); - - if (bufferValid) { - // check continuity - if (continuity == continuityCounter) { - // duplicate packets - kDebug() << "duplicate packets"; - return; - } - - if (continuity != ((continuityCounter + 1) & 0x0f)) { - // discontinuity - kDebug() << "discontinuity"; - } - } - - continuityCounter = continuity; - - bool sectionStart = ((data[1] & 0x40) != 0); - const char *payload; - int payloadLength; - - if ((data[3] & 0x20) == 0) { - // adaptation field not present - payload = data + 4; - payloadLength = 188 - 4; - } else { - // adaptation field present - unsigned char length = data[4]; - - if (length > 182) { - kDebug() << "no payload or corrupt"; - return; - } - - payload = data + 5 + length; - payloadLength = 188 - 5 - length; - } - - // be careful that playloadLength is > 0 at this point - - if (sectionStart) { - unsigned char pointer = payload[0]; - - if (pointer >= payloadLength) { - kDebug() << "invalid pointer"; - pointer = payloadLength - 1; - } - - if (bufferValid) { - appendData(payload + 1, pointer); - processSections(true); - // be aware that the filter might have been reset - // (buffer cleared, bufferValid set to false) - // in this case don't poison the filter with new data - // --> check bufferValid before calling appendData() - } else { - bufferValid = true; - } - - payload += pointer + 1; - payloadLength -= pointer + 1; - } - - if (bufferValid) { - appendData(payload, payloadLength); - processSections(); - } -} - -void DvbSectionFilter::appendData(const char *data, int length) -{ - int size = buffer.size(); - buffer.resize(size + length); - memcpy(buffer.data() + size, data, length); -} - -void DvbSectionFilter::processSections(bool force) -{ - while (buffer.size() >= 3) { - int tableId = static_cast(buffer.at(0)); - - if (tableId == 0xff) { - // padding - buffer.clear(); - break; - } - - int sectionLength = (((static_cast(buffer.at(1)) & 0x0f) << 8) | - static_cast(buffer.at(2))) + 3; - - if (sectionLength <= buffer.size()) { - QByteArray section = buffer.left(sectionLength); - buffer.remove(0, sectionLength); - processSection(section); - continue; - } - - if (force) { - kDebug() << "short section"; - QByteArray section = buffer; - buffer.clear(); - processSection(section); - } - - break; - } - - if (force && !buffer.isEmpty()) { - int tableId = static_cast(buffer.at(0)); - - if (tableId != 0xff) { - kDebug() << "stray data"; - } - - buffer.clear(); - } -} - -DvbSection::DvbSection(const QByteArray &data) : DvbSectionData(data) +void DvbSection::initSection(const char *data, int size) { - if (length < 3) { - length = 0; + if (size < 3) { + initSectionData(); return; } - int sectionLength = (((at(1) & 0xf) << 8) | at(2)) + 3; + int sectionLength = ((((static_cast(data[1]) & 0xf) << 8) | + static_cast(data[2])) + 3); - if (sectionLength <= length) { - length = sectionLength; - } else { + if (sectionLength > size) { kDebug() << "adjusting length"; + sectionLength = size; } + + initSectionData(data, sectionLength, size); } -int DvbStandardSection::verifyCrc32() const +int DvbStandardSection::verifyCrc32(const char *data, int size) { unsigned int crc32 = 0xffffffff; - for (int i = 0; i < length; ++i) { - crc32 = (crc32 << 8) ^ crc32Table[(crc32 >> 24) ^ at(i)]; + for (int i = 0; i < size; ++i) { + crc32 = ((crc32 << 8) ^ + crc32Table[(crc32 >> 24) ^ static_cast(data[i])]); } return crc32; @@ -264,6 +138,16 @@ 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4 }; +void DvbStandardSection::initStandardSection(const char *data, int size) +{ + if (size < 12) { + initSectionData(); + return; + } + + initSection(data, size); +} + class Iso6937Codec : public QTextCodec { public: @@ -353,20 +237,17 @@ 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x0167, 0x014b, 0x00ad }; -QString DvbSiText::convertText(const DvbSectionData &text) +QString DvbSiText::convertText(const char *data, int size) { - const char *data = text.getData(); - int length = text.getLength(); - - if (length < 1) { + if (size < 1) { return QString(); } // determine encoding TextEncoding encoding = (override6937 ? Iso8859_1 : Iso6937); - if (text.at(0) < 0x20) { - switch (text.at(0)) { + if (static_cast(data[0]) < 0x20) { + switch (data[0]) { case 0x01: encoding = Iso8859_5; break; case 0x02: encoding = Iso8859_6; break; case 0x03: encoding = Iso8859_7; break; @@ -374,25 +255,22 @@ case 0x05: encoding = Iso8859_9; break; case 0x06: encoding = Iso8859_10; break; case 0x07: encoding = Iso8859_11; break; - case 0x08: encoding = Iso8859_12; break; case 0x09: encoding = Iso8859_13; break; case 0x0a: encoding = Iso8859_14; break; case 0x0b: encoding = Iso8859_15; break; - case 0x13: encoding = Gb2312; break; case 0x14: encoding = Big5; break; case 0x15: encoding = Utf_8; break; - case 0x10: { - if (length < 3) { + if (size < 3) { return QString(); } - if (text.at(1) != 0) { + if (data[1] != 0) { return QString(); } - switch (text.at(2)) { + switch (data[2]) { case 0x01: encoding = Iso8859_1; break; case 0x02: encoding = Iso8859_2; break; case 0x03: encoding = Iso8859_3; break; @@ -404,27 +282,23 @@ case 0x09: encoding = Iso8859_9; break; case 0x0a: encoding = Iso8859_10; break; case 0x0b: encoding = Iso8859_11; break; - case 0x0c: encoding = Iso8859_12; break; case 0x0d: encoding = Iso8859_13; break; case 0x0e: encoding = Iso8859_14; break; case 0x0f: encoding = Iso8859_15; break; - default: return QString(); } data += 2; - length -= 2; - + size -= 2; break; } - default: return QString(); } data++; - length--; + size--; } if (codecTable[encoding] == NULL) { @@ -443,7 +317,6 @@ case Iso8859_9: codec = QTextCodec::codecForName("ISO 8859-9"); break; case Iso8859_10: codec = QTextCodec::codecForName("ISO 8859-10"); break; case Iso8859_11: codec = QTextCodec::codecForName("ISO 8859-11"); break; - case Iso8859_12: codec = QTextCodec::codecForName("ISO 8859-12"); break; case Iso8859_13: codec = QTextCodec::codecForName("ISO 8859-13"); break; case Iso8859_14: codec = QTextCodec::codecForName("ISO 8859-14"); break; case Iso8859_15: codec = QTextCodec::codecForName("ISO 8859-15"); break; @@ -459,10 +332,10 @@ if (encoding <= Iso8859_15) { // only strip control codes for one-byte character tables - char *dest = new char[length]; + char *dest = new char[size]; char *destIt = dest; - for (const char *it = data; it != (data + length); ++it) { + for (const char *it = data; it != (data + size); ++it) { unsigned char value = *it; if ((value < 0x80) || (value > 0x9f)) { @@ -476,7 +349,7 @@ return result; } - return codecTable[encoding]->toUnicode(data, length); + return codecTable[encoding]->toUnicode(data, size); } void DvbSiText::setOverride6937(bool override) @@ -487,24 +360,25 @@ QTextCodec *DvbSiText::codecTable[EncodingTypeMax + 1] = { NULL }; bool DvbSiText::override6937 = false; -DvbDescriptor::DvbDescriptor(const DvbSectionData &data) : DvbSectionData(data) +void DvbDescriptor::initDescriptor(const char *data, int size) { - if (length < 2) { - if (length != 0) { + if (size < 2) { + if (size != 0) { kDebug() << "invalid descriptor"; } - length = 0; + initSectionData(); return; } - int descriptorLength = at(1) + 2; + int descriptorLength = (static_cast(data[1]) + 2); - if (descriptorLength <= length) { - length = descriptorLength; - } else { + if (descriptorLength > size) { kDebug() << "adjusting length"; + descriptorLength = size; } + + initSectionData(data, descriptorLength, size); } QString AtscPsipText::interpretTextData(const char *data, unsigned int len, @@ -539,15 +413,16 @@ return result; } -QString AtscPsipText::convertText(const DvbSectionData &text) +QString AtscPsipText::convertText(const char *data, int size) { - int length = text.getLength(); QString result; - if (length < 1) { + if (size < 1) { return QString(); } - unsigned int num_strings = text.at(0); + + unsigned int num_strings = static_cast(data[0]); + if (num_strings == 0) { return result; } @@ -558,25 +433,31 @@ // First three bytes are the ISO 639 language code offset += 3; - if (offset > length) { - kWarning() << "Unexpected end"; + + if (offset > size) { + kDebug() << "adjusting length"; return result; } - int num_segments = text.at(offset++); + + int num_segments = static_cast(data[offset++]); + for (int j = 0; j < num_segments; j++) { - if (offset + 3 > length) { - kWarning() << "Unexpected end"; + if ((offset + 3) > size) { + kDebug() << "adjusting length"; return result; } - int comp_type = text.at(offset++); - int mode = text.at(offset++); - int num_bytes = text.at(offset++); - if (offset + num_bytes > length) - { - kWarning() << "Unexpected end"; + + int comp_type = static_cast(data[offset++]); + int mode = static_cast(data[offset++]); + int num_bytes = static_cast(data[offset++]); + + if ((offset + num_bytes) > size) { + kDebug() << "adjusting length"; return result; } - const char *comp_string = text.getData() + offset; + + const char *comp_string = (data + offset); + if (comp_type == 0x00) { // Uncompressed result += interpretTextData(comp_string, @@ -585,13 +466,15 @@ mode == 0x00) { // Huffman Compression // As per the spec, only mode 0x00 supports Huffman coding - result += AtscHuffmanString::convertText(comp_string, num_bytes, comp_type); + result += + AtscHuffmanString::convertText(comp_string, num_bytes, comp_type); } else { - kWarning() << "Unsupported compression type:" - << comp_type << "mode:" << mode; + kWarning() << "Unsupported compression / mode:" << comp_type << mode; } + offset += num_bytes; } + return result; } @@ -643,7 +526,8 @@ // Note this takes advantage of the fact that there is always // at least one byte remaining (to avoid a read-past end // condition) - unsigned char value = (((data[0] << 8) | ((unsigned char) data[1])) >> (shift + 1)) & 0xff; + unsigned char value = + ((((data[0] << 8) | ((unsigned char) data[1])) >> (shift + 1)) & 0xff); bitsLeft -= 8; data++; @@ -1131,6 +1015,29 @@ 0x02, 0x03, 0x04, 0x05, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b }; +void DvbPmtFilter::processSection(const char *data, int size) +{ + unsigned char tableId = data[0]; + + if (tableId != 0x02) { + return; + } + + DvbPmtSection pmtSection(data, size); + + if (!pmtSection.isValid() || (pmtSection.programNumber() != programNumber)) { + return; + } + + if ((size == lastPmtSectionData.size()) && + (memcmp(data, lastPmtSectionData.constData(), size) == 0)) { + return; + } + + lastPmtSectionData = pmtSection.toByteArray(); + emit pmtSectionChanged(lastPmtSectionData); +} + void DvbSectionGenerator::initPat(int transportStreamId, int programNumber, int pmtPid) { Q_ASSERT((pmtPid >= 0) && (pmtPid <= 0x1fff)); @@ -1157,14 +1064,12 @@ int size = entry.getData() - section.getData(); while (entry.isValid()) { - const char *begin = entry.getData(); - bool selected = pids.contains(entry.pid()); - entry.advance(); - - if (selected) { - memcpy(data + size, begin, entry.getData() - begin); - size += entry.getData() - begin; + if (pids.contains(entry.pid())) { + memcpy(data + size, entry.getData(), entry.getLength()); + size += entry.getLength(); } + + entry.advance(); } endSection(size + 4, pmtPid); @@ -1238,20 +1143,6 @@ versionNumber = (versionNumber + 1) & 0x1f; } -void DvbPmtFilter::processSection(const QByteArray &data) -{ - DvbPmtSection pmtSection(data); - - if (!pmtSection.isValid() || (pmtSection.tableId() != 0x2) || - (pmtSection.programNumber() != programNumber) || - (pmtSection.versionNumber() == versionNumber)) { - return; - } - - versionNumber = pmtSection.versionNumber(); - emit pmtSectionChanged(pmtSection); -} - DvbPmtParser::DvbPmtParser(const DvbPmtSection §ion) : videoPid(-1), teletextPid(-1) { for (DvbPmtSectionEntry entry = section.entries(); entry.isValid(); entry.advance()) { @@ -1315,11 +1206,12 @@ case 0x02: // MPEG2 video case 0x10: // MPEG4 video case 0x1b: // H264 video - if (videoPid != -1) { + if (videoPid < 0) { + videoPid = entry.pid(); + } else { kDebug() << "more than one video pid"; } - videoPid = entry.pid(); break; case 0x03: // MPEG1 audio @@ -1333,11 +1225,11 @@ case 0x06: // private data - can be teletext, subtitle, ac3 or something else if (teletextPresent) { - if (teletextPid != -1) { + if (teletextPid < 0) { + teletextPid = entry.pid(); + } else { kDebug() << "more than one teletext pid"; } - - teletextPid = entry.pid(); } if (!subtitleLanguage.isEmpty()) { @@ -1368,310 +1260,406 @@ } } +void AtscEitSectionEntry::initEitSectionEntry(const char *data, int size) +{ + if (size < 12) { + if (size != 0) { + kDebug() << "invalid entry"; + } + + initSectionData(); + return; + } + + titleLength = static_cast(data[9]); + + if (titleLength > (size - 12)) { + kDebug() << "adjusting length"; + titleLength = (size - 12); + } + + // too ugly to be automatically generated + int entryLength = ((((static_cast(data[10 + titleLength]) & 0xf) << 8) | + static_cast(data[11 + titleLength])) + 12 + titleLength); + + if (entryLength > size) { + kDebug() << "adjusting length"; + entryLength = size; + } + + initSectionData(data, entryLength, size); +} + // everything below this line is automatically generated DvbLanguageDescriptor::DvbLanguageDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 6) { + if (getLength() < 6) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } } DvbSubtitleDescriptor::DvbSubtitleDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 10) { + if (getLength() < 10) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } } DvbServiceDescriptor::DvbServiceDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 5) { + if (getLength() < 5) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } providerNameLength = at(3); - if (providerNameLength > (length - 5)) { + if (providerNameLength > (getLength() - 5)) { kDebug() << "adjusting length"; - providerNameLength = length - 5; + providerNameLength = (getLength() - 5); } serviceNameLength = at(4 + providerNameLength); - if (serviceNameLength > (length - (5 + providerNameLength))) { + if (serviceNameLength > (getLength() - (5 + providerNameLength))) { kDebug() << "adjusting length"; - serviceNameLength = length - (5 + providerNameLength); + serviceNameLength = (getLength() - (5 + providerNameLength)); } } DvbShortEventDescriptor::DvbShortEventDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 7) { + if (getLength() < 7) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } eventNameLength = at(5); - if (eventNameLength > (length - 7)) { + if (eventNameLength > (getLength() - 7)) { kDebug() << "adjusting length"; - eventNameLength = length - 7; + eventNameLength = (getLength() - 7); } textLength = at(6 + eventNameLength); - if (textLength > (length - (7 + eventNameLength))) { + if (textLength > (getLength() - (7 + eventNameLength))) { kDebug() << "adjusting length"; - textLength = length - (7 + eventNameLength); + textLength = (getLength() - (7 + eventNameLength)); } } DvbExtendedEventDescriptor::DvbExtendedEventDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 8) { + if (getLength() < 8) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } itemsLength = at(6); - if (itemsLength > (length - 8)) { + if (itemsLength > (getLength() - 8)) { kDebug() << "adjusting length"; - itemsLength = length - 8; + itemsLength = (getLength() - 8); } textLength = at(7 + itemsLength); - if (textLength > (length - (8 + itemsLength))) { + if (textLength > (getLength() - (8 + itemsLength))) { kDebug() << "adjusting length"; - textLength = length - (8 + itemsLength); + textLength = (getLength() - (8 + itemsLength)); } } DvbCableDescriptor::DvbCableDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 13) { + if (getLength() < 13) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } } DvbSatelliteDescriptor::DvbSatelliteDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 13) { + if (getLength() < 13) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } } DvbTerrestrialDescriptor::DvbTerrestrialDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 13) { + if (getLength() < 13) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } } AtscChannelNameDescriptor::AtscChannelNameDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (length < 2) { + if (getLength() < 2) { kDebug() << "invalid descriptor"; - length = 0; + initSectionData(); return; } } -DvbPatSectionEntry::DvbPatSectionEntry(const DvbSectionData &data_) : DvbSectionData(data_) +void DvbPatSectionEntry::initPatSectionEntry(const char *data, int size) { - if (length < 4) { - if (length != 0) { + if (size < 4) { + if (size != 0) { kDebug() << "invalid entry"; } - length = 0; + initSectionData(); return; } - length = 4; + initSectionData(data, 4, size); } -DvbPmtSectionEntry::DvbPmtSectionEntry(const DvbSectionData &data_) : DvbSectionData(data_) +void DvbPmtSectionEntry::initPmtSectionEntry(const char *data, int size) { - if (length < 5) { - if (length != 0) { + if (size < 5) { + if (size != 0) { kDebug() << "invalid entry"; } - length = 0; + initSectionData(); return; } - int entryLength = (((at(3) & 0xf) << 8) | at(4)) + 5; + int entryLength = ((((static_cast(data[3]) & 0xf) << 8) | static_cast(data[4])) + 5); - if (entryLength <= length) { - length = entryLength; - } else { + if (entryLength > size) { kDebug() << "adjusting length"; + entryLength = size; } + + initSectionData(data, entryLength, size); } -DvbSdtSectionEntry::DvbSdtSectionEntry(const DvbSectionData &data_) : DvbSectionData(data_) +void DvbSdtSectionEntry::initSdtSectionEntry(const char *data, int size) { - if (length < 5) { - if (length != 0) { + if (size < 5) { + if (size != 0) { kDebug() << "invalid entry"; } - length = 0; + initSectionData(); return; } - int entryLength = (((at(3) & 0xf) << 8) | at(4)) + 5; + int entryLength = ((((static_cast(data[3]) & 0xf) << 8) | static_cast(data[4])) + 5); - if (entryLength <= length) { - length = entryLength; - } else { + if (entryLength > size) { kDebug() << "adjusting length"; + entryLength = size; } + + initSectionData(data, entryLength, size); } -DvbEitSectionEntry::DvbEitSectionEntry(const DvbSectionData &data_) : DvbSectionData(data_) +void DvbEitSectionEntry::initEitSectionEntry(const char *data, int size) { - if (length < 12) { - if (length != 0) { + if (size < 12) { + if (size != 0) { kDebug() << "invalid entry"; } - length = 0; + initSectionData(); return; } - int entryLength = (((at(10) & 0xf) << 8) | at(11)) + 12; + int entryLength = ((((static_cast(data[10]) & 0xf) << 8) | static_cast(data[11])) + 12); - if (entryLength <= length) { - length = entryLength; - } else { + if (entryLength > size) { kDebug() << "adjusting length"; + entryLength = size; } + + initSectionData(data, entryLength, size); } -DvbNitSectionEntry::DvbNitSectionEntry(const DvbSectionData &data_) : DvbSectionData(data_) +void DvbNitSectionEntry::initNitSectionEntry(const char *data, int size) { - if (length < 6) { - if (length != 0) { + if (size < 6) { + if (size != 0) { kDebug() << "invalid entry"; } - length = 0; + initSectionData(); return; } - int entryLength = (((at(4) & 0xf) << 8) | at(5)) + 6; + int entryLength = ((((static_cast(data[4]) & 0xf) << 8) | static_cast(data[5])) + 6); - if (entryLength <= length) { - length = entryLength; - } else { + if (entryLength > size) { kDebug() << "adjusting length"; + entryLength = size; } + + initSectionData(data, entryLength, size); } -AtscVctSectionEntry::AtscVctSectionEntry(const DvbSectionData &data_) : DvbSectionData(data_) +void AtscMgtSectionEntry::initMgtSectionEntry(const char *data, int size) { - if (length < 32) { - if (length != 0) { + if (size < 11) { + if (size != 0) { kDebug() << "invalid entry"; } - length = 0; + initSectionData(); return; } - int entryLength = (((at(30) & 0x3) << 8) | at(31)) + 32; + int entryLength = ((((static_cast(data[9]) & 0xf) << 8) | static_cast(data[10])) + 11); - if (entryLength <= length) { - length = entryLength; - } else { + if (entryLength > size) { kDebug() << "adjusting length"; + entryLength = size; } + + initSectionData(data, entryLength, size); } -DvbPatSection::DvbPatSection(const QByteArray &data) : DvbStandardSection(data) +void AtscVctSectionEntry::initVctSectionEntry(const char *data, int size) { - if (length < 12) { - length = 0; + if (size < 32) { + if (size != 0) { + kDebug() << "invalid entry"; + } + + initSectionData(); return; } + + int entryLength = ((((static_cast(data[30]) & 0x3) << 8) | static_cast(data[31])) + 32); + + if (entryLength > size) { + kDebug() << "adjusting length"; + entryLength = size; + } + + initSectionData(data, entryLength, size); +} + +void DvbPatSection::initPatSection(const char *data, int size) +{ + if (size < 12) { + initSectionData(); + return; + } + + initStandardSection(data, size); } -DvbPmtSection::DvbPmtSection(const QByteArray &data) : DvbStandardSection(data) +void DvbPmtSection::initPmtSection(const char *data, int size) { - if (length < 16) { - length = 0; + if (size < 16) { + initSectionData(); return; } + initStandardSection(data, size); descriptorsLength = ((at(10) & 0xf) << 8) | at(11); - if (descriptorsLength > (length - 16)) { + if (descriptorsLength > (getLength() - 16)) { kDebug() << "adjusting length"; - descriptorsLength = length - 16; + descriptorsLength = (getLength() - 16); } } -DvbSdtSection::DvbSdtSection(const QByteArray &data) : DvbStandardSection(data) +void DvbSdtSection::initSdtSection(const char *data, int size) { - if (length < 15) { - length = 0; + if (size < 15) { + initSectionData(); return; } + + initStandardSection(data, size); } -DvbEitSection::DvbEitSection(const QByteArray &data) : DvbStandardSection(data) +void DvbEitSection::initEitSection(const char *data, int size) { - if (length < 18) { - length = 0; + if (size < 18) { + initSectionData(); return; } + + initStandardSection(data, size); } -DvbNitSection::DvbNitSection(const QByteArray &data) : DvbStandardSection(data) +void DvbNitSection::initNitSection(const char *data, int size) { - if (length < 16) { - length = 0; + if (size < 16) { + initSectionData(); return; } + initStandardSection(data, size); descriptorsLength = ((at(8) & 0xf) << 8) | at(9); - if (descriptorsLength > (length - 16)) { + if (descriptorsLength > (getLength() - 16)) { kDebug() << "adjusting length"; - descriptorsLength = length - 16; + descriptorsLength = (getLength() - 16); } entriesLength = ((at(10 + descriptorsLength) & 0xf) << 8) | at(11 + descriptorsLength); - if (entriesLength > (length - (16 + descriptorsLength))) { + if (entriesLength > (getLength() - (16 + descriptorsLength))) { kDebug() << "adjusting length"; - entriesLength = length - (16 + descriptorsLength); + entriesLength = (getLength() - (16 + descriptorsLength)); } } -AtscVctSection::AtscVctSection(const QByteArray &data) : DvbStandardSection(data) +void AtscMgtSection::initMgtSection(const char *data, int size) { - if (length < 14) { - length = 0; + if (size < 15) { + initSectionData(); return; } + + initStandardSection(data, size); +} + +void AtscVctSection::initVctSection(const char *data, int size) +{ + if (size < 14) { + initSectionData(); + return; + } + + initStandardSection(data, size); +} + +void AtscEitSection::initEitSection(const char *data, int size) +{ + if (size < 14) { + initSectionData(); + return; + } + + initStandardSection(data, size); +} + +void AtscEttSection::initEttSection(const char *data, int size) +{ + if (size < 17) { + initSectionData(); + return; + } + + initStandardSection(data, size); } diff -Nru kaffeine-1.1/src/dvb/dvbsi.h kaffeine-1.2.2/src/dvb/dvbsi.h --- kaffeine-1.1/src/dvb/dvbsi.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbsi.h 2011-04-17 21:17:19.000000000 +0200 @@ -1,7 +1,7 @@ /* * dvbsi.h * - * Copyright (C) 2008-2009 Christoph Pfister + * Copyright (C) 2008-2010 Christoph Pfister * * 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 @@ -22,47 +22,18 @@ #define DVBSI_H #include -#include "dvbdevice.h" +#include "dvbbackenddevice.h" -class DvbSectionFilter : public DvbPidFilter -{ -public: - DvbSectionFilter() : continuityCounter(-1), bufferValid(false) { } - ~DvbSectionFilter() { } - - void resetFilter() - { - buffer.clear(); - continuityCounter = -1; - bufferValid = false; - } - -protected: - virtual void processSection(const QByteArray &data) = 0; - -private: - void processData(const char data[188]); - - void appendData(const char *data, int length); - void processSections(bool force = false); - - QByteArray buffer; - int continuityCounter; - bool bufferValid; -}; +class DvbPmtSection; class DvbSectionData { public: - explicit DvbSectionData(const QByteArray &byteArray_) : byteArray(byteArray_) + bool isValid() const { - data = byteArray.constData(); - size = byteArray.size(); - length = size; + return (length > 0); } - ~DvbSectionData() { } - unsigned char at(int index) const { return data[index]; @@ -78,50 +49,46 @@ return length; } - bool isValid() const - { - return (length > 0); - } - QByteArray toByteArray() const { return QByteArray(data, length); } protected: - DvbSectionData next() const + DvbSectionData() { } + ~DvbSectionData() { } + + void initSectionData() { - return DvbSectionData(byteArray, data + length, size - length); + data = NULL; + length = 0; + size = 0; } - DvbSectionData subArray(int index, int size) const + void initSectionData(const char *data_, int length_, int size_) { - return DvbSectionData(byteArray, data + index, size); + data = data_; + length = length_; + size = size_; } - int length; - -private: - DvbSectionData(const QByteArray &byteArray_, const char *data_, int size_) : - size(size_), data(data_), byteArray(byteArray_) + int getSize() const { - length = size; + return size; } - int size; +private: const char *data; - QByteArray byteArray; + int length; + int size; }; class DvbSection : public DvbSectionData { public: - explicit DvbSection(const QByteArray &data); - ~DvbSection() { } - int getSectionLength() const { - return length; + return getLength(); } int tableId() const @@ -133,20 +100,20 @@ { return (at(1) & 0x80) != 0; } + +protected: + DvbSection() { } + ~DvbSection() { } + + void initSection(const char *data, int size); + +private: + Q_DISABLE_COPY(DvbSection) }; class DvbStandardSection : public DvbSection { public: - explicit DvbStandardSection(const QByteArray &data) : DvbSection(data) - { - if (length < 12) { - length = 0; - } - } - - ~DvbStandardSection() { } - int versionNumber() const { return (at(5) >> 1) & ((1 << 5) - 1); @@ -167,15 +134,23 @@ return at(7); } - int verifyCrc32() const; - + static int verifyCrc32(const char *data, int size); static const unsigned int crc32Table[]; + +protected: + DvbStandardSection() { } + ~DvbStandardSection() { } + + void initStandardSection(const char *data, int size); + +private: + Q_DISABLE_COPY(DvbStandardSection) }; class DvbSiText { public: - static QString convertText(const DvbSectionData &text); + static QString convertText(const char *data, int size); static void setOverride6937(bool override); private: @@ -193,15 +168,13 @@ Iso8859_9 = 9, Iso8859_10 = 10, Iso8859_11 = 11, - Iso8859_12 = 12, - Iso8859_13 = 13, - Iso8859_14 = 14, - Iso8859_15 = 15, - Gb2312 = 16, - Big5 = 17, - Utf_8 = 18, - - EncodingTypeMax = 18 + Iso8859_13 = 12, + Iso8859_14 = 13, + Iso8859_15 = 14, + Gb2312 = 15, + Big5 = 16, + Utf_8 = 17, + EncodingTypeMax = 17 }; static QTextCodec *codecTable[EncodingTypeMax + 1]; @@ -211,7 +184,11 @@ class DvbDescriptor : public DvbSectionData { public: - explicit DvbDescriptor(const DvbSectionData &data); + DvbDescriptor(const char *data, int size) + { + initDescriptor(data, size); + } + ~DvbDescriptor() { } int descriptorTag() const @@ -221,7 +198,7 @@ void advance() { - *this = DvbDescriptor(next()); + initDescriptor(getData() + getLength(), getSize() - getLength()); } static int bcdToInt(unsigned int bcd, int multiplier) @@ -236,13 +213,17 @@ return value; } + +private: + void initDescriptor(const char *data, int size); }; // ATSC "Multiple String Structure". See A/65C Section 6.10 class AtscPsipText { public: - static QString convertText(const DvbSectionData &text); + static QString convertText(const char *data, int size); + private: static QString interpretTextData(const char *data, unsigned int len, unsigned int mode); @@ -275,6 +256,28 @@ static const unsigned char Huffman2Tables[]; }; +class DvbPmtFilter : public QObject, public DvbSectionFilter +{ + Q_OBJECT +public: + DvbPmtFilter() : programNumber(-1) { } + ~DvbPmtFilter() { } + + void setProgramNumber(int programNumber_) + { + programNumber = programNumber_; + } + +signals: + void pmtSectionChanged(const QByteArray &pmtSectionData); + +private: + void processSection(const char *data, int size); + + int programNumber; + QByteArray lastPmtSectionData; +}; + class DvbSectionGenerator { public: @@ -302,45 +305,57 @@ int continuityCounter; }; -class DvbPmtFilter : public QObject, public DvbSectionFilter +class DvbPmtParser { - Q_OBJECT public: - DvbPmtFilter() : programNumber(-1), versionNumber(-1) { } - ~DvbPmtFilter() { } + explicit DvbPmtParser(const DvbPmtSection §ion); + ~DvbPmtParser() { } - void reset() + int videoPid; + QList > audioPids; // QString = language code (may be empty) + QList > subtitlePids; // QString = language code + int teletextPid; +}; + +class AtscEitSectionEntry : public DvbSectionData +{ +public: + AtscEitSectionEntry(const char *data, int size) { - DvbSectionFilter::resetFilter(); - programNumber = -1; - versionNumber = -1; + initEitSectionEntry(data, size); } - void setProgramNumber(int programNumber_) + ~AtscEitSectionEntry() { } + + void advance() { - programNumber = programNumber_; + initEitSectionEntry(getData() + getLength(), getSize() - getLength()); } -signals: - void pmtSectionChanged(const DvbPmtSection §ion); + int eventId() const + { + return ((at(0) & 0x3f) << 8) | at(1); + } -private: - void processSection(const QByteArray &data); + int startTime() const + { + return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); + } - int programNumber; - int versionNumber; -}; + int duration() const + { + return ((at(6) & 0xf) << 16) | (at(7) << 8) | at(8); + } -class DvbPmtParser -{ -public: - explicit DvbPmtParser(const DvbPmtSection §ion); - ~DvbPmtParser() { } + QString title() const + { + return AtscPsipText::convertText(getData() + 10, titleLength); + } - int videoPid; - QList > audioPids; // QString = language code (may be empty) - QList > subtitlePids; // QString = language code - int teletextPid; +private: + void initEitSectionEntry(const char *data, int size); + + int titleLength; }; // everything below this line is automatically generated @@ -365,6 +380,9 @@ { return at(4); } + +private: + Q_DISABLE_COPY(DvbLanguageDescriptor) }; class DvbSubtitleDescriptor : public DvbDescriptor @@ -392,6 +410,9 @@ { return at(5); } + +private: + Q_DISABLE_COPY(DvbSubtitleDescriptor) }; class DvbServiceDescriptor : public DvbDescriptor @@ -402,15 +423,17 @@ QString providerName() const { - return DvbSiText::convertText(subArray(4, providerNameLength)); + return DvbSiText::convertText(getData() + 4, providerNameLength); } QString serviceName() const { - return DvbSiText::convertText(subArray(5 + providerNameLength, serviceNameLength)); + return DvbSiText::convertText(getData() + 5 + providerNameLength, serviceNameLength); } private: + Q_DISABLE_COPY(DvbServiceDescriptor) + int providerNameLength; int serviceNameLength; }; @@ -423,15 +446,17 @@ QString eventName() const { - return DvbSiText::convertText(subArray(6, eventNameLength)); + return DvbSiText::convertText(getData() + 6, eventNameLength); } QString text() const { - return DvbSiText::convertText(subArray(7 + eventNameLength, textLength)); + return DvbSiText::convertText(getData() + 7 + eventNameLength, textLength); } private: + Q_DISABLE_COPY(DvbShortEventDescriptor) + int eventNameLength; int textLength; }; @@ -444,10 +469,12 @@ QString text() const { - return DvbSiText::convertText(subArray(8 + itemsLength, textLength)); + return DvbSiText::convertText(getData() + 8 + itemsLength, textLength); } private: + Q_DISABLE_COPY(DvbExtendedEventDescriptor) + int itemsLength; int textLength; }; @@ -477,6 +504,9 @@ { return (at(12) & 0xf); } + +private: + Q_DISABLE_COPY(DvbCableDescriptor) }; class DvbSatelliteDescriptor : public DvbDescriptor @@ -519,6 +549,9 @@ { return (at(12) & 0xf); } + +private: + Q_DISABLE_COPY(DvbSatelliteDescriptor) }; class DvbTerrestrialDescriptor : public DvbDescriptor @@ -566,6 +599,9 @@ { return ((at(8) & 0x7) >> 1); } + +private: + Q_DISABLE_COPY(DvbTerrestrialDescriptor) }; class AtscChannelNameDescriptor : public DvbDescriptor @@ -576,19 +612,26 @@ QString name() const { - return AtscPsipText::convertText(subArray(2, length - 2)); + return AtscPsipText::convertText(getData() + 2, getLength() - 2); } + +private: + Q_DISABLE_COPY(AtscChannelNameDescriptor) }; class DvbPatSectionEntry : public DvbSectionData { public: - explicit DvbPatSectionEntry(const DvbSectionData &data_); + DvbPatSectionEntry(const char *data, int size) + { + initPatSectionEntry(data, size); + } + ~DvbPatSectionEntry() { } void advance() { - *this = DvbPatSectionEntry(next()); + initPatSectionEntry(getData() + getLength(), getSize() - getLength()); } int programNumber() const @@ -600,17 +643,24 @@ { return ((at(2) & 0x1f) << 8) | at(3); } + +private: + void initPatSectionEntry(const char *data, int size); }; class DvbPmtSectionEntry : public DvbSectionData { public: - explicit DvbPmtSectionEntry(const DvbSectionData &data_); + DvbPmtSectionEntry(const char *data, int size) + { + initPmtSectionEntry(data, size); + } + ~DvbPmtSectionEntry() { } void advance() { - *this = DvbPmtSectionEntry(next()); + initPmtSectionEntry(getData() + getLength(), getSize() - getLength()); } int streamType() const @@ -625,19 +675,26 @@ DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(5, length - 5)); + return DvbDescriptor(getData() + 5, getLength() - 5); } + +private: + void initPmtSectionEntry(const char *data, int size); }; class DvbSdtSectionEntry : public DvbSectionData { public: - explicit DvbSdtSectionEntry(const DvbSectionData &data_); + DvbSdtSectionEntry(const char *data, int size) + { + initSdtSectionEntry(data, size); + } + ~DvbSdtSectionEntry() { } void advance() { - *this = DvbSdtSectionEntry(next()); + initSdtSectionEntry(getData() + getLength(), getSize() - getLength()); } int serviceId() const @@ -652,19 +709,26 @@ DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(5, length - 5)); + return DvbDescriptor(getData() + 5, getLength() - 5); } + +private: + void initSdtSectionEntry(const char *data, int size); }; class DvbEitSectionEntry : public DvbSectionData { public: - explicit DvbEitSectionEntry(const DvbSectionData &data_); + DvbEitSectionEntry(const char *data, int size) + { + initEitSectionEntry(data, size); + } + ~DvbEitSectionEntry() { } void advance() { - *this = DvbEitSectionEntry(next()); + initEitSectionEntry(getData() + getLength(), getSize() - getLength()); } int startDate() const @@ -684,36 +748,84 @@ DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(12, length - 12)); + return DvbDescriptor(getData() + 12, getLength() - 12); } + +private: + void initEitSectionEntry(const char *data, int size); }; class DvbNitSectionEntry : public DvbSectionData { public: - explicit DvbNitSectionEntry(const DvbSectionData &data_); + DvbNitSectionEntry(const char *data, int size) + { + initNitSectionEntry(data, size); + } + ~DvbNitSectionEntry() { } void advance() { - *this = DvbNitSectionEntry(next()); + initNitSectionEntry(getData() + getLength(), getSize() - getLength()); } DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(6, length - 6)); + return DvbDescriptor(getData() + 6, getLength() - 6); } + +private: + void initNitSectionEntry(const char *data, int size); +}; + +class AtscMgtSectionEntry : public DvbSectionData +{ +public: + AtscMgtSectionEntry(const char *data, int size) + { + initMgtSectionEntry(data, size); + } + + ~AtscMgtSectionEntry() { } + + void advance() + { + initMgtSectionEntry(getData() + getLength(), getSize() - getLength()); + } + + int tableType() const + { + return (at(0) << 8) | at(1); + } + + int pid() const + { + return ((at(2) & 0x1f) << 8) | at(3); + } + + DvbDescriptor descriptors() const + { + return DvbDescriptor(getData() + 11, getLength() - 11); + } + +private: + void initMgtSectionEntry(const char *data, int size); }; class AtscVctSectionEntry : public DvbSectionData { public: - explicit AtscVctSectionEntry(const DvbSectionData &data_); + AtscVctSectionEntry(const char *data, int size) + { + initVctSectionEntry(data, size); + } + ~AtscVctSectionEntry() { } void advance() { - *this = AtscVctSectionEntry(next()); + initVctSectionEntry(getData() + getLength(), getSize() - getLength()); } int shortName1() const @@ -778,14 +890,26 @@ DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(32, length - 32)); + return DvbDescriptor(getData() + 32, getLength() - 32); } + +private: + void initVctSectionEntry(const char *data, int size); }; class DvbPatSection : public DvbStandardSection { public: - explicit DvbPatSection(const QByteArray &data); + DvbPatSection(const char *data, int size) + { + initPatSection(data, size); + } + + explicit DvbPatSection(const QByteArray &byteArray) + { + initPatSection(byteArray.constData(), byteArray.size()); + } + ~DvbPatSection() { } int transportStreamId() const @@ -795,14 +919,27 @@ DvbPatSectionEntry entries() const { - return DvbPatSectionEntry(subArray(8, length - 12)); + return DvbPatSectionEntry(getData() + 8, getLength() - 12); } + +private: + Q_DISABLE_COPY(DvbPatSection) + void initPatSection(const char *data, int size); }; class DvbPmtSection : public DvbStandardSection { public: - explicit DvbPmtSection(const QByteArray &data); + DvbPmtSection(const char *data, int size) + { + initPmtSection(data, size); + } + + explicit DvbPmtSection(const QByteArray &byteArray) + { + initPmtSection(byteArray.constData(), byteArray.size()); + } + ~DvbPmtSection() { } int programNumber() const @@ -812,22 +949,34 @@ DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(12, descriptorsLength)); + return DvbDescriptor(getData() + 12, descriptorsLength); } DvbPmtSectionEntry entries() const { - return DvbPmtSectionEntry(subArray(12 + descriptorsLength, length - (16 + descriptorsLength))); + return DvbPmtSectionEntry(getData() + 12 + descriptorsLength, getLength() - (16 + descriptorsLength)); } private: + Q_DISABLE_COPY(DvbPmtSection) + void initPmtSection(const char *data, int size); + int descriptorsLength; }; class DvbSdtSection : public DvbStandardSection { public: - explicit DvbSdtSection(const QByteArray &data); + DvbSdtSection(const char *data, int size) + { + initSdtSection(data, size); + } + + explicit DvbSdtSection(const QByteArray &byteArray) + { + initSdtSection(byteArray.constData(), byteArray.size()); + } + ~DvbSdtSection() { } int originalNetworkId() const @@ -837,14 +986,27 @@ DvbSdtSectionEntry entries() const { - return DvbSdtSectionEntry(subArray(11, length - 15)); + return DvbSdtSectionEntry(getData() + 11, getLength() - 15); } + +private: + Q_DISABLE_COPY(DvbSdtSection) + void initSdtSection(const char *data, int size); }; class DvbEitSection : public DvbStandardSection { public: - explicit DvbEitSection(const QByteArray &data); + DvbEitSection(const char *data, int size) + { + initEitSection(data, size); + } + + explicit DvbEitSection(const QByteArray &byteArray) + { + initEitSection(byteArray.constData(), byteArray.size()); + } + ~DvbEitSection() { } int serviceId() const @@ -864,35 +1026,90 @@ DvbEitSectionEntry entries() const { - return DvbEitSectionEntry(subArray(14, length - 18)); + return DvbEitSectionEntry(getData() + 14, getLength() - 18); } + +private: + Q_DISABLE_COPY(DvbEitSection) + void initEitSection(const char *data, int size); }; class DvbNitSection : public DvbStandardSection { public: - explicit DvbNitSection(const QByteArray &data); + DvbNitSection(const char *data, int size) + { + initNitSection(data, size); + } + + explicit DvbNitSection(const QByteArray &byteArray) + { + initNitSection(byteArray.constData(), byteArray.size()); + } + ~DvbNitSection() { } DvbDescriptor descriptors() const { - return DvbDescriptor(subArray(10, descriptorsLength)); + return DvbDescriptor(getData() + 10, descriptorsLength); } DvbNitSectionEntry entries() const { - return DvbNitSectionEntry(subArray(12 + descriptorsLength, entriesLength)); + return DvbNitSectionEntry(getData() + 12 + descriptorsLength, entriesLength); } private: + Q_DISABLE_COPY(DvbNitSection) + void initNitSection(const char *data, int size); + int descriptorsLength; int entriesLength; }; +class AtscMgtSection : public DvbStandardSection +{ +public: + AtscMgtSection(const char *data, int size) + { + initMgtSection(data, size); + } + + explicit AtscMgtSection(const QByteArray &byteArray) + { + initMgtSection(byteArray.constData(), byteArray.size()); + } + + ~AtscMgtSection() { } + + int entryCount() const + { + return (at(9) << 8) | at(10); + } + + AtscMgtSectionEntry entries() const + { + return AtscMgtSectionEntry(getData() + 11, getLength() - 15); + } + +private: + Q_DISABLE_COPY(AtscMgtSection) + void initMgtSection(const char *data, int size); +}; + class AtscVctSection : public DvbStandardSection { public: - explicit AtscVctSection(const QByteArray &data); + AtscVctSection(const char *data, int size) + { + initVctSection(data, size); + } + + explicit AtscVctSection(const QByteArray &byteArray) + { + initVctSection(byteArray.constData(), byteArray.size()); + } + ~AtscVctSection() { } int entryCount() const @@ -902,8 +1119,87 @@ AtscVctSectionEntry entries() const { - return AtscVctSectionEntry(subArray(10, length - 14)); + return AtscVctSectionEntry(getData() + 10, getLength() - 14); } + +private: + Q_DISABLE_COPY(AtscVctSection) + void initVctSection(const char *data, int size); +}; + +class AtscEitSection : public DvbStandardSection +{ +public: + AtscEitSection(const char *data, int size) + { + initEitSection(data, size); + } + + explicit AtscEitSection(const QByteArray &byteArray) + { + initEitSection(byteArray.constData(), byteArray.size()); + } + + ~AtscEitSection() { } + + int sourceId() const + { + return (at(3) << 8) | at(4); + } + + int entryCount() const + { + return at(9); + } + + AtscEitSectionEntry entries() const + { + return AtscEitSectionEntry(getData() + 10, getLength() - 14); + } + +private: + Q_DISABLE_COPY(AtscEitSection) + void initEitSection(const char *data, int size); +}; + +class AtscEttSection : public DvbStandardSection +{ +public: + AtscEttSection(const char *data, int size) + { + initEttSection(data, size); + } + + explicit AtscEttSection(const QByteArray &byteArray) + { + initEttSection(byteArray.constData(), byteArray.size()); + } + + ~AtscEttSection() { } + + int sourceId() const + { + return (at(9) << 8) | at(10); + } + + int eventId() const + { + return (at(11) << 6) | (at(12) >> 2); + } + + int messageType() const + { + return (at(12) & 0x3); + } + + QString text() const + { + return AtscPsipText::convertText(getData() + 13, getLength() - 17); + } + +private: + Q_DISABLE_COPY(AtscEttSection) + void initEttSection(const char *data, int size); }; #endif /* DVBSI_H */ diff -Nru kaffeine-1.1/src/dvb/dvbtab.cpp kaffeine-1.2.2/src/dvb/dvbtab.cpp --- kaffeine-1.1/src/dvb/dvbtab.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbtab.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -20,7 +20,6 @@ #include "dvbtab.h" -#include #include #include #include @@ -33,13 +32,16 @@ #include #include #include +#include #include "../mediawidget.h" #include "../osdwidget.h" -#include "dvbchannelui.h" +#include "dvbchanneldialog.h" #include "dvbconfigdialog.h" #include "dvbepg.h" +#include "dvbepgdialog.h" #include "dvbliveview.h" #include "dvbmanager.h" +#include "dvbrecordingdialog.h" #include "dvbscandialog.h" class DvbTimeShiftCleaner : public QThread @@ -98,7 +100,7 @@ menu->addAction(collection->addAction("dvb_osd", osdAction)); KAction *recordingsAction = new KAction(KIcon("view-pim-calendar"), - i18nc("dialog", "Recording Schedule"), this); + i18nc("dialog", "Recording Schedule"), this); recordingsAction->setShortcut(Qt::Key_R); connect(recordingsAction, SIGNAL(triggered(bool)), this, SLOT(showRecordingDialog())); menu->addAction(collection->addAction("dvb_recordings", recordingsAction)); @@ -112,15 +114,16 @@ menu->addSeparator(); - KAction *configureAction = new KAction(KIcon("configure"), i18n("Configure Television"), this); - connect(configureAction, SIGNAL(triggered(bool)), this, SLOT(configureDvb())); + KAction *configureAction = new KAction(KIcon("configure"), + i18nc("@action:inmenu", "Configure Television..."), this); + connect(configureAction, SIGNAL(triggered()), this, SLOT(configureDvb())); menu->addAction(collection->addAction("settings_dvb", configureAction)); connect(mediaWidget, SIGNAL(previousDvbChannel()), this, SLOT(previousChannel())); connect(mediaWidget, SIGNAL(nextDvbChannel()), this, SLOT(nextChannel())); - connect(manager->getRecordingModel(), SIGNAL(programRemoved(DvbRecordingKey)), - this, SLOT(programRemoved(DvbRecordingKey))); + connect(manager->getRecordingModel(), SIGNAL(recordingRemoved(DvbSharedRecording)), + this, SLOT(recordingRemoved(DvbSharedRecording))); QBoxLayout *boxLayout = new QHBoxLayout(this); boxLayout->setMargin(0); @@ -141,7 +144,7 @@ channelView = new DvbChannelView(leftWidget); channelView->setContextMenuPolicy(Qt::ActionsContextMenu); - channelProxyModel = manager->getChannelModel()->createProxyModel(channelView); + channelProxyModel = new DvbChannelTableModel(this); channelView->setModel(channelProxyModel); channelView->setRootIsDecorated(false); @@ -153,8 +156,9 @@ channelView->setSortingEnabled(true); channelView->addEditAction(); connect(channelView, SIGNAL(activated(QModelIndex)), this, SLOT(playChannel(QModelIndex))); + channelProxyModel->setChannelModel(manager->getChannelModel()); connect(lineEdit, SIGNAL(textChanged(QString)), - channelProxyModel, SLOT(setFilterRegExp(QString))); + channelProxyModel, SLOT(setFilter(QString))); manager->setChannelView(channelView); leftLayout->addWidget(channelView); @@ -223,37 +227,32 @@ void DvbTab::playChannel(const QString &nameOrNumber) { DvbChannelModel *channelModel = manager->getChannelModel(); - QModelIndex index; + DvbSharedChannel channel; int number = nameOrNumber.toInt(); if (number > 0) { - index = channelModel->findChannelByNumber(number); + channel = channelModel->findChannelByNumber(number); } - if (!index.isValid()) { - index = channelModel->findChannelByName(nameOrNumber); + if (!channel.isValid()) { + channel = channelModel->findChannelByName(nameOrNumber); } - if (index.isValid()) { - const DvbChannel *channel = channelModel->data(index, - DvbChannelModel::DvbChannelRole).value(); - playChannel(channel, channelProxyModel->mapFromSource(index)); + if (channel.isValid()) { + playChannel(channel, channelProxyModel->find(channel)); } } void DvbTab::playLastChannel() { - if ((manager->getLiveView()->getChannel() == NULL) && !currentChannel.isEmpty()) { + if (!manager->getLiveView()->getChannel().isValid() && !currentChannel.isEmpty()) { lastChannel = currentChannel; } - DvbChannelModel *channelModel = manager->getChannelModel(); - QModelIndex index = channelModel->findChannelByName(lastChannel); + DvbSharedChannel channel = manager->getChannelModel()->findChannelByName(lastChannel); - if (index.isValid()) { - const DvbChannel *channel = channelModel->data(index, - DvbChannelModel::DvbChannelRole).value(); - playChannel(channel, channelProxyModel->mapFromSource(index)); + if (channel.isValid()) { + playChannel(channel, channelProxyModel->find(channel)); } } @@ -277,13 +276,38 @@ if ((key >= Qt::Key_0) && (key <= Qt::Key_9)) { osdChannel += QString::number(key - Qt::Key_0); osdChannelTimer.start(1500); - mediaWidget->getOsdWidget()->showText(i18nc("osd", "Channel: %1_", osdChannel), 1500); + mediaWidget->getOsdWidget()->showText(i18nc("osd", "Channel: %1_", osdChannel), + 1500); } } void DvbTab::mayCloseApplication(bool *ok, QWidget *parent) { - manager->getRecordingModel()->mayCloseApplication(ok, parent); + if (*ok) { + DvbRecordingModel *recordingModel = manager->getRecordingModel(); + + if (recordingModel->hasActiveRecordings()) { + if (KMessageBox::warningYesNo(parent, i18nc("message box", + "Kaffeine is currently recording programs.\n" + "Do you really want to close the application?")) != KMessageBox::Yes) { + *ok = false; + } + + return; + } + + if (recordingModel->hasRecordings()) { + if (KMessageBox::questionYesNo(parent, i18nc("message box", + "Kaffeine has scheduled recordings.\n" + "Do you really want to close the application?"), QString(), + KStandardGuiItem::yes(), KStandardGuiItem::no(), + "ScheduledRecordings") != KMessageBox::Yes) { + *ok = false; + } + + return; + } + } } void DvbTab::showChannelDialog() @@ -296,20 +320,14 @@ void DvbTab::showRecordingDialog() { - manager->getRecordingModel()->showDialog(this); + DvbRecordingDialog::showDialog(manager, this); } void DvbTab::showEpgDialog() { - const DvbChannel *channel = manager->getLiveView()->getChannel(); - QString channelName; - - if (channel != NULL) { - channelName = channel->name; - } - - KDialog *dialog = new DvbEpgDialog(manager, channelName, this); + DvbEpgDialog *dialog = new DvbEpgDialog(manager, this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); + dialog->setCurrentChannel(manager->getLiveView()->getChannel()); dialog->setModal(true); dialog->show(); } @@ -317,34 +335,46 @@ void DvbTab::instantRecord(bool checked) { if (checked) { - const DvbChannel *channel = manager->getLiveView()->getChannel(); + const DvbSharedChannel &channel = manager->getLiveView()->getChannel(); - if (channel == NULL) { + if (!channel.isValid()) { instantRecordAction->setChecked(false); return; } - DvbRecordingEntry recordingEntry; - // FIXME use epg for name - recordingEntry.name = (channel->name + QTime::currentTime().toString("-hhmmss")); - recordingEntry.channelName = channel->name; - recordingEntry.begin = QDateTime::currentDateTime().toUTC(); - recordingEntry.duration = QTime(12, 0); - instantRecordingKey = - manager->getRecordingModel()->scheduleProgram(recordingEntry); - mediaWidget->getOsdWidget()->showText(i18nc("osd", "Instant Record Started"), 1500); + DvbRecording recording; + QList epgEntries = + manager->getEpgModel()->getCurrentNext(channel); + + if (!epgEntries.isEmpty()) { + recording.name = epgEntries.at(0)->title; + } + + if (recording.name.isEmpty()) { + recording.name = + (channel->name + QTime::currentTime().toString("-hhmmss")); + } + + recording.channel = channel; + recording.begin = QDateTime::currentDateTime().toUTC(); + recording.duration = QTime(12, 0); + instantRecording = manager->getRecordingModel()->addRecording(recording); + mediaWidget->getOsdWidget()->showText(i18nc("osd", "Instant Record Started"), + 1500); } else { - manager->getRecordingModel()->removeProgram(instantRecordingKey); - mediaWidget->getOsdWidget()->showText(i18nc("osd", "Instant Record Stopped"), 1500); + manager->getRecordingModel()->removeRecording(instantRecording); + mediaWidget->getOsdWidget()->showText(i18nc("osd", "Instant Record Stopped"), + 1500); } } -void DvbTab::programRemoved(const DvbRecordingKey &recordingKey) +void DvbTab::recordingRemoved(const DvbSharedRecording &recording) { - if (instantRecordingKey == recordingKey) { - instantRecordingKey = DvbRecordingKey(); + if (instantRecording == recording) { + instantRecording = DvbSharedRecording(); instantRecordAction->setChecked(false); - mediaWidget->getOsdWidget()->showText(i18nc("osd", "Instant Record Stopped"), 1500); + mediaWidget->getOsdWidget()->showText(i18nc("osd", "Instant Record Stopped"), + 1500); } } @@ -362,22 +392,17 @@ osdChannel.clear(); osdChannelTimer.stop(); - DvbChannelModel *channelModel = manager->getChannelModel(); - QModelIndex index = channelModel->findChannelByNumber(number); + DvbSharedChannel channel = manager->getChannelModel()->findChannelByNumber(number); - if (index.isValid()) { - const DvbChannel *channel = channelModel->data(index, - DvbChannelModel::DvbChannelRole).value(); - playChannel(channel, channelProxyModel->mapFromSource(index)); + if (channel.isValid()) { + playChannel(channel, channelProxyModel->find(channel)); } } void DvbTab::playChannel(const QModelIndex &index) { if (index.isValid()) { - const DvbChannel *channel = channelProxyModel->data(index, - DvbChannelModel::DvbChannelRole).value(); - playChannel(channel, index); + playChannel(channelProxyModel->value(index), index); } } @@ -406,7 +431,8 @@ } QDir dir(manager->getTimeShiftFolder()); - QStringList entries = dir.entryList(QStringList("TimeShift-*.m2t"), QDir::Files, QDir::Name); + QStringList entries = + dir.entryList(QStringList("TimeShift-*.m2t"), QDir::Files, QDir::Name); if (entries.count() < 2) { return; @@ -423,9 +449,9 @@ mediaWidget->setFocus(); } -void DvbTab::playChannel(const DvbChannel *channel, const QModelIndex &index) +void DvbTab::playChannel(const DvbSharedChannel &channel, const QModelIndex &index) { - if (channel == NULL) { + if (!channel.isValid()) { kWarning() << "channel is invalid"; return; } diff -Nru kaffeine-1.1/src/dvb/dvbtab.h kaffeine-1.2.2/src/dvb/dvbtab.h --- kaffeine-1.1/src/dvb/dvbtab.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/dvb/dvbtab.h 2011-04-17 21:17:19.000000000 +0200 @@ -26,12 +26,12 @@ #include "../tabbase.h" #include "dvbrecording.h" -class QAbstractProxyModel; +class QModelIndex; class QSplitter; class KAction; class KActionCollection; class KMenu; -class DvbChannel; +class DvbChannelTableModel; class DvbChannelView; class DvbTimeShiftCleaner; class MediaWidget; @@ -49,6 +49,11 @@ void toggleOsd(); void toggleInstantRecord(); + DvbManager *getManager() const + { + return manager; + } + void enableDvbDump(); public slots: @@ -60,7 +65,7 @@ void showEpgDialog(); void showRecordingDialog(); void instantRecord(bool checked); - void programRemoved(const DvbRecordingKey &recordingKey); + void recordingRemoved(const DvbSharedRecording &recording); void configureDvb(); void tuneOsdChannel(); void playChannel(const QModelIndex &index); @@ -70,14 +75,14 @@ private: void activate(); - void playChannel(const DvbChannel *channel, const QModelIndex &index); + void playChannel(const DvbSharedChannel &channel, const QModelIndex &index); MediaWidget *mediaWidget; DvbManager *manager; KAction *instantRecordAction; - DvbRecordingKey instantRecordingKey; + DvbSharedRecording instantRecording; QSplitter *splitter; - QAbstractProxyModel *channelProxyModel; + DvbChannelTableModel *channelProxyModel; DvbChannelView *channelView; QLayout *mediaLayout; QString osdChannel; diff -Nru kaffeine-1.1/src/dvb/dvbtransponder.cpp kaffeine-1.2.2/src/dvb/dvbtransponder.cpp --- kaffeine-1.1/src/dvb/dvbtransponder.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbtransponder.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,597 @@ +/* + * dvbtransponder.cpp + * + * Copyright (C) 2007-2010 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "dvbtransponder.h" + +#include +#include + +static const char *enumToLinuxtv(DvbTransponderBase::FecRate fecRate) +{ + switch (fecRate) { + case DvbTransponderBase::FecNone: return "NONE"; + case DvbTransponderBase::Fec1_2: return "1/2"; + case DvbTransponderBase::Fec1_3: return "1/3"; + case DvbTransponderBase::Fec1_4: return "1/4"; + case DvbTransponderBase::Fec2_3: return "2/3"; + case DvbTransponderBase::Fec2_5: return "2/5"; + case DvbTransponderBase::Fec3_4: return "3/4"; + case DvbTransponderBase::Fec3_5: return "3/5"; + case DvbTransponderBase::Fec4_5: return "4/5"; + case DvbTransponderBase::Fec5_6: return "5/6"; + case DvbTransponderBase::Fec6_7: return "6/7"; + case DvbTransponderBase::Fec7_8: return "7/8"; + case DvbTransponderBase::Fec8_9: return "8/9"; + case DvbTransponderBase::Fec9_10: return "9/10"; + case DvbTransponderBase::FecAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbCTransponder::Modulation modulation) +{ + switch (modulation) { + case DvbCTransponder::Qam16: return "QAM16"; + case DvbCTransponder::Qam32: return "QAM32"; + case DvbCTransponder::Qam64: return "QAM64"; + case DvbCTransponder::Qam128: return "QAM128"; + case DvbCTransponder::Qam256: return "QAM256"; + case DvbCTransponder::ModulationAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbSTransponder::Polarization polarization) +{ + switch (polarization) { + case DvbSTransponder::Horizontal: return "H"; + case DvbSTransponder::Vertical: return "V"; + case DvbSTransponder::CircularLeft: return "L"; + case DvbSTransponder::CircularRight: return "R"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbS2Transponder::Modulation modulation) +{ + switch (modulation) { + case DvbS2Transponder::Qpsk: return "QPSK"; + case DvbS2Transponder::Psk8: return "8PSK"; + case DvbS2Transponder::Apsk16: return "16APSK"; + case DvbS2Transponder::Apsk32: return "32APSK"; + case DvbS2Transponder::ModulationAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbS2Transponder::RollOff rollOff) +{ + switch (rollOff) { + case DvbS2Transponder::RollOff20: return "20"; + case DvbS2Transponder::RollOff25: return "25"; + case DvbS2Transponder::RollOff35: return "35"; + case DvbS2Transponder::RollOffAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbTTransponder::Bandwidth bandwidth) +{ + switch (bandwidth) { + case DvbTTransponder::Bandwidth6MHz: return "6MHz"; + case DvbTTransponder::Bandwidth7MHz: return "7MHz"; + case DvbTTransponder::Bandwidth8MHz: return "8MHz"; + case DvbTTransponder::BandwidthAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbTTransponder::Modulation modulation) +{ + switch (modulation) { + case DvbTTransponder::Qpsk: return "QPSK"; + case DvbTTransponder::Qam16: return "QAM16"; + case DvbTTransponder::Qam64: return "QAM64"; + case DvbTTransponder::ModulationAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbTTransponder::TransmissionMode transmissionMode) +{ + switch (transmissionMode) { + case DvbTTransponder::TransmissionMode2k: return "2k"; + case DvbTTransponder::TransmissionMode4k: return "4k"; + case DvbTTransponder::TransmissionMode8k: return "8k"; + case DvbTTransponder::TransmissionModeAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbTTransponder::GuardInterval guardInterval) +{ + switch (guardInterval) { + case DvbTTransponder::GuardInterval1_4: return "1/4"; + case DvbTTransponder::GuardInterval1_8: return "1/8"; + case DvbTTransponder::GuardInterval1_16: return "1/16"; + case DvbTTransponder::GuardInterval1_32: return "1/32"; + case DvbTTransponder::GuardIntervalAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbTTransponder::Hierarchy hierarchy) +{ + switch (hierarchy) { + case DvbTTransponder::HierarchyNone: return "NONE"; + case DvbTTransponder::Hierarchy1: return "1"; + case DvbTTransponder::Hierarchy2: return "2"; + case DvbTTransponder::Hierarchy4: return "4"; + case DvbTTransponder::HierarchyAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(AtscTransponder::Modulation modulation) +{ + switch (modulation) { + case AtscTransponder::Qam64: return "QAM64"; + case AtscTransponder::Qam256: return "QAM256"; + case AtscTransponder::Vsb8: return "8VSB"; + case AtscTransponder::Vsb16: return "16VSB"; + case AtscTransponder::ModulationAuto: return "AUTO"; + } + + return NULL; +} + +template static T readEnum(QDataStream &stream) +{ + int intValue; + stream >> intValue; + T value = static_cast(intValue); + + if ((value != intValue) || (enumToLinuxtv(value) == NULL)) { + stream.setStatus(QDataStream::ReadCorruptData); + } + + return value; +} + +class DvbChannelStringReader +{ +public: + explicit DvbChannelStringReader(const QString &string_) : string(string_) + { + stream.setString(&string); + stream.setIntegerBase(10); + } + + ~DvbChannelStringReader() { } + + bool isValid() const + { + return (stream.status() == QTextStream::Ok); + } + + void readInt(int &value) + { + stream >> value; + } + + template T readEnum() + { + QString string; + stream >> string; + + for (int i = 0;; ++i) { + T value = static_cast(i); + + if (value != i) { + break; + } + + const char *entry = enumToLinuxtv(value); + + if (entry == NULL) { + break; + } + + if (string == entry) { + return value; + } + } + + stream.setStatus(QTextStream::ReadCorruptData); + return T(); + } + + void checkChar(const QChar &value) + { + QString string; + stream >> string; + + if (string != value) { + stream.setStatus(QTextStream::ReadCorruptData); + } + } + + void checkString(const QString &value) + { + QString string; + stream >> string; + + if (string != value) { + stream.setStatus(QTextStream::ReadCorruptData); + } + } + +private: + QString string; + QTextStream stream; +}; + +class DvbChannelStringWriter +{ +public: + DvbChannelStringWriter() + { + stream.setString(&string); + } + + ~DvbChannelStringWriter() { } + + QString getString() + { + string.chop(1); + return string; + } + + void writeInt(int value) + { + stream << value << ' '; + } + + template void writeEnum(T value) + { + stream << enumToLinuxtv(value) << ' '; + } + + void writeChar(const QChar &value) + { + stream << value << ' '; + } + + void writeString(const QString &value) + { + stream << value << ' '; + } + +private: + QString string; + QTextStream stream; +}; + +void DvbCTransponder::readTransponder(QDataStream &stream) +{ + stream >> frequency; + stream >> symbolRate; + modulation = readEnum(stream); + fecRate = readEnum(stream); +} + +bool DvbCTransponder::fromString(const QString &string) +{ + DvbChannelStringReader reader(string); + reader.checkChar('C'); + reader.readInt(frequency); + reader.readInt(symbolRate); + fecRate = reader.readEnum(); + modulation = reader.readEnum(); + return reader.isValid(); +} + +QString DvbCTransponder::toString() const +{ + DvbChannelStringWriter writer; + writer.writeChar('C'); + writer.writeInt(frequency); + writer.writeInt(symbolRate); + writer.writeEnum(fecRate); + writer.writeEnum(modulation); + return writer.getString(); +} + +bool DvbCTransponder::corresponds(const DvbTransponder &transponder) const +{ + const DvbCTransponder *dvbCTransponder = transponder.as(); + + return ((dvbCTransponder != NULL) && + (qAbs(dvbCTransponder->frequency - frequency) <= 2000000)); +} + +void DvbSTransponder::readTransponder(QDataStream &stream) +{ + polarization = readEnum(stream); + stream >> frequency; + stream >> symbolRate; + fecRate = readEnum(stream); +} + +bool DvbSTransponder::fromString(const QString &string) +{ + DvbChannelStringReader reader(string); + reader.checkChar('S'); + reader.readInt(frequency); + polarization = reader.readEnum(); + reader.readInt(symbolRate); + fecRate = reader.readEnum(); + return reader.isValid(); +} + +QString DvbSTransponder::toString() const +{ + DvbChannelStringWriter writer; + writer.writeChar('S'); + writer.writeInt(frequency); + writer.writeEnum(polarization); + writer.writeInt(symbolRate); + writer.writeEnum(fecRate); + return writer.getString(); +} + +bool DvbSTransponder::corresponds(const DvbTransponder &transponder) const +{ + const DvbSTransponder *dvbSTransponder = transponder.as(); + + return ((dvbSTransponder != NULL) && + (dvbSTransponder->polarization == polarization) && + (qAbs(dvbSTransponder->frequency - frequency) <= 2000)); +} + +void DvbS2Transponder::readTransponder(QDataStream &stream) +{ + polarization = readEnum(stream); + stream >> frequency; + stream >> symbolRate; + fecRate = readEnum(stream); + modulation = readEnum(stream); + rollOff = readEnum(stream); +} + +bool DvbS2Transponder::fromString(const QString &string) +{ + DvbChannelStringReader reader(string); + reader.checkString("S2"); + reader.readInt(frequency); + polarization = reader.readEnum(); + reader.readInt(symbolRate); + fecRate = reader.readEnum(); + rollOff = reader.readEnum(); + modulation = reader.readEnum(); + return reader.isValid(); +} + +QString DvbS2Transponder::toString() const +{ + DvbChannelStringWriter writer; + writer.writeString("S2"); + writer.writeInt(frequency); + writer.writeEnum(polarization); + writer.writeInt(symbolRate); + writer.writeEnum(fecRate); + writer.writeEnum(rollOff); + writer.writeEnum(modulation); + return writer.getString(); +} + +bool DvbS2Transponder::corresponds(const DvbTransponder &transponder) const +{ + const DvbS2Transponder *dvbS2Transponder = transponder.as(); + + return ((dvbS2Transponder != NULL) && + (dvbS2Transponder->polarization == polarization) && + (qAbs(dvbS2Transponder->frequency - frequency) <= 2000)); +} + +void DvbTTransponder::readTransponder(QDataStream &stream) +{ + stream >> frequency; + bandwidth = readEnum(stream); + modulation = readEnum(stream); + fecRateHigh = readEnum(stream); + fecRateLow = readEnum(stream); + transmissionMode = readEnum(stream); + guardInterval = readEnum(stream); + hierarchy = readEnum(stream); +} + +bool DvbTTransponder::fromString(const QString &string) +{ + DvbChannelStringReader reader(string); + reader.checkChar('T'); + reader.readInt(frequency); + bandwidth = reader.readEnum(); + fecRateHigh = reader.readEnum(); + fecRateLow = reader.readEnum(); + modulation = reader.readEnum(); + transmissionMode = reader.readEnum(); + guardInterval = reader.readEnum(); + hierarchy = reader.readEnum(); + return reader.isValid(); +} + +QString DvbTTransponder::toString() const +{ + DvbChannelStringWriter writer; + writer.writeChar('T'); + writer.writeInt(frequency); + writer.writeEnum(bandwidth); + writer.writeEnum(fecRateHigh); + writer.writeEnum(fecRateLow); + writer.writeEnum(modulation); + writer.writeEnum(transmissionMode); + writer.writeEnum(guardInterval); + writer.writeEnum(hierarchy); + return writer.getString(); +} + +bool DvbTTransponder::corresponds(const DvbTransponder &transponder) const +{ + const DvbTTransponder *dvbTTransponder = transponder.as(); + + return ((dvbTTransponder != NULL) && + (qAbs(dvbTTransponder->frequency - frequency) <= 2000000)); +} + +void AtscTransponder::readTransponder(QDataStream &stream) +{ + stream >> frequency; + modulation = readEnum(stream); +} + +bool AtscTransponder::fromString(const QString &string) +{ + DvbChannelStringReader reader(string); + reader.checkChar('A'); + reader.readInt(frequency); + modulation = reader.readEnum(); + return reader.isValid(); +} + +QString AtscTransponder::toString() const +{ + DvbChannelStringWriter writer; + writer.writeChar('A'); + writer.writeInt(frequency); + writer.writeEnum(modulation); + return writer.getString(); +} + +bool AtscTransponder::corresponds(const DvbTransponder &transponder) const +{ + const AtscTransponder *atscTransponder = transponder.as(); + + return ((atscTransponder != NULL) && + (qAbs(atscTransponder->frequency - frequency) <= 2000000)); +} + +bool DvbTransponder::corresponds(const DvbTransponder &transponder) const +{ + switch (data.transmissionType) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: + return as()->corresponds(transponder); + case DvbTransponderBase::DvbS: + return as()->corresponds(transponder); + case DvbTransponderBase::DvbS2: + return as()->corresponds(transponder); + case DvbTransponderBase::DvbT: + return as()->corresponds(transponder); + case DvbTransponderBase::Atsc: + return as()->corresponds(transponder); + } + + return false; +} + +QString DvbTransponder::toString() const +{ + switch (data.transmissionType) { + case DvbTransponderBase::Invalid: + break; + case DvbTransponderBase::DvbC: + return as()->toString(); + case DvbTransponderBase::DvbS: + return as()->toString(); + case DvbTransponderBase::DvbS2: + return as()->toString(); + case DvbTransponderBase::DvbT: + return as()->toString(); + case DvbTransponderBase::Atsc: + return as()->toString(); + } + + return QString(); +} + +DvbTransponder DvbTransponder::fromString(const QString &string) +{ + if (string.size() >= 2) { + switch (string.at(0).unicode()) { + case 'C': { + DvbTransponder transponder(DvbTransponderBase::DvbC); + + if (transponder.as()->fromString(string)) { + return transponder; + } + + break; + } + case 'S': + if (string.at(1) != '2') { + DvbTransponder transponder(DvbTransponderBase::DvbS); + + if (transponder.as()->fromString(string)) { + return transponder; + } + } else { + DvbTransponder transponder(DvbTransponderBase::DvbS2); + + if (transponder.as()->fromString(string)) { + return transponder; + } + } + + break; + case 'T': { + DvbTransponder transponder(DvbTransponderBase::DvbT); + + if (transponder.as()->fromString(string)) { + return transponder; + } + + break; + } + case 'A': { + DvbTransponder transponder(DvbTransponderBase::Atsc); + + if (transponder.as()->fromString(string)) { + return transponder; + } + + break; + } + } + } + + return DvbTransponder(); +} diff -Nru kaffeine-1.1/src/dvb/dvbtransponder.h kaffeine-1.2.2/src/dvb/dvbtransponder.h --- kaffeine-1.1/src/dvb/dvbtransponder.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/dvb/dvbtransponder.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,302 @@ +/* + * dvbtransponder.h + * + * Copyright (C) 2007-2010 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef DVBTRANSPONDER_H +#define DVBTRANSPONDER_H + +#include + +class QDataStream; +class QString; +class DvbTransponder; + +class DvbTransponderBase +{ +public: + enum TransmissionType { + Invalid = 5, + DvbC = 0, + DvbS = 1, + DvbS2 = 4, + DvbT = 2, + Atsc = 3 + }; + + enum FecRate { + FecNone = 0, + Fec1_2 = 1, + Fec1_3 = 10, + Fec1_4 = 11, + Fec2_3 = 2, + Fec2_5 = 12, + Fec3_4 = 3, + Fec3_5 = 13, + Fec4_5 = 4, + Fec5_6 = 5, + Fec6_7 = 6, + Fec7_8 = 7, + Fec8_9 = 8, + Fec9_10 = 14, + FecAuto = 9 + }; + +private: + TransmissionType transmissionType : 8; +}; + +class DvbCTransponder : public DvbTransponderBase +{ +public: + enum Modulation { + Qam16 = 0, + Qam32 = 1, + Qam64 = 2, + Qam128 = 3, + Qam256 = 4, + ModulationAuto = 5 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Modulation modulation : 8; + FecRate fecRate : 8; + int frequency; // Hz + int symbolRate; // symbols per second +}; + +class DvbSTransponder : public DvbTransponderBase +{ +public: + enum Polarization { + Horizontal = 0, + Vertical = 1, + CircularLeft = 2, + CircularRight = 3 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Polarization polarization : 8; + FecRate fecRate : 8; + int frequency; // kHz + int symbolRate; // symbols per second +}; + +class DvbS2Transponder : public DvbSTransponder +{ +public: + enum Modulation { + Qpsk = 0, + Psk8 = 1, + Apsk16 = 2, + Apsk32 = 3, + ModulationAuto = 4 + }; + + enum RollOff { + RollOff20 = 0, + RollOff25 = 1, + RollOff35 = 2, + RollOffAuto = 3 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Modulation modulation : 8; + RollOff rollOff : 8; +}; + +class DvbTTransponder : public DvbTransponderBase +{ +public: + enum Bandwidth { + Bandwidth6MHz = 0, + Bandwidth7MHz = 1, + Bandwidth8MHz = 2, + BandwidthAuto = 3 + }; + + enum Modulation { + Qpsk = 0, + Qam16 = 1, + Qam64 = 2, + ModulationAuto = 3 + }; + + enum TransmissionMode { + TransmissionMode2k = 0, + TransmissionMode4k = 3, + TransmissionMode8k = 1, + TransmissionModeAuto = 2 + }; + + enum GuardInterval { + GuardInterval1_4 = 0, + GuardInterval1_8 = 1, + GuardInterval1_16 = 2, + GuardInterval1_32 = 3, + GuardIntervalAuto = 4 + }; + + enum Hierarchy { + HierarchyNone = 0, + Hierarchy1 = 1, + Hierarchy2 = 2, + Hierarchy4 = 3, + HierarchyAuto = 4 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Bandwidth bandwidth : 8; + Modulation modulation : 8; + FecRate fecRateHigh : 8; // high priority stream + FecRate fecRateLow : 8; // low priority stream + TransmissionMode transmissionMode : 8; + GuardInterval guardInterval : 8; + Hierarchy hierarchy : 8; + int frequency; // Hz +}; + +class AtscTransponder : public DvbTransponderBase +{ +public: + enum Modulation { + Qam64 = 0, + Qam256 = 1, + Vsb8 = 2, + Vsb16 = 3, + ModulationAuto = 4 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Modulation modulation : 8; + int frequency; // Hz +}; + +class DvbTransponder +{ +public: + DvbTransponder() + { + data.transmissionType = DvbTransponderBase::Invalid; + } + + explicit DvbTransponder(DvbTransponderBase::TransmissionType transmissionType_) + { + memset(&data, 0, sizeof(data)); + data.transmissionType = transmissionType_; + } + + ~DvbTransponder() { } + + DvbTransponderBase::TransmissionType getTransmissionType() const + { + return data.transmissionType; + } + + bool isValid() const + { + return (data.transmissionType != DvbTransponderBase::Invalid); + } + + static DvbTransponder fromString(const QString &string); // linuxtv scan file format + QString toString() const; // linuxtv scan file format + + /* + * corresponding in this context means that both tuning parameters will lead to the same + * transponder; note the tuning parameters don't have to be equal, it's sufficient that + * they can't coexist at the same time (for example the frequency difference between two + * channels in the same network has to be big enough because of bandwidth) + */ + + bool corresponds(const DvbTransponder &transponder) const; + + template const T *as() const + { + if (data.transmissionType == transmissionTypeFor(static_cast(NULL))) { + return reinterpret_cast(&data); + } + + return NULL; + } + + template T *as() + { + if (data.transmissionType == transmissionTypeFor(static_cast(NULL))) { + return reinterpret_cast(&data); + } + + return NULL; + } + +private: + DvbTransponderBase::TransmissionType transmissionTypeFor(const DvbCTransponder *) const + { + return DvbTransponderBase::DvbC; + } + + DvbTransponderBase::TransmissionType transmissionTypeFor(const DvbSTransponder *) const + { + return DvbTransponderBase::DvbS; + } + + DvbTransponderBase::TransmissionType transmissionTypeFor(const DvbS2Transponder *) const + { + return DvbTransponderBase::DvbS2; + } + + DvbTransponderBase::TransmissionType transmissionTypeFor(const DvbTTransponder *) const + { + return DvbTransponderBase::DvbT; + } + + DvbTransponderBase::TransmissionType transmissionTypeFor(const AtscTransponder *) const + { + return DvbTransponderBase::Atsc; + } + + union { + DvbTransponderBase::TransmissionType transmissionType : 8; + DvbCTransponder dvbCTransponder; + DvbSTransponder dvbSTransponder; + DvbS2Transponder dvbS2Transponder; + DvbTTransponder dvbTTransponder; + AtscTransponder atscTransponder; + } data; +}; + +#endif /* DVBTRANSPONDER_H */ diff -Nru kaffeine-1.1/src/ensurenopendingoperation.cpp kaffeine-1.2.2/src/ensurenopendingoperation.cpp --- kaffeine-1.1/src/ensurenopendingoperation.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/ensurenopendingoperation.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,28 @@ +/* + * ensurenopendingoperation.cpp + * + * Copyright (C) 2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "ensurenopendingoperation.h" + +#include + +void EnsureNoPendingOperation::printFatalErrorMessage() +{ + kFatal() << "illegal recursive call"; +} diff -Nru kaffeine-1.1/src/ensurenopendingoperation.h kaffeine-1.2.2/src/ensurenopendingoperation.h --- kaffeine-1.1/src/ensurenopendingoperation.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/ensurenopendingoperation.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,48 @@ +/* + * ensurenopendingoperation.h + * + * Copyright (C) 2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef ENSURENOPENDINGOPERATION_H +#define ENSURENOPENDINGOPERATION_H + +class EnsureNoPendingOperation +{ +public: + explicit EnsureNoPendingOperation(bool &hasPendingOperation_) : + hasPendingOperation(hasPendingOperation_) + { + if (hasPendingOperation) { + printFatalErrorMessage(); + } + + hasPendingOperation = true; + } + + ~EnsureNoPendingOperation() + { + hasPendingOperation = false; + } + +private: + void printFatalErrorMessage(); + + bool &hasPendingOperation; +}; + +#endif /* ENSURENOPENDINGOPERATION_H */ diff -Nru kaffeine-1.1/src/kaffeine.desktop kaffeine-1.2.2/src/kaffeine.desktop --- kaffeine-1.1/src/kaffeine.desktop 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/kaffeine.desktop 2011-04-17 21:17:19.000000000 +0200 @@ -26,6 +26,7 @@ Name[ko]=Kaffeine Name[ku]=Kaffeine Name[lv]=Kaffeine +Name[mai]=Kaffeine Name[nb]=Kaffeine Name[nds]=Kaffeine Name[ne]=क्याफिन @@ -49,6 +50,7 @@ Name[uk]=Kaffeine Name[x-test]=xxKaffeinexx Name[zh_CN]=Kaffeine +Name[zh_TW]=Kaffeine Exec=kaffeine %U GenericName=Media Player GenericName[bg]=Медия плеър @@ -77,6 +79,7 @@ GenericName[ko]=미디어 재생기 GenericName[ku]=Lêdarê Medya GenericName[lv]=Mediju atskaņotājs +GenericName[mai]=मीडिया-प्लेयर GenericName[nb]=Mediespiller GenericName[nds]=Medienafspeler GenericName[ne]=मिडिया प्लेयर @@ -101,9 +104,10 @@ GenericName[uk]=Програвач мультимедіа GenericName[x-test]=xxMedia Playerxx GenericName[zh_CN]=媒体播放器 +GenericName[zh_TW]=媒體播放器 Categories=Qt;KDE;AudioVideo;Player; Icon=kaffeine -MimeType=application/ogg;application/ram;application/vnd.rn-realmedia;application/x-quicktime-media-link;application/x-shorten;application/xspf+xml;audio/ac3;audio/basic;audio/mp4;audio/mpeg;audio/ogg;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-flac;audio/x-it;audio/x-m4b;audio/x-matroska;audio/x-mod;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/x-s3m;audio/x-scpls;audio/x-speex;audio/x-stm;audio/x-tta;audio/x-voc;audio/x-wav;audio/x-wavpack;audio/x-xm;video/dv;video/mp2t;video/mp4;video/mpeg;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-anim;video/x-flic;video/x-flv;video/x-matroska;video/x-mng;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-ogm+ogg; +MimeType=application/ogg;application/ram;application/vnd.rn-realmedia;application/x-quicktime-media-link;application/x-shorten;application/xspf+xml;audio/ac3;audio/basic;audio/flac;audio/mp4;audio/mpeg;audio/ogg;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-it;audio/x-m4b;audio/x-matroska;audio/x-mod;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/x-s3m;audio/x-scpls;audio/x-stm;audio/x-tta;audio/x-voc;audio/x-wav;audio/x-wavpack;audio/x-xm;video/dv;video/mp2t;video/mp4;video/mpeg;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-anim;video/x-flic;video/x-flv;video/x-matroska;video/x-mng;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-ogm+ogg; Terminal=false Type=Application X-KDE-HasTempFileOption=true diff -Nru kaffeine-1.1/src/main.cpp kaffeine-1.2.2/src/main.cpp --- kaffeine-1.1/src/main.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/main.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -63,7 +63,7 @@ int main(int argc, char *argv[]) { - KAboutData aboutData("kaffeine", 0, ki18n("Kaffeine"), "1.1", + KAboutData aboutData("kaffeine", 0, ki18n("Kaffeine"), "1.2.2", ki18n("A media player for KDE with digital TV support."), KAboutData::License_GPL_V2, ki18n("(C) 2007-2010 The Kaffeine Authors"), KLocalizedString(), "http://kaffeine.kde.org"); diff -Nru kaffeine-1.1/src/mainwindow.cpp kaffeine-1.2.2/src/mainwindow.cpp --- kaffeine-1.1/src/mainwindow.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/mainwindow.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -34,13 +35,31 @@ #include #include #include -#include +#include #include #include #include "dvb/dvbtab.h" #include "playlist/playlisttab.h" #include "dbusobjects.h" +class StackedLayout : public QStackedLayout +{ +public: + explicit StackedLayout(QWidget *parent) : QStackedLayout(parent) { } + ~StackedLayout() { } + + QSize minimumSize() const + { + QWidget *widget = currentWidget(); + + if (widget != NULL) { + return widget->minimumSizeHint(); + } + + return QSize(); + } +}; + class StartTab : public TabBase { public: @@ -63,7 +82,8 @@ gridLayout->setMargin(10); gridLayout->setSpacing(15); - QAbstractButton *button = addShortcut(i18n("&1 Play File"), KIcon("video-x-generic"), this); + QAbstractButton *button = + addShortcut(i18n("&1 Play File"), KIcon("video-x-generic"), this); button->setShortcut(Qt::Key_1); connect(button, SIGNAL(clicked()), mainWindow, SLOT(open())); gridLayout->addWidget(button, 0, 0); @@ -113,6 +133,7 @@ void activate() { layout()->addWidget(mediaWidget); + mediaWidget->setFocus(); } private: @@ -128,6 +149,16 @@ class ConfigurationDialog : public KDialog { public: + enum StartupDisplayMode { + StartupNormalMode, + StartupMinimalMode, + StartupFullScreenMode, + StartupRememberLastSetting + }; + + static StartupDisplayMode getStartupDisplayMode(); + static void setStartupDisplayMode(StartupDisplayMode startupDisplayMode); + ConfigurationDialog(MediaWidget *mediaWidget_, QWidget *parent); ~ConfigurationDialog(); @@ -135,10 +166,39 @@ private: MediaWidget *mediaWidget; + KComboBox *startupDisplayModeBox; QSpinBox *shortSkipBox; QSpinBox *longSkipBox; }; +ConfigurationDialog::StartupDisplayMode ConfigurationDialog::getStartupDisplayMode() +{ + StartupDisplayMode startupDisplayMode = StartupNormalMode; + + switch (KGlobal::config()->group("MainWindow").readEntry("StartupDisplayMode", 0)) { + case 0: startupDisplayMode = StartupNormalMode; break; + case 1: startupDisplayMode = StartupMinimalMode; break; + case 2: startupDisplayMode = StartupFullScreenMode; break; + case 3: startupDisplayMode = StartupRememberLastSetting; break; + } + + return startupDisplayMode; +} + +void ConfigurationDialog::setStartupDisplayMode(StartupDisplayMode startupDisplayMode) +{ + int value = 0; + + switch (startupDisplayMode) { + case StartupNormalMode: value = 0; break; + case StartupMinimalMode: value = 1; break; + case StartupFullScreenMode: value = 2; break; + case StartupRememberLastSetting: value = 3; break; + } + + KGlobal::config()->group("MainWindow").writeEntry("StartupDisplayMode", value); +} + ConfigurationDialog::ConfigurationDialog(MediaWidget *mediaWidget_, QWidget *parent) : KDialog(parent), mediaWidget(mediaWidget_) { @@ -147,21 +207,45 @@ QWidget *widget = new QWidget(this); QGridLayout *gridLayout = new QGridLayout(widget); + gridLayout->addWidget(new QLabel(i18nc("@label:listbox", "Startup display mode:"), widget), + 0, 0); + + int index = 0; + + switch (getStartupDisplayMode()) { + case StartupNormalMode: index = 0; break; + case StartupMinimalMode: index = 1; break; + case StartupFullScreenMode: index = 2; break; + case StartupRememberLastSetting: index = 3; break; + } + + startupDisplayModeBox = new KComboBox(widget); + startupDisplayModeBox->addItem(i18nc("@item:inlistbox 'Startup display mode:'", + "Normal Mode")); + startupDisplayModeBox->addItem(i18nc("@item:inlistbox 'Startup display mode:'", + "Minimal Mode")); + startupDisplayModeBox->addItem(i18nc("@item:inlistbox 'Startup display mode:'", + "Full Screen Mode")); + startupDisplayModeBox->addItem(i18nc("@item:inlistbox 'Startup display mode:'", + "Remember Last Setting")); + startupDisplayModeBox->setCurrentIndex(index); + gridLayout->addWidget(startupDisplayModeBox, 0, 1); + gridLayout->addWidget(new QLabel(i18nc("'Configure Kaffeine' dialog", - "Short skip duration:"), widget), 0, 0); + "Short skip duration:"), widget), 1, 0); shortSkipBox = new QSpinBox(widget); shortSkipBox->setRange(1, 600); shortSkipBox->setValue(mediaWidget->getShortSkipDuration()); - gridLayout->addWidget(shortSkipBox, 0, 1); + gridLayout->addWidget(shortSkipBox, 1, 1); gridLayout->addWidget(new QLabel(i18nc("'Configure Kaffeine' dialog", - "Long skip duration:"), widget), 1, 0); + "Long skip duration:"), widget), 2, 0); longSkipBox = new QSpinBox(widget); longSkipBox->setRange(1, 600); longSkipBox->setValue(mediaWidget->getLongSkipDuration()); - gridLayout->addWidget(longSkipBox, 1, 1); + gridLayout->addWidget(longSkipBox, 2, 1); setMainWidget(widget); } @@ -172,6 +256,16 @@ void ConfigurationDialog::accept() { + StartupDisplayMode displayMode = StartupNormalMode; + + switch (startupDisplayModeBox->currentIndex()) { + case 0: displayMode = StartupNormalMode; break; + case 1: displayMode = StartupMinimalMode; break; + case 2: displayMode = StartupFullScreenMode; break; + case 3: displayMode = StartupRememberLastSetting; break; + } + + setStartupDisplayMode(displayMode); mediaWidget->setShortSkipDuration(shortSkipBox->value()); mediaWidget->setLongSkipDuration(longSkipBox->value()); @@ -191,7 +285,8 @@ KAction *action = KStandardAction::open(this, SLOT(open()), collection); menu->addAction(collection->addAction("file_open", action)); - action = new KAction(KIcon("uri-mms"), i18n("Open URL"), collection); + action = new KAction(KIcon("text-html"), + i18nc("@action:inmenu", "Open URL..."), collection); action->setShortcut(Qt::CTRL | Qt::Key_U); connect(action, SIGNAL(triggered(bool)), this, SLOT(openUrl())); menu->addAction(collection->addAction("file_open_url", action)); @@ -214,6 +309,11 @@ connect(action, SIGNAL(triggered(bool)), this, SLOT(openDvd())); menu->addAction(collection->addAction("file_play_dvd", action)); + action = new KAction(KIcon("media-optical"), i18nc("@action:inmenu", "Play DVD Folder"), + collection); + connect(action, SIGNAL(triggered()), this, SLOT(playDvdFolder())); + menu->addAction(collection->addAction("file_play_dvd_folder", action)); + menu->addSeparator(); action = KStandardAction::quit(this, SLOT(close()), collection); @@ -236,8 +336,7 @@ action = KStandardAction::keyBindings(this, SLOT(configureKeys()), collection); menu->addAction(collection->addAction("settings_keys", action)); - action = new KAction(KIcon("configure"), i18nc("dialog", "Configure Kaffeine"), this); - connect(action, SIGNAL(triggered(bool)), this, SLOT(configureKaffeine())); + action = KStandardAction::preferences(this, SLOT(configureKaffeine()), collection); menu->addAction(collection->addAction("settings_kaffeine", action)); menuBar->addSeparator(); @@ -275,7 +374,7 @@ // main area QWidget *widget = new QWidget(this); - stackedLayout = new QStackedLayout(widget); + stackedLayout = new StackedLayout(widget); setCentralWidget(widget); mediaWidget = new MediaWidget(playerMenu, controlBar, collection, widget); @@ -325,8 +424,11 @@ // workaround setAutoSaveSettings() which doesn't accept "IconOnly" as initial state controlBar->setToolButtonStyle(Qt::ToolButtonIconOnly); - KSystemTrayIcon *trayIcon = new KSystemTrayIcon(KIcon("kaffeine"), this); - trayIcon->show(); + KStatusNotifierItem *trayIcon = new KStatusNotifierItem(this); + trayIcon->setIconByName("kaffeine"); + trayIcon->setStatus(KStatusNotifierItem::Active); + trayIcon->setToolTipIconByName("kaffeine"); + trayIcon->setToolTipTitle(i18n("Kaffeine")); // initialize random number generator qsrand(QTime().msecsTo(QTime::currentTime())); @@ -346,12 +448,55 @@ QDBusConnection::sessionBus().registerService("org.mpris.kaffeine"); show(); + + // set display mode + switch (ConfigurationDialog::getStartupDisplayMode()) { + case ConfigurationDialog::StartupNormalMode: + // nothing to do + break; + case ConfigurationDialog::StartupMinimalMode: + mediaWidget->setDisplayMode(MediaWidget::MinimalMode); + break; + case ConfigurationDialog::StartupFullScreenMode: + mediaWidget->setDisplayMode(MediaWidget::FullScreenMode); + break; + case ConfigurationDialog::StartupRememberLastSetting: { + int value = KGlobal::config()->group("MainWindow").readEntry("DisplayMode", 0); + + switch (value) { + case 0: + // nothing to do + break; + case 1: + mediaWidget->setDisplayMode(MediaWidget::MinimalMode); + break; + case 2: + mediaWidget->setDisplayMode(MediaWidget::FullScreenMode); + break; + } + + break; + } + } } MainWindow::~MainWindow() { actionOpenRecent->saveEntries(KGlobal::config()->group("Recent Files")); - KIO::del(temporaryUrls); + + if (!temporaryUrls.isEmpty()) { + KIO::del(temporaryUrls); + } + + int value = 0; + + switch (mediaWidget->getDisplayMode()) { + case MediaWidget::NormalMode: value = 0; break; + case MediaWidget::MinimalMode: value = 1; break; + case MediaWidget::FullScreenMode: value = 2; break; + } + + KGlobal::config()->group("MainWindow").writeEntry("DisplayMode", value); } KCmdLineOptions MainWindow::cmdLineOptions() @@ -379,24 +524,33 @@ } if (args->isSet("audiocd")) { - // FIXME device is ignored - openAudioCd(); + if (args->count() > 0) { + openAudioCd(args->arg(0)); + } else { + openAudioCd(); + } args->clear(); return; } if (args->isSet("videocd")) { - // FIXME device is ignored - openVideoCd(); + if (args->count() > 0) { + openVideoCd(args->arg(0)); + } else { + openVideoCd(); + } args->clear(); return; } if (args->isSet("dvd")) { - // FIXME device is ignored - openDvd(); + if (args->count() > 0) { + openDvd(args->arg(0)); + } else { + openDvd(); + } args->clear(); return; @@ -510,7 +664,7 @@ void MainWindow::openUrl() { - openUrl(KInputDialog::getText(i18n("Open URL"), i18n("Enter a URL:"))); + openUrl(KInputDialog::getText(i18nc("@title:window", "Open URL"), i18n("Enter a URL:"))); } void MainWindow::openUrl(const KUrl &url) @@ -530,22 +684,31 @@ playlistTab->appendToVisiblePlaylist(QList() << copy, true); } -void MainWindow::openAudioCd() +void MainWindow::openAudioCd(const QString &device) { - activateTab(PlayerTabId); // FIXME - mediaWidget->playAudioCd(); + activateTab(PlayerTabId); + mediaWidget->playAudioCd(device); } -void MainWindow::openVideoCd() +void MainWindow::openVideoCd(const QString &device) { activateTab(PlayerTabId); - mediaWidget->playVideoCd(); + mediaWidget->playVideoCd(device); } -void MainWindow::openDvd() +void MainWindow::openDvd(const QString &device) { activateTab(PlayerTabId); - mediaWidget->playDvd(); + mediaWidget->playDvd(device); +} + +void MainWindow::playDvdFolder() +{ + QString folder = KFileDialog::getExistingDirectory(KUrl(), this); + + if (!folder.isEmpty()) { + openDvd(folder); + } } void MainWindow::playDvb() @@ -556,7 +719,7 @@ void MainWindow::resizeToVideo(int factor) { - if (!isFullScreen()) { + if (!isFullScreen() && !mediaWidget->sizeHint().isEmpty()) { if (isMaximized()) { setWindowState(windowState() & ~Qt::WindowMaximized); } diff -Nru kaffeine-1.1/src/mainwindow.h kaffeine-1.2.2/src/mainwindow.h --- kaffeine-1.1/src/mainwindow.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/mainwindow.h 2011-04-17 21:17:19.000000000 +0200 @@ -53,9 +53,10 @@ void open(); void openUrl(); void openUrl(const KUrl &url); - void openAudioCd(); - void openVideoCd(); - void openDvd(); + void openAudioCd(const QString &device = QString()); + void openVideoCd(const QString &device = QString()); + void openDvd(const QString &device = QString()); + void playDvdFolder(); void playDvb(); void resizeToVideo(int factor); void configureKeys(); diff -Nru kaffeine-1.1/src/mediawidget.cpp kaffeine-1.2.2/src/mediawidget.cpp --- kaffeine-1.1/src/mediawidget.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/mediawidget.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -44,8 +43,8 @@ #include #include #include -#include -#include +#include // bsd compatibility +#include // bsd compatibility #include #include #include "backend-xine/xinemediawidget.h" @@ -79,7 +78,7 @@ readFd = -1; } - notifier = new QSocketNotifier(writeFd, QSocketNotifier::Write); + notifier = new QSocketNotifier(writeFd, QSocketNotifier::Write, this); notifier->setEnabled(false); connect(notifier, SIGNAL(activated(int)), this, SLOT(readyWrite())); } @@ -154,7 +153,7 @@ JumpToPositionDialog::JumpToPositionDialog(MediaWidget *mediaWidget_) : KDialog(mediaWidget_), mediaWidget(mediaWidget_) { - setCaption(i18n("Jump to Position")); + setCaption(i18nc("@title:window", "Jump to Position")); QWidget *widget = new QWidget(this); QBoxLayout *layout = new QVBoxLayout(widget); @@ -191,8 +190,7 @@ } MediaWidget::MediaWidget(KMenu *menu_, KToolBar *toolBar, KActionCollection *collection, - QWidget *parent) : QWidget(parent), menu(menu_), dvbFeed(NULL), screenSaverDBusCall(NULL), - screenSaverSuspended(false) + QWidget *parent) : QWidget(parent), menu(menu_), dvbFeed(NULL), screenSaverSuspended(false) { QBoxLayout *layout = new QVBoxLayout(this); layout->setMargin(0); @@ -403,7 +401,8 @@ action->setDefaultWidget(volumeSlider); toolBar->addAction(collection->addAction("controls_volume_slider", action)); - jumpToPositionAction = new KAction(KIcon("go-jump"), i18n("Jump to Position"), this); + jumpToPositionAction = new KAction(KIcon("go-jump"), + i18nc("@action:inmenu", "Jump to Position..."), this); jumpToPositionAction->setShortcut(Qt::CTRL + Qt::Key_J); connect(jumpToPositionAction, SIGNAL(triggered()), this, SLOT(jumpToPosition())); menu->addAction(collection->addAction("controls_jump_to_position", jumpToPositionAction)); @@ -520,13 +519,13 @@ // generated from kaffeine.desktop's mime types "*.669 *.aac *.ac3 *.aif *.aifc *.aiff *.anim1 *.anim2 *.anim3 *.anim4 *.anim5 " "*.anim6 *.anim7 *.anim8 *.anim9 *.animj *.asf *.asx *.au *.avi *.bdm *.bdmv " - "*.clpi *.cpi *.divx *.dv *.flac *.flc *.fli *.flv *.it *.m15 *.m2t *.m2ts *.m3u " - "*.m3u8 *.m4a *.m4b *.m4v *.med *.mka *.mkv *.mng *.mod *.moov *.mov *.mp+ *.mp2 " - "*.mp3 *.mp4 *.mpc *.mpe *.mpeg *.mpg *.mpga *.mpl *.mpls *.mpp *.mtm *.mts *.nsv " - "*.oga *.ogg *.ogm *.ogv *.ogx *.pls *.qt *.qtl *.qtvr *.ra *.ram *.rax *.rm " - "*.rmj *.rmm *.rms *.rmvb *.rmx *.rv *.rvx *.s3m *.shn *.snd *.spx *.stm *.ts " - "*.tta *.ult *.uni *.vlc *.vob *.voc *.wav *.wax *.wma *.wmv *.wmx *.wv *.wvp " - "*.wvx *.xm *.xspf " + "*.clpi *.cpi *.divx *.dv *.f4a *.f4b *.f4v *.flac *.flc *.fli *.flv *.it *.m15 " + "*.m2t *.m2ts *.m3u *.m3u8 *.m4a *.m4b *.m4v *.med *.mka *.mkv *.mng *.mod *.moov " + "*.mov *.mp+ *.mp2 *.mp3 *.mp4 *.mpc *.mpe *.mpeg *.mpg *.mpga *.mpl *.mpls *.mpp " + "*.mtm *.mts *.nsv *.oga *.ogg *.ogm *.ogv *.ogx *.pls *.qt *.qtl *.qtvr *.ra " + "*.ram *.rax *.rm *.rmj *.rmm *.rms *.rmvb *.rmx *.rv *.rvx *.s3m *.shn *.snd " + "*.spx *.stm *.ts *.tta *.ult *.uni *.vlc *.vob *.voc *.wav *.wax *.wma *.wmv " + "*.wmx *.wv *.wvp *.wvx *.xm *.xspf " // manual entries "*.kaffeine *.iso|") + i18nc("file filter", "Supported Media Files") + "\n*|" + i18nc("file filter", "All Files"); @@ -560,7 +559,8 @@ break; case FullScreenMode: fullScreenAction->setIcon(KIcon("view-restore")); - fullScreenAction->setText(i18nc("'Playback' menu", "Exit Full Screen Mode")); + fullScreenAction->setText(i18nc("'Playback' menu", + "Exit Full Screen Mode")); break; case MinimalMode: minimalModeAction->setIcon(KIcon("view-fullscreen")); @@ -588,17 +588,20 @@ backend->playUrl(url, subtitleUrl); } -void MediaWidget::playAudioCd() +void MediaWidget::playAudioCd(const QString &device) { - QList devices = - Solid::Device::listFromQuery("OpticalDisc.availableContent & 'Audio'"); - QString deviceName; + QString deviceName = device; - if (!devices.isEmpty()) { - Solid::Block *block = devices.first().as(); + if (deviceName.isEmpty()) { + QList devices = + Solid::Device::listFromQuery("OpticalDisc.availableContent & 'Audio'"); - if (block != NULL) { - deviceName = block->device(); + if (!devices.isEmpty()) { + Solid::Block *block = devices.first().as(); + + if (block != NULL) { + deviceName = block->device(); + } } } @@ -611,17 +614,20 @@ backend->playAudioCd(deviceName); } -void MediaWidget::playVideoCd() +void MediaWidget::playVideoCd(const QString &device) { - QList devices = Solid::Device::listFromQuery( - "OpticalDisc.availableContent & 'VideoCd|SuperVideoCd'"); - QString deviceName; + QString deviceName = device; + + if (deviceName.isEmpty()) { + QList devices = Solid::Device::listFromQuery( + "OpticalDisc.availableContent & 'VideoCd|SuperVideoCd'"); - if (!devices.isEmpty()) { - Solid::Block *block = devices.first().as(); + if (!devices.isEmpty()) { + Solid::Block *block = devices.first().as(); - if (block != NULL) { - deviceName = block->device(); + if (block != NULL) { + deviceName = block->device(); + } } } @@ -634,17 +640,20 @@ backend->playVideoCd(deviceName); } -void MediaWidget::playDvd() +void MediaWidget::playDvd(const QString &device) { - QList devices = - Solid::Device::listFromQuery("OpticalDisc.availableContent & 'VideoDvd'"); - QString deviceName; + QString deviceName = device; + + if (deviceName.isEmpty()) { + QList devices = + Solid::Device::listFromQuery("OpticalDisc.availableContent & 'VideoDvd'"); - if (!devices.isEmpty()) { - Solid::Block *block = devices.first().as(); + if (!devices.isEmpty()) { + Solid::Block *block = devices.first().as(); - if (block != NULL) { - deviceName = block->device(); + if (block != NULL) { + deviceName = block->device(); + } } } @@ -694,10 +703,8 @@ void MediaWidget::playDvb(const QString &channelName) { - if (dvbFeed != NULL) { - delete dvbFeed; - dvbFeed = NULL; - } + delete dvbFeed; + dvbFeed = NULL; seekableChanged(false); totalTimeChanged(0); @@ -1170,26 +1177,19 @@ { bool suspendScreenSaver = (backend->isPlaying() && !isPaused() && isVisible()); - if (suspendScreenSaver && (screenSaverDBusCall == NULL)) { - screenSaverDBusCall = new QDBusPendingCall( - QDBusInterface("org.freedesktop.ScreenSaver", "/ScreenSaver", - "org.freedesktop.ScreenSaver").asyncCall("Inhibit", "Kaffeine", "")); - } else if (!suspendScreenSaver && (screenSaverDBusCall != NULL)) { - QDBusPendingReply reply(*screenSaverDBusCall); - - if (reply.isValid()) { - QDBusInterface("org.freedesktop.ScreenSaver", "/ScreenSaver", - "org.freedesktop.ScreenSaver").call( - QDBus::NoBlock, "UnInhibit", reply.value()); - } - - if (reply.isFinished()) { - delete screenSaverDBusCall; - screenSaverDBusCall = NULL; - } + if (suspendScreenSaver) { + // KDE - Inhibit doesn't inhibit "lock screen after inactivity" + QDBusInterface("org.freedesktop.ScreenSaver", "/ScreenSaver", + "org.freedesktop.ScreenSaver").call(QDBus::NoBlock, + "SimulateUserActivity"); + + // GNOME - Inhibit doesn't inhibit power management functions + QDBusInterface("org.gnome.ScreenSaver", "/", "org.gnome.ScreenSaver"). + call(QDBus::NoBlock, "SimulateUserActivity"); } if (screenSaverSuspended != suspendScreenSaver) { + // X11 - needed if none of the above applications is running screenSaverSuspended = suspendScreenSaver; XScreenSaverSuspend(QX11Info::display(), suspendScreenSaver); } diff -Nru kaffeine-1.1/src/mediawidget.h kaffeine-1.2.2/src/mediawidget.h --- kaffeine-1.1/src/mediawidget.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/mediawidget.h 2011-04-17 21:17:19.000000000 +0200 @@ -26,7 +26,6 @@ #include class QActionGroup; -class QDBusPendingCall; class QPushButton; class QSlider; class KAction; @@ -77,9 +76,9 @@ */ void play(const KUrl &url, const KUrl &subtitleUrl = KUrl()); - void playAudioCd(); - void playVideoCd(); - void playDvd(); + void playAudioCd(const QString &device); + void playVideoCd(const QString &device); + void playDvd(const QString &device); void updateExternalSubtitles(const QList &subtitles, int currentSubtitle); OsdWidget *getOsdWidget(); @@ -241,7 +240,6 @@ KAction *jumpToPositionAction; QPushButton *timeButton; bool showElapsedTime; - QDBusPendingCall *screenSaverDBusCall; bool screenSaverSuspended; }; diff -Nru kaffeine-1.1/src/osdwidget.cpp kaffeine-1.2.2/src/osdwidget.cpp --- kaffeine-1.1/src/osdwidget.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/osdwidget.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -23,7 +23,7 @@ #include #include -OsdWidget::OsdWidget(QWidget *parent) : QWidget(parent) +OsdWidget::OsdWidget(QWidget *parent) : QWidget(parent), osdObject(NULL) { timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(hideOsd())); diff -Nru kaffeine-1.1/src/osdwidget.h kaffeine-1.2.2/src/osdwidget.h --- kaffeine-1.1/src/osdwidget.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/osdwidget.h 2011-04-17 21:17:19.000000000 +0200 @@ -29,7 +29,8 @@ OsdObject() { } virtual ~OsdObject() { } - virtual QPixmap paintOsd(QRect &rect, const QFont &font, Qt::LayoutDirection direction) = 0; + virtual QPixmap paintOsd(QRect &rect, const QFont &font, + Qt::LayoutDirection direction) = 0; }; class OsdWidget : public QWidget diff -Nru kaffeine-1.1/src/playlist/playlisttab.cpp kaffeine-1.2.2/src/playlist/playlisttab.cpp --- kaffeine-1.1/src/playlist/playlisttab.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/playlist/playlisttab.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -398,12 +398,12 @@ randomAction->setCheckable(true); menu->addAction(collection->addAction("playlist_random", randomAction)); - KAction *addSubtitleAction = new KAction(KIcon("application-x-subrip"), i18n("Add Subtitle"), - this); + KAction *addSubtitleAction = + new KAction(KIcon("application-x-subrip"), i18n("Add Subtitle"), this); collection->addAction("playlist_add_subtitle", addSubtitleAction); - KAction *removeTrackAction = new KAction(KIcon("edit-delete"), - i18nc("remove an item from a list", "Remove"), this); + KAction *removeTrackAction = + new KAction(KIcon("edit-delete"), i18nc("@action", "Remove"), this); collection->addAction("playlist_remove_track", removeTrackAction); KAction *clearAction = new KAction(KIcon("edit-clear-list"), @@ -413,8 +413,7 @@ menu->addSeparator(); - KAction *newAction = new KAction(KIcon("list-add"), - i18nc("add a new item to a list", "New"), this); + KAction *newAction = new KAction(KIcon("list-add"), i18nc("@action", "New"), this); connect(newAction, SIGNAL(triggered(bool)), this, SLOT(newPlaylist())); menu->addAction(collection->addAction("playlist_new", newAction)); @@ -423,8 +422,8 @@ connect(renameAction, SIGNAL(triggered(bool)), this, SLOT(renamePlaylist())); menu->addAction(collection->addAction("playlist_rename", renameAction)); - KAction *removePlaylistAction = new KAction(KIcon("edit-delete"), - i18nc("remove an item from a list", "Remove"), this); + KAction *removePlaylistAction = + new KAction(KIcon("edit-delete"), i18nc("@action", "Remove"), this); connect(removePlaylistAction, SIGNAL(triggered(bool)), this, SLOT(removePlaylist())); menu->addAction(collection->addAction("playlist_remove", removePlaylistAction)); diff -Nru kaffeine-1.1/src/scanfile.dvb kaffeine-1.2.2/src/scanfile.dvb --- kaffeine-1.1/src/scanfile.dvb 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/scanfile.dvb 2011-04-17 21:17:19.000000000 +0200 @@ -1,6 +1,6 @@ # this file is automatically generated from http://linuxtv.org/hg/dvb-apps [date] -2010-09-01 +2011-04-04 [dvb-c/at-Innsbruck] C 442000000 6875000 NONE QAM64 C 450000000 6875000 NONE QAM64 @@ -147,6 +147,8 @@ C 474000000 6875000 NONE QAM256 C 482000000 6875000 NONE QAM256 C 586000000 6875000 NONE QAM256 +[dvb-c/br-Net-Digital] +C 573000000 5217000 NONE QAM256 [dvb-c/ch-Rega-Sense] C 125000000 6900000 NONE QAM64 C 434000000 6900000 NONE QAM64 @@ -299,7 +301,37 @@ C 458000000 6900000 NONE QAM64 C 466000000 6900000 NONE QAM64 C 538000000 6900000 NONE QAM256 +[dvb-c/de-komro-Rosenheim] +C 113000000 6900000 NONE QAM64 +C 121000000 6900000 NONE QAM64 +C 338000000 6900000 NONE QAM256 +C 394000000 6900000 NONE QAM256 +C 450000000 6900000 NONE QAM64 +C 458000000 6900000 NONE QAM64 +C 466000000 6900000 NONE QAM64 +C 522000000 6900000 NONE QAM256 +C 530000000 6900000 NONE QAM256 +C 602000000 6900000 NONE QAM256 +C 610000000 6900000 NONE QAM256 +C 626000000 6900000 NONE QAM256 +C 642000000 6900000 NONE QAM256 +C 650000000 6900000 NONE QAM256 +C 658000000 6900000 NONE QAM64 +C 666000000 6900000 NONE QAM64 +C 682000000 6900000 NONE QAM64 +C 690000000 6900000 NONE QAM256 +C 698000000 6900000 NONE QAM256 +C 706000000 6900000 NONE QAM256 +C 714000000 6900000 NONE QAM256 +C 722000000 6900000 NONE QAM256 +C 730000000 6900000 NONE QAM64 +C 738000000 6900000 NONE QAM64 +C 746000000 6900000 NONE QAM64 +C 754000000 6900000 NONE QAM64 +C 762000000 6900000 NONE QAM256 +C 778000000 6900000 NONE QAM64 [dvb-c/de-neftv] +C 113000000 6900000 NONE QAM64 C 346000000 6875000 NONE QAM64 C 354000000 6875000 NONE QAM64 C 362000000 6875000 NONE QAM64 @@ -308,17 +340,26 @@ C 386000000 6875000 NONE QAM64 C 394000000 6875000 NONE QAM64 C 402000000 6875000 NONE QAM64 -C 410000000 6875000 NONE QAM64 +C 410000000 6900000 NONE QAM64 C 418000000 6875000 NONE QAM64 -C 426000000 6875000 NONE QAM64 -C 434000000 6875000 NONE QAM64 -C 450000000 6875000 NONE QAM64 +C 426000000 6900000 NONE QAM64 +C 434000000 6900000 NONE QAM64 +C 442000000 6900000 NONE QAM256 +C 450000000 6900000 NONE QAM256 C 458000000 6875000 NONE QAM64 +C 466000000 6900000 NONE QAM64 C 474000000 6875000 NONE QAM64 C 490000000 6875000 NONE QAM64 C 498000000 6875000 NONE QAM64 C 514000000 6875000 NONE QAM64 +C 522000000 6900000 NONE QAM64 C 546000000 6875000 NONE QAM64 +C 618000000 6900000 NONE QAM64 +C 634000000 6900000 NONE QAM64 +C 786000000 6900000 NONE QAM256 +C 794000000 6900000 NONE QAM64 +C 802000000 6900000 NONE QAM64 +C 810000000 6900000 NONE QAM64 [dvb-c/dk-Copenhagen-AFDK] C 386000000 6875000 NONE QAM64 C 394000000 6875000 NONE QAM64 @@ -352,25 +393,6 @@ C 802000000 6875000 NONE QAM64 C 810000000 6875000 NONE QAM64 C 818000000 6875000 NONE QAM64 -[dvb-c/fi-3ktv] -C 154000000 6875000 NONE QAM128 -C 162000000 6875000 NONE QAM128 -C 170000000 6875000 NONE QAM128 -C 232000000 6875000 NONE QAM128 -C 298000000 6875000 NONE QAM128 -C 306000000 6875000 NONE QAM128 -C 314000000 6875000 NONE QAM128 -C 322000000 6875000 NONE QAM128 -C 330000000 6875000 NONE QAM128 -C 338000000 6875000 NONE QAM128 -C 346000000 6875000 NONE QAM128 -C 354000000 6875000 NONE QAM128 -C 362000000 6875000 NONE QAM128 -C 370000000 6875000 NONE QAM128 -C 378000000 6875000 NONE QAM128 -C 394000000 6875000 NONE QAM128 -C 402000000 6875000 NONE QAM128 -C 450000000 6875000 NONE QAM128 [dvb-c/fi-HTV] C 154000000 6900000 NONE QAM128 C 283000000 5900000 NONE QAM128 @@ -411,6 +433,30 @@ C 418000000 6900000 NONE QAM128 C 426000000 6900000 NONE QAM128 C 442000000 6900000 NONE QAM128 +[dvb-c/fi-dna] +C 154000000 6875000 NONE QAM128 +C 162000000 6875000 NONE QAM128 +C 170000000 6875000 NONE QAM128 +C 232000000 6875000 NONE QAM128 +C 250000000 6875000 NONE QAM128 +C 258000000 6875000 NONE QAM128 +C 266000000 6875000 NONE QAM128 +C 274000000 6875000 NONE QAM128 +C 290000000 6875000 NONE QAM128 +C 298000000 6875000 NONE QAM128 +C 306000000 6875000 NONE QAM128 +C 314000000 6875000 NONE QAM128 +C 322000000 6875000 NONE QAM128 +C 330000000 6875000 NONE QAM128 +C 338000000 6875000 NONE QAM128 +C 346000000 6875000 NONE QAM128 +C 354000000 6875000 NONE QAM128 +C 362000000 6875000 NONE QAM128 +C 370000000 6875000 NONE QAM128 +C 378000000 6875000 NONE QAM128 +C 394000000 6875000 NONE QAM128 +C 402000000 6875000 NONE QAM128 +C 450000000 6875000 NONE QAM128 [dvb-c/fi-jkl] C 162000000 6900000 NONE QAM128 C 402000000 6900000 NONE QAM128 @@ -2891,6 +2937,7 @@ T 191625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 536625000 7MHz 3/4 NONE QAM16 8k 1/8 NONE T 564500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-AdelaideFoothills] T 711500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE @@ -3124,6 +3171,9 @@ T 543500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-unknown] T 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/ax-Smedsbole] +T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/be-All] T 482000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 506000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE @@ -3184,6 +3234,7 @@ T 682166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 1/2 NONE QAM16 8k 1/4 NONE T 746166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz 1/2 NONE QPSK 2k 1/32 NONE T 770166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE T 794166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE T 818166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE @@ -3579,6 +3630,12 @@ T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-Las_Palmas] +T 530000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3593,9 +3650,12 @@ T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-Madrid] +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3636,6 +3696,19 @@ T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +[dvb-t/es-SC_Tenerife] +T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-Santander] T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3701,11 +3774,12 @@ T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/fi-Aanekoski] +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Aanekoski_Konginkangas] +T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3727,7 +3801,7 @@ T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Enontekio_Ahovaara_Raattama] +[dvb-t/fi-Enontekio_Raattama] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Espoo] @@ -3753,6 +3827,7 @@ [dvb-t/fi-Hameenkyro_Kyroskoski] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Hameenlinna_Painokangas] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3765,6 +3840,10 @@ [dvb-t/fi-Hartola] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Haukela] +T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Heinavesi] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3776,6 +3855,9 @@ [dvb-t/fi-Hetta] T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Hossa] +T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Houtskari] T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3789,6 +3871,7 @@ [dvb-t/fi-Hyrynsalmi_Paljakka] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Hyvinkaa_Musta-Mannisto] T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3827,6 +3910,7 @@ T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Jamsa_Kuorevesi_Halli] T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3839,19 +3923,23 @@ [dvb-t/fi-Jamsa_Ouninpohja] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Jamsankoski] T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Joensuu_Vestinkallio] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Joroinen_Puukkola] +[dvb-t/fi-Joroinen_Puukkola-Huutokoski] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Joutsa_Lankia] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Joutseno] T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3869,23 +3957,23 @@ T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Jyvaskylan_mlk_Vaajakoski] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kaavi_Sivakkavaara_Luikonlahti] +[dvb-t/fi-Kaavi_Luikonlahti] T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kajaani_Pollyvaara] T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kalajoki] T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kangaslampi] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kangasniemi_Turkinmaki] +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3904,6 +3992,7 @@ [dvb-t/fi-Karstula] T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Karvia] T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3921,9 +4010,9 @@ T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Keuruu] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Keuruu_Haapamaki] T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3952,6 +4041,7 @@ [dvb-t/fi-Korpilahti_Vaarunvuori] T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Korppoo] T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3965,12 +4055,10 @@ [dvb-t/fi-Kuhmo_Iivantiira] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kuhmo_Lentiira] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kuhmo_Tikkasenmaki] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kuhmoinen] T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3979,27 +4067,27 @@ T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kuhmoinen_Puukkoinen] T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kuopio] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kustavi_Viherlahti] T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kuttanen] T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kuusamo_Hamppulampi] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Kyyjarvi_Noposenaho] T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Lahti] T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4017,11 +4105,13 @@ [dvb-t/fi-Laukaa_Vihtavuori] T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Lavia_Lavianjarvi] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Lieksa_Vieki] +T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Lieksa_Konnanvaara] T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4037,8 +4127,10 @@ [dvb-t/fi-Luhanka] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Luopioinen] +T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4049,6 +4141,7 @@ [dvb-t/fi-Mantyharju] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Mikkeli] T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4057,22 +4150,30 @@ [dvb-t/fi-Muonio_Olostunturi] T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Mustasaari] +T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Myllylahti] +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Nilsia] T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Nilsia_Keski-Siikajarvi] +T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Nilsia_Pisa] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Nokia] T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 826000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Nokia_Siuro_Linnavuori] +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4098,15 +4199,18 @@ [dvb-t/fi-Padasjoki_Arrakoski] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Paltamo_Kivesvaara] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Parikkala] +T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Parkano] +[dvb-t/fi-Parkano_Sopukallio] T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4120,11 +4224,13 @@ T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Pernaja] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Pieksamaki_Halkokumpu] +T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Pihtipudas] @@ -4141,12 +4247,12 @@ [dvb-t/fi-Pudasjarvi] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Pudasjarvi_Hirvaskoski] +T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Pudasjarvi_Iso-Syote] T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Pudasjarvi_Kangasvaara] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Puolanka] T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4159,6 +4265,7 @@ T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Pylkonmaki_Karankajarvi] +T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Raahe_Mestauskallio] @@ -4168,6 +4275,7 @@ [dvb-t/fi-Raahe_Piehinki] T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Ranua_Haasionmaa] T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4181,9 +4289,11 @@ [dvb-t/fi-Rautjarvi_Simpele] T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Ristijarvi] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Rovaniemi] T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4194,12 +4304,12 @@ [dvb-t/fi-Rovaniemi_Kaihuanvaara] T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Rovaniemi_Karhuvaara_Marrasjarvi] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Rovaniemi_Marasenkallio] T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Rovaniemi_Marrasjarvi] +T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Rovaniemi_Meltaus_Sorviselka] T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4215,15 +4325,18 @@ T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Saarijarvi] +T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Saarijarvi_Kalmari] +T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Saarijarvi_Mahlu] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Salla_Hirvasvaara] T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4244,36 +4357,34 @@ T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Savukoski_Martti_Haarahonganmaa] +[dvb-t/fi-Savukoski_Martti] T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Savukoski_Tanhua] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Siilinjarvi] +T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Sipoo_Norrkulla] +T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Smedsbole] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Sodankyla_Pittiovaara] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Sulkava_Vaatalanmaki] T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Suomussalmi_Myllylahti] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Sysma_Liikola] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Taivalkoski] T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4334,9 +4445,15 @@ T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Uusikaupunki_Orivo] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/fi-Vaajakoski] +T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Vaala] +T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Vaasa] @@ -4353,6 +4470,7 @@ [dvb-t/fi-Vammala_Roismala] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Vammala_Savi] T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4364,6 +4482,7 @@ [dvb-t/fi-Varpaisjarvi_Honkamaki] T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/fi-Virrat_Lappavuori] T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -4828,12 +4947,13 @@ T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 842000000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Montbeliard] +T 490167000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 514167000 8MHz AUTO NONE QAM64 8k AUTO NONE T 538167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746167000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 658167000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 738167000 8MHz AUTO NONE QAM64 8k AUTO NONE T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770167000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 786167000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Montlucon] T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE @@ -4923,12 +5043,11 @@ T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Poitiers] -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Privas] T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE @@ -4937,12 +5056,12 @@ T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Reims] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Rennes] T 562000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE T 586000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE @@ -5030,12 +5149,12 @@ T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE [dvb-t/fr-Tours] -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 498000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 578000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 602000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 610000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 690000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 714000000 8MHz AUTO NONE AUTO AUTO AUTO NONE [dvb-t/fr-Troyes] T 482000000 8MHz AUTO NONE QAM64 8k AUTO NONE T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE @@ -5083,23 +5202,32 @@ T 628000000 8MHz AUTO NONE QAM64 8k 1/32 NONE T 650000000 8MHz AUTO NONE QAM64 8k 1/32 NONE [dvb-t/hr-All] +T 474000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 490000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 570000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 578000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 690000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 738000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 778000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE [dvb-t/hu-Budapest] T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE @@ -5147,16 +5275,23 @@ T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/is-Reykjavik] +T 522000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 1/2 NONE QPSK 2k 1/32 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 1/2 NONE QAM64 2k 1/32 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE [dvb-t/it-Aosta] T 226500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE @@ -5286,6 +5421,30 @@ T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 847250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +[dvb-t/it-Modena] +T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 184500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE [dvb-t/it-Montevergine] T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE diff -Nru kaffeine-1.1/src/shareddata.h kaffeine-1.2.2/src/shareddata.h --- kaffeine-1.1/src/shareddata.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/shareddata.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,88 @@ +/* + * shareddata.h + * + * Copyright (C) 2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef SHAREDDATA_H +#define SHAREDDATA_H + +#include + +class SharedData : public QSharedData +{ +public: + SharedData() { } + ~SharedData() { } + + SharedData &operator=(const SharedData &) + { + return *this; + } +}; + +template class ExplicitlySharedDataPointer +{ +public: + explicit ExplicitlySharedDataPointer(T *data_ = NULL) : data(data_) { } + ~ExplicitlySharedDataPointer() { } + + bool isValid() const + { + return (data.constData() != NULL); + } + + const T *constData() const + { + return data.constData(); + } + + const T &operator*() const + { + return *data; + } + + const T *operator->() const + { + return data.constData(); + } + + bool operator==(const ExplicitlySharedDataPointer &other) const + { + return (data.constData() == other.data.constData()); + } + + bool operator!=(const ExplicitlySharedDataPointer &other) const + { + return (data.constData() != other.data.constData()); + } + + bool operator<(const ExplicitlySharedDataPointer &other) const + { + return (data.constData() < other.data.constData()); + } + + friend uint qHash(const ExplicitlySharedDataPointer &pointer) + { + return qHash(pointer.data.constData()); + } + +private: + QExplicitlySharedDataPointer data; +}; + +#endif /* SHAREDDATA_H */ diff -Nru kaffeine-1.1/src/sqlhelper.cpp kaffeine-1.2.2/src/sqlhelper.cpp --- kaffeine-1.1/src/sqlhelper.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/sqlhelper.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -20,13 +20,12 @@ #include "sqlhelper.h" -#include #include #include #include #include #include -#include "sqltablemodel.h" +#include "sqlinterface.h" SqlHelper::SqlHelper() { @@ -68,7 +67,6 @@ return false; } - qAddPostRoutine(deleteInstance); return true; } @@ -108,7 +106,7 @@ } } -void SqlHelper::requestSubmission(SqlTableModelInterface *object) +void SqlHelper::requestSubmission(SqlInterface *object) { if (!timer.isActive()) { timer.start(); @@ -122,7 +120,7 @@ exec("BEGIN"); for (int i = 0; i < objects.size(); ++i) { - objects.at(i)->submit(); + objects.at(i)->sqlSubmit(); } exec("COMMIT"); @@ -130,10 +128,4 @@ objects.clear(); } -void SqlHelper::deleteInstance() -{ - delete instance; - instance = NULL; -} - SqlHelper *SqlHelper::instance = NULL; diff -Nru kaffeine-1.1/src/sqlhelper.h kaffeine-1.2.2/src/sqlhelper.h --- kaffeine-1.1/src/sqlhelper.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/sqlhelper.h 2011-04-17 21:17:19.000000000 +0200 @@ -21,12 +21,13 @@ #ifndef SQLHELPER_H #define SQLHELPER_H +#include #include #include -class SqlTableModelInterface; +class SqlInterface; -class SqlHelper : public QObject +class SqlHelper : public QObject, public QSharedData { Q_OBJECT private: @@ -41,18 +42,17 @@ QSqlQuery exec(const QString &statement); void exec(QSqlQuery &query); - void requestSubmission(SqlTableModelInterface *object); + void requestSubmission(SqlInterface *object); public slots: void collectSubmissions(); private: - static void deleteInstance(); static SqlHelper *instance; QSqlDatabase database; QTimer timer; - QList objects; + QList objects; }; #endif /* SQLHELPER_H */ diff -Nru kaffeine-1.1/src/sqlinterface.cpp kaffeine-1.2.2/src/sqlinterface.cpp --- kaffeine-1.1/src/sqlinterface.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/sqlinterface.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,221 @@ +/* + * sqlinterface.cpp + * + * Copyright (C) 2009-2010 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "sqlinterface.h" + +#include +#include +#include +#include "sqlhelper.h" + +SqlInterface::SqlInterface() : createTable(false), hasPendingStatements(false), + sqlColumnCount(0) +{ + sqlHelper = SqlHelper::getInstance(); +} + +SqlInterface::~SqlInterface() +{ + if (hasPendingStatements) { + kError() << "pending statements at destruction"; + /* data isn't valid anymore */ + pendingStatements.clear(); + createTable = false; + /* make sure we don't get called after destruction */ + sqlHelper->collectSubmissions(); + } +} + +void SqlInterface::sqlFlush() +{ + if (hasPendingStatements) { + sqlHelper->collectSubmissions(); + } +} + +void SqlInterface::sqlInit(const QString &tableName, const QStringList &columnNames) +{ + QString existsStatement = "SELECT name FROM sqlite_master WHERE name='" + tableName + + "' AND type = 'table'"; + createStatement = "CREATE TABLE " + tableName + " (Id INTEGER PRIMARY KEY, "; + QString selectStatement = "SELECT Id, "; + insertStatement = "INSERT INTO " + tableName + " (Id, "; + updateStatement = "UPDATE " + tableName + " SET "; + deleteStatement = "DELETE FROM " + tableName + " WHERE Id = ?"; + + sqlColumnCount = columnNames.size(); + + for (int i = 0; i < sqlColumnCount; ++i) { + if (i > 0) { + createStatement.append(", "); + selectStatement.append(", "); + insertStatement.append(", "); + updateStatement.append(" = ?, "); + } + + const QString &columnName = columnNames.at(i); + createStatement.append(columnName); + selectStatement.append(columnName); + insertStatement.append(columnName); + updateStatement.append(columnName); + } + + createStatement.append(')'); + selectStatement.append(" FROM "); + selectStatement.append(tableName); + insertStatement.append(") VALUES (?"); + updateStatement.append(" = ? WHERE Id = ?"); + + for (int i = 0; i < sqlColumnCount; ++i) { + insertStatement.append(", ?"); + } + + insertStatement.append(')'); + + if (!sqlHelper->exec(existsStatement).next()) { + createTable = true; + requestSubmission(); + } else { + // queries can only be prepared if the table exists + insertQuery = sqlHelper->prepare(insertStatement); + updateQuery = sqlHelper->prepare(updateStatement); + deleteQuery = sqlHelper->prepare(deleteStatement); + + for (QSqlQuery query = sqlHelper->exec(selectStatement); query.next();) { + qint64 fullKey = query.value(0).toLongLong(); + SqlKey sqlKey(fullKey); + + if (!sqlKey.isSqlKeyValid() || (sqlKey.sqlKey != fullKey)) { + kWarning() << "invalid key" << fullKey; + continue; + } + + if (!insertFromSqlQuery(sqlKey, query, 1)) { + pendingStatements.insert(sqlKey, Remove); + requestSubmission(); + } + } + } +} + +void SqlInterface::sqlInsert(SqlKey key) +{ + switch (pendingStatements.value(key, Nothing)) { + case Nothing: + pendingStatements.insert(key, Insert); + requestSubmission(); + break; + case Remove: + pendingStatements.insert(key, RemoveAndInsert); + requestSubmission(); + break; + case RemoveAndInsert: + case Insert: + case Update: + kError() << "invalid pending statement" << pendingStatements.value(key, Nothing); + break; + } +} + +void SqlInterface::sqlUpdate(SqlKey key) +{ + switch (pendingStatements.value(key, Nothing)) { + case Nothing: + pendingStatements.insert(key, Update); + requestSubmission(); + break; + case RemoveAndInsert: + case Insert: + case Update: + break; + case Remove: + kError() << "invalid pending statement" << pendingStatements.value(key, Nothing); + break; + } +} + +void SqlInterface::sqlRemove(SqlKey key) +{ + switch (pendingStatements.value(key, Nothing)) { + case Nothing: + case RemoveAndInsert: + case Update: + pendingStatements.insert(key, Remove); + requestSubmission(); + break; + case Insert: + pendingStatements.remove(key); + break; + case Remove: + kError() << "invalid pending statement" << pendingStatements.value(key, Nothing); + break; + } +} + +void SqlInterface::requestSubmission() +{ + if (!hasPendingStatements) { + hasPendingStatements = true; + sqlHelper->requestSubmission(this); + } +} + +void SqlInterface::sqlSubmit() +{ + if (createTable) { + createTable = false; + sqlHelper->exec(createStatement); + + // queries can only be prepared if the table exists + insertQuery = sqlHelper->prepare(insertStatement); + updateQuery = sqlHelper->prepare(updateStatement); + deleteQuery = sqlHelper->prepare(deleteStatement); + } + + for (QMap::ConstIterator it = pendingStatements.constBegin(); + it != pendingStatements.constEnd(); ++it) { + switch (it.value()) { + case Nothing: + kError() << "invalid pending statement" << it.value(); + break; + case RemoveAndInsert: + deleteQuery.bindValue(0, it.key().sqlKey); + sqlHelper->exec(deleteQuery); + // fall through + case Insert: + bindToSqlQuery(it.key(), insertQuery, 1); + insertQuery.bindValue(0, it.key().sqlKey); + sqlHelper->exec(insertQuery); + break; + case Update: + bindToSqlQuery(it.key(), updateQuery, 0); + updateQuery.bindValue(sqlColumnCount, it.key().sqlKey); + sqlHelper->exec(updateQuery); + break; + case Remove: + deleteQuery.bindValue(0, it.key().sqlKey); + sqlHelper->exec(deleteQuery); + break; + } + } + + pendingStatements.clear(); + hasPendingStatements = false; +} diff -Nru kaffeine-1.1/src/sqlinterface.h kaffeine-1.2.2/src/sqlinterface.h --- kaffeine-1.1/src/sqlinterface.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/sqlinterface.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,126 @@ +/* + * sqlinterface.h + * + * Copyright (C) 2009-2010 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef SQLINTERFACE_H +#define SQLINTERFACE_H + +#include +#include +#include + +class SqlHelper; + +class SqlKey +{ +public: + explicit SqlKey(quint32 key = 0) : sqlKey(key) { } + ~SqlKey() { } + + bool isSqlKeyValid() const + { + return (sqlKey != 0); + } + + void setSqlKey(const SqlKey &other) + { + sqlKey = other.sqlKey; + } + + bool operator==(const SqlKey &other) const + { + return (sqlKey == other.sqlKey); + } + + bool operator!=(const SqlKey &other) const + { + return (sqlKey != other.sqlKey); + } + + bool operator<(const SqlKey &other) const + { + return (sqlKey < other.sqlKey); + } + + quint32 sqlKey; +}; + +Q_DECLARE_TYPEINFO(SqlKey, Q_MOVABLE_TYPE); + +class SqlInterface +{ +public: + SqlInterface(); + virtual ~SqlInterface(); + + void sqlInit(const QString &tableName, const QStringList &columnNames); + void sqlInsert(SqlKey key); + void sqlUpdate(SqlKey key); + void sqlRemove(SqlKey key); + void sqlFlush(); + + /* for SqlHelper */ + void sqlSubmit(); + + template SqlKey sqlFindFreeKey(const Container &container) const + { + SqlKey sqlKey(1); + + if (!container.isEmpty()) { + sqlKey = SqlKey((container.constEnd() - 1).key().sqlKey + 1); + + while (container.contains(sqlKey) || !sqlKey.isSqlKeyValid()) { + sqlKey = SqlKey(qrand()); + } + } + + return sqlKey; + } + +protected: + virtual void bindToSqlQuery(SqlKey sqlKey, QSqlQuery &query, int index) const = 0; + virtual bool insertFromSqlQuery(SqlKey sqlKey, const QSqlQuery &query, int index) = 0; + +private: + enum PendingStatement { + Nothing, + RemoveAndInsert, + Insert, + Update, + Remove + }; + + void requestSubmission(); + + QExplicitlySharedDataPointer sqlHelper; + QMap pendingStatements; + bool createTable; + bool hasPendingStatements; + + int sqlColumnCount; + QString createStatement; + QString insertStatement; + QString updateStatement; + QString deleteStatement; + QSqlQuery insertQuery; + QSqlQuery updateQuery; + QSqlQuery deleteQuery; +}; + +#endif /* SQLINTERFACE_H */ diff -Nru kaffeine-1.1/src/sqltablemodel.cpp kaffeine-1.2.2/src/sqltablemodel.cpp --- kaffeine-1.1/src/sqltablemodel.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/sqltablemodel.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,304 +0,0 @@ -/* - * sqltablemodel.cpp - * - * Copyright (C) 2009-2010 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "sqltablemodel.h" - -#include -#include -#include -#include "sqlhelper.h" - -SqlTableModelInterface::SqlTableModelInterface(QObject *parent) : QObject(parent), - createTable(false), hasPendingStatements(false), sqlColumnCount(0) -{ - sqlHelper = SqlHelper::getInstance(); -} - -SqlTableModelInterface::~SqlTableModelInterface() -{ - if (hasPendingStatements) { - kError() << "pending statements at destruction"; - } -} - -void SqlTableModelInterface::flush() -{ - if (hasPendingStatements) { - sqlHelper->collectSubmissions(); - } -} - -quint32 SqlTableModelInterface::keyForRow(int row) const -{ - return rowToKeyMapping.at(row); -} - -int SqlTableModelInterface::rowForKey(quint32 key) const -{ - return keyToRowMapping.value(key, -1); -} - -void SqlTableModelInterface::init(QAbstractItemModel *model, const QString &tableName, - const QStringList &columnNames) -{ - QString existsStatement = "SELECT name FROM sqlite_master WHERE name='" + tableName + - "' AND type = 'table'"; - createStatement = "CREATE TABLE " + tableName + " (Id INTEGER PRIMARY KEY, "; - QString selectStatement = "SELECT Id, "; - insertStatement = "INSERT INTO " + tableName + " (Id, "; - updateStatement = "UPDATE " + tableName + " SET "; - deleteStatement = "DELETE FROM " + tableName + " WHERE Id = ?"; - - sqlColumnCount = columnNames.size(); - - for (int i = 0; i < sqlColumnCount; ++i) { - if (i > 0) { - createStatement.append(", "); - selectStatement.append(", "); - insertStatement.append(", "); - updateStatement.append(" = ?, "); - } - - const QString &columnName = columnNames.at(i); - createStatement.append(columnName); - selectStatement.append(columnName); - insertStatement.append(columnName); - updateStatement.append(columnName); - } - - createStatement.append(')'); - selectStatement.append(" FROM "); - selectStatement.append(tableName); - insertStatement.append(") VALUES (?"); - updateStatement.append(" = ? WHERE Id = ?"); - - for (int i = 0; i < sqlColumnCount; ++i) { - insertStatement.append(", ?"); - } - - insertStatement.append(')'); - - if (!sqlHelper->exec(existsStatement).next()) { - createTable = true; - requestSubmission(); - } else { - // queries can only be prepared if the table exists - insertQuery = sqlHelper->prepare(insertStatement); - updateQuery = sqlHelper->prepare(updateStatement); - deleteQuery = sqlHelper->prepare(deleteStatement); - - QSqlQuery query = sqlHelper->exec(selectStatement); - - while (query.next()) { - qint64 fullKey = query.value(0).toLongLong(); - quint32 key = fullKey; - - if ((key == 0) || (key != fullKey)) { - kWarning() << "invalid key" << fullKey; - continue; - } - - int row = insertFromSqlQuery(query, 1); - - if (row >= 0) { - rowToKeyMapping.insert(row, key); - } else { - pendingStatements.insert(key, Remove); - requestSubmission(); - } - } - - for (int row = 0; row < rowToKeyMapping.size(); ++row) { - keyToRowMapping.insert(rowToKeyMapping.at(row), row); - } - } - - connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - this, SLOT(dataChanged(QModelIndex,QModelIndex))); - connect(model, SIGNAL(layoutChanged()), this, SLOT(layoutChanged())); - connect(model, SIGNAL(modelReset()), this, SLOT(modelReset())); - connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(rowsInserted(QModelIndex,int,int))); - connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(rowsRemoved(QModelIndex,int,int))); -} - -void SqlTableModelInterface::dataChanged(const QModelIndex &topLeft, - const QModelIndex &bottomRight) -{ - for (int row = topLeft.row(); row <= bottomRight.row(); ++row) { - quint32 key = rowToKeyMapping.at(row); - - switch (pendingStatements.value(key, Nothing)) { - case Nothing: - pendingStatements.insert(key, Update); - requestSubmission(); - break; - case RemoveAndInsert: - case Insert: - case Update: - break; - case Remove: - kError() << "invalid pending statement" << - pendingStatements.value(key, Nothing); - break; - } - } -} - -void SqlTableModelInterface::layoutChanged() -{ - // not supported - Q_ASSERT(false); -} - -void SqlTableModelInterface::modelReset() -{ - // not supported - Q_ASSERT(false); -} - -void SqlTableModelInterface::rowsInserted(const QModelIndex &parent, int start, int end) -{ - Q_UNUSED(parent) - - for (int row = start; row <= end; ++row) { - quint32 key = 1; - - if (!keyToRowMapping.isEmpty()) { - key += (keyToRowMapping.constEnd() - 1).key(); - } - - if (key == 0) { - key = qrand(); - } - - while (keyToRowMapping.contains(key) || (key == 0)) { - ++key; - } - - switch (pendingStatements.value(key, Nothing)) { - case Nothing: - pendingStatements.insert(key, Insert); - requestSubmission(); - break; - case Remove: - pendingStatements.insert(key, RemoveAndInsert); - requestSubmission(); - break; - case RemoveAndInsert: - case Insert: - case Update: - kError() << "invalid pending statement" << - pendingStatements.value(key, Nothing); - break; - } - - rowToKeyMapping.insert(row, key); - keyToRowMapping.insert(key, row); - } - - for (int row = (end + 1); row < rowToKeyMapping.size(); ++row) { - keyToRowMapping.insert(rowToKeyMapping.at(row), row); - } -} - -void SqlTableModelInterface::rowsRemoved(const QModelIndex &parent, int start, int end) -{ - Q_UNUSED(parent) - - for (int row = end; row >= start; --row) { - quint32 key = rowToKeyMapping.at(row); - - switch (pendingStatements.value(key, Nothing)) { - case Nothing: - case RemoveAndInsert: - case Update: - pendingStatements.insert(key, Remove); - requestSubmission(); - break; - case Insert: - pendingStatements.remove(key); - break; - case Remove: - kError() << "invalid pending statement" << - pendingStatements.value(key, Nothing); - break; - } - - rowToKeyMapping.removeAt(row); - keyToRowMapping.remove(key); - } - - for (int row = start; row < rowToKeyMapping.size(); ++row) { - keyToRowMapping.insert(rowToKeyMapping.at(row), row); - } -} - -void SqlTableModelInterface::requestSubmission() -{ - if (!hasPendingStatements) { - hasPendingStatements = true; - sqlHelper->requestSubmission(this); - } -} - -void SqlTableModelInterface::submit() -{ - if (createTable) { - createTable = false; - sqlHelper->exec(createStatement); - - // queries can only be prepared if the table exists - insertQuery = sqlHelper->prepare(insertStatement); - updateQuery = sqlHelper->prepare(updateStatement); - deleteQuery = sqlHelper->prepare(deleteStatement); - } - - for (QMap::const_iterator it = pendingStatements.constBegin(); - it != pendingStatements.constEnd(); ++it) { - switch (it.value()) { - case Nothing: - kError() << "invalid pending statement" << it.value(); - break; - case RemoveAndInsert: - deleteQuery.bindValue(0, it.key()); - sqlHelper->exec(deleteQuery); - // fall through - case Insert: - insertQuery.bindValue(0, it.key()); - bindToSqlQuery(insertQuery, 1, keyToRowMapping.value(it.key(), -1)); - sqlHelper->exec(insertQuery); - break; - case Update: - bindToSqlQuery(updateQuery, 0, keyToRowMapping.value(it.key(), -1)); - updateQuery.bindValue(sqlColumnCount, it.key()); - sqlHelper->exec(updateQuery); - break; - case Remove: - deleteQuery.bindValue(0, it.key()); - sqlHelper->exec(deleteQuery); - break; - } - } - - pendingStatements.clear(); - hasPendingStatements = false; -} diff -Nru kaffeine-1.1/src/sqltablemodel.h kaffeine-1.2.2/src/sqltablemodel.h --- kaffeine-1.1/src/sqltablemodel.h 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/src/sqltablemodel.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,87 +0,0 @@ -/* - * sqltablemodel.h - * - * Copyright (C) 2009-2010 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef SQLTABLEMODEL_H -#define SQLTABLEMODEL_H - -#include -#include -#include - -class QAbstractItemModel; -class QModelIndex; -class SqlHelper; - -class SqlTableModelInterface : public QObject -{ - Q_OBJECT - friend class SqlHelper; -public: - explicit SqlTableModelInterface(QObject *parent); - ~SqlTableModelInterface(); - - void flush(); - quint32 keyForRow(int row) const; - int rowForKey(quint32 key) const; - -protected: - void init(QAbstractItemModel *model, const QString &tableName, - const QStringList &columnNames); - - virtual int insertFromSqlQuery(const QSqlQuery &query, int index) = 0; - virtual void bindToSqlQuery(QSqlQuery &query, int index, int row) const = 0; - -private slots: - void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); - void layoutChanged(); - void modelReset(); - void rowsInserted(const QModelIndex &parent, int start, int end); - void rowsRemoved(const QModelIndex &parent, int start, int end); - -private: - enum PendingStatement { - Nothing, - RemoveAndInsert, - Insert, - Update, - Remove - }; - - void requestSubmission(); - void submit(); - - SqlHelper *sqlHelper; - QList rowToKeyMapping; - QHash keyToRowMapping; - QMap pendingStatements; - bool createTable; - bool hasPendingStatements; - - int sqlColumnCount; - QString createStatement; - QString insertStatement; - QString updateStatement; - QString deleteStatement; - QSqlQuery insertQuery; - QSqlQuery updateQuery; - QSqlQuery deleteQuery; -}; - -#endif /* SQLTABLEMODEL_H */ diff -Nru kaffeine-1.1/src/tablemodel.h kaffeine-1.2.2/src/tablemodel.h --- kaffeine-1.1/src/tablemodel.h 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/src/tablemodel.h 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,260 @@ +/* + * tablemodel.h + * + * Copyright (C) 2011 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef TABLEMODEL_H +#define TABLEMODEL_H + +#include + +template class TableModel : public QAbstractTableModel +{ + typedef typename T::ItemType ItemType; + typedef typename T::LessThanType LessThanType; + typedef typename LessThanType::SortOrder SortOrder; +public: + explicit TableModel(QObject *parent) : QAbstractTableModel(parent), updatingRow(-1) { } + ~TableModel() { } + + QModelIndex find(const ItemType &item) const + { + if (item.isValid()) { + int row = binaryFind(item); + + if (row < items.size()) { + return index(row, 0); + } + } + + return QModelIndex(); + } + + const ItemType &value(int row) const + { + if ((row >= 0) && (row < items.size())) { + return items.at(row); + } + + return sharedNull; + } + + const ItemType &value(const QModelIndex &index) const + { + if ((index.row() >= 0) && (index.row() < items.size())) { + return items.at(index.row()); + } + + return sharedNull; + } + + int columnCount(const QModelIndex &parent) const + { + if (!parent.isValid()) { + return helper.columnCount(); + } + + return 0; + } + + int rowCount(const QModelIndex &parent) const + { + if (!parent.isValid()) { + return items.size(); + } + + return 0; + } + +protected: + template void reset(const U &container) + { + beginLayoutChange(); + items.clear(); + + for (typename U::ConstIterator it = container.constBegin(); + it != container.constEnd(); ++it) { + const ItemType &item = *it; + + if (helper.filterAcceptsItem(item)) { + items.append(item); + } + } + + qSort(items.begin(), items.end(), lessThan); + endLayoutChange(); + } + + template void resetFromKeys(const U &container) + { + beginLayoutChange(); + items.clear(); + + for (typename U::ConstIterator it = container.constBegin(); + it != container.constEnd(); ++it) { + const ItemType &item = it.key(); + + if (helper.filterAcceptsItem(item)) { + items.append(item); + } + } + + qSort(items.begin(), items.end(), lessThan); + endLayoutChange(); + } + + void insert(const ItemType &item) + { + if (item.isValid() && helper.filterAcceptsItem(item)) { + int row = upperBound(item); + beginInsertRows(QModelIndex(), row, row); + items.insert(row, item); + endInsertRows(); + } + } + + void aboutToUpdate(const ItemType &item) + { + updatingRow = -1; + + if (item.isValid()) { + updatingRow = binaryFind(item); + } + } + + void update(const ItemType &item) + { + int row = updatingRow; + updatingRow = -1; + + if ((row >= 0) && (row < items.size())) { + if (item.isValid() && helper.filterAcceptsItem(item)) { + items.replace(row, item); + int targetRow = row; + + while (((targetRow - 1) >= 0) && + lessThan(item, items.at(targetRow - 1))) { + --targetRow; + } + + while (((targetRow + 1) < items.size()) && + lessThan(items.at(targetRow + 1), item)) { + ++targetRow; + } + + if (row == targetRow) { + emit dataChanged(index(row, 0), + index(row, helper.columnCount() - 1)); + } else { + beginLayoutChange(); + items.move(row, targetRow); + endLayoutChange(); + } + } else { + beginRemoveRows(QModelIndex(), row, row); + items.removeAt(row); + endRemoveRows(); + } + } else { + insert(item); + } + } + + void remove(const ItemType &item) + { + if (item.isValid()) { + int row = binaryFind(item); + beginRemoveRows(QModelIndex(), row, row); + items.removeAt(row); + endRemoveRows(); + } + } + + void internalSort(SortOrder sortOrder) + { + if (lessThan.getSortOrder() != sortOrder) { + beginLayoutChange(); + lessThan.setSortOrder(sortOrder); + qSort(items.begin(), items.end(), lessThan); + endLayoutChange(); + } + } + +private: + int binaryFind(const ItemType &item) const + { + return (qBinaryFind(items.constBegin(), items.constEnd(), item, lessThan) - + items.constBegin()); + } + + int upperBound(const ItemType &item) const + { + return (qUpperBound(items.constBegin(), items.constEnd(), item, lessThan) - + items.constBegin()); + } + + void beginLayoutChange() + { + emit layoutAboutToBeChanged(); + oldPersistentIndexes = persistentIndexList(); + persistentItems.clear(); + + foreach (const QModelIndex &index, oldPersistentIndexes) { + if ((index.row() >= 0) && (index.row() < items.size())) { + persistentItems.append(items.at(index.row())); + } else { + persistentItems.append(ItemType()); + } + } + } + + void endLayoutChange() + { + QModelIndexList newPersistentIndexes; + + for (int i = 0; i < oldPersistentIndexes.size(); ++i) { + const QModelIndex &oldIndex = oldPersistentIndexes.at(i); + const ItemType &item = persistentItems.at(i); + + if (item.isValid()) { + int row = binaryFind(item); + newPersistentIndexes.append(index(row, oldIndex.column())); + } else { + newPersistentIndexes.append(QModelIndex()); + } + } + + changePersistentIndexList(oldPersistentIndexes, newPersistentIndexes); + oldPersistentIndexes.clear(); + persistentItems.clear(); + emit layoutChanged(); + } + +private: + QList items; + LessThanType lessThan; + ItemType sharedNull; + QModelIndexList oldPersistentIndexes; + QList persistentItems; + int updatingRow; + +protected: + T helper; +}; + +#endif /* TABLEMODEL_H */ diff -Nru kaffeine-1.1/TODO kaffeine-1.2.2/TODO --- kaffeine-1.1/TODO 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/TODO 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ ----- -TODO ----- - -If you are interested in contributing please drop a line to -kaffeine-user@lists.sourceforge.net (moderated; you don't have to subscribe). - -Below is an unsorted list of tasks; additionally there are also FIXMEs in the -code and maybe you have your own ideas about problematic areas. - -See http://websvn.kde.org/trunk/extragear/multimedia/kaffeine/TODO?view=markup -for an up-to-date version of this file. - - -- write a handbook - -- EPG - - ATSC support - -- audio CD - - better track selection - - CDDB (or similar) - - ripping - -- video settings - - possibility to adjust hue, saturation, brightness and contrast - -- quit actions - - close / shutdown after playlist / recordings finished - -- allow more than one Kaffeine instance - -- DVB categories - -- broadcast support - - receive and send - - manage kaffeine remotely (headless backend?) - -- equalizer - -- audio visualisation diff -Nru kaffeine-1.1/tools/CMakeLists.txt kaffeine-1.2.2/tools/CMakeLists.txt --- kaffeine-1.1/tools/CMakeLists.txt 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/CMakeLists.txt 2011-04-17 21:17:19.000000000 +0200 @@ -1,5 +1,8 @@ -add_executable(convertscanfiles convertscanfiles.cpp ../src/dvb/dvbchannel.cpp) +add_executable(convertscanfiles convertscanfiles.cpp ../src/dvb/dvbtransponder.cpp) target_link_libraries(convertscanfiles ${QT_QTCORE_LIBRARY}) add_executable(updatedvbsi updatedvbsi.cpp) target_link_libraries(updatedvbsi ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY}) + +add_executable(updatemimetypes updatemimetypes.cpp) +target_link_libraries(updatemimetypes ${QT_QTCORE_LIBRARY} ${KDE4_KDECORE_LIBS}) diff -Nru kaffeine-1.1/tools/convertscanfiles.cpp kaffeine-1.2.2/tools/convertscanfiles.cpp --- kaffeine-1.1/tools/convertscanfiles.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/convertscanfiles.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -22,7 +22,7 @@ #include #include #include -#include "../src/dvb/dvbchannel.h" +#include "../src/dvb/dvbtransponder.h" class NumericalLessThan { @@ -127,7 +127,7 @@ qWarning() << "Warning: bandwidth == AUTO in file" << fileName; } - if (transponder.modulation == DvbTTransponder::ModulationAuto) { + if ((transponder.modulation == DvbTTransponder::ModulationAuto) && !fileName.startsWith("auto-")) { qWarning() << "Warning: modulation == AUTO in file" << fileName; } @@ -141,11 +141,13 @@ qWarning() << "Warning: fec rate low != NONE in file" << fileName; } - if (transponder.transmissionMode == DvbTTransponder::TransmissionModeAuto) { + if ((transponder.transmissionMode == DvbTTransponder::TransmissionModeAuto) && !fileName.startsWith("auto-")) { qWarning() << "Warning: transmission mode == AUTO in file" << fileName; } - // guardInterval == AUTO is tolerated (but should be avoided if possible) + if ((transponder.guardInterval == DvbTTransponder::GuardIntervalAuto) && !fileName.startsWith("auto-")) { + qWarning() << "Warning: guard interval == AUTO in file" << fileName; + } if (transponder.hierarchy != DvbTTransponder::HierarchyNone) { qWarning() << "Warning: hierarchy != NONE in file" << fileName; diff -Nru kaffeine-1.1/tools/dvbsi.xml kaffeine-1.2.2/tools/dvbsi.xml --- kaffeine-1.1/tools/dvbsi.xml 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/dvbsi.xml 2011-04-17 21:17:19.000000000 +0200 @@ -118,6 +118,17 @@ + + + + + + + + + + + @@ -178,10 +189,27 @@ + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.1/tools/updatedvbsi.cpp kaffeine-1.2.2/tools/updatedvbsi.cpp --- kaffeine-1.1/tools/updatedvbsi.cpp 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/updatedvbsi.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -21,6 +21,7 @@ #include #include #include +#include class Element { @@ -35,6 +36,8 @@ Element() { } ~Element() { } + QString toString() const; + Type type; QString name; int bits; @@ -44,62 +47,64 @@ QString listType; }; -QTextStream &operator<<(QTextStream &stream, const Element &element) +QString Element::toString() const { - if (element.type == Element::Bool) { - int bitsLeft = 8 - (element.bitIndex % 8); + if (type == Bool) { + int bitsLeft = 8 - (bitIndex % 8); int andValue = (1 << (bitsLeft - 1)); - - stream << "(at(" << (element.bitIndex / 8) << element.offsetString << ") & 0x" << QString::number(andValue, 16) << ") != 0"; - - return stream; + return (QString("(at(") + QString::number(bitIndex / 8) + offsetString + ") & 0x" + QString::number(andValue, 16) + ") != 0"); } - if (element.type == Element::List) { - stream << (element.bitIndex / 8) << element.offsetString; - - return stream; + if (type == List) { + return (QString::number(bitIndex / 8) + offsetString); } - int bitIndex = element.bitIndex; - int bits = element.bits; + QString result; + int currentBitIndex = bitIndex; + int currentBits = bits; while (true) { - int bitsLeft = 8 - (bitIndex % 8); + int bitsLeft = 8 - (currentBitIndex % 8); int andValue = (1 << (bitsLeft)) - 1; - int leftShift = bits - bitsLeft; + int leftShift = currentBits - bitsLeft; if (leftShift != 0) { - stream << "("; + result += '('; } if (andValue != 255) { - stream << "("; + result += '('; } - stream << "at(" << (bitIndex / 8) << element.offsetString << ")"; + result += "at(" + QString::number(currentBitIndex / 8) + offsetString + ')'; if (andValue != 255) { - stream << " & 0x" << QString::number(andValue, 16) << ")"; + result += " & 0x" + QString::number(andValue, 16) + ')'; } if (leftShift != 0) { if (leftShift > 0) { - stream << " << " << leftShift << ")"; + result += " << " + QString::number(leftShift) + ')'; } else { - stream << " >> " << (-leftShift) << ")"; + result += " >> " + QString::number(-leftShift) + ')'; } } - if (bits <= bitsLeft) { + if (currentBits <= bitsLeft) { break; } - stream << " | "; - bitIndex += bitsLeft; - bits -= bitsLeft; + result += " | "; + currentBitIndex += bitsLeft; + currentBits -= bitsLeft; } + return result; +} + +QTextStream &operator<<(QTextStream &stream, const Element &element) +{ + stream << element.toString(); return stream; } @@ -196,29 +201,31 @@ } QString entryName = node.nodeName(); + QString initFunctionName = QString(entryName).replace(QRegExp("^Dvb|^Atsc"), "init"); + bool ignoreFirstNewLine = false; switch (type) { case Descriptor: cppStream << "\n"; cppStream << entryName << "::" << entryName << "(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor)\n"; cppStream << "{\n"; - cppStream << "\tif (length < " << (minBits / 8) << ") {\n"; + cppStream << "\tif (getLength() < " << (minBits / 8) << ") {\n"; cppStream << "\t\tkDebug() << \"invalid descriptor\";\n"; - cppStream << "\t\tlength = 0;\n"; + cppStream << "\t\tinitSectionData();\n"; cppStream << "\t\treturn;\n"; cppStream << "\t}\n"; break; case Entry: { cppStream << "\n"; - cppStream << entryName << "::" << entryName << "(const DvbSectionData &data_) : DvbSectionData(data_)\n"; + cppStream << "void " << entryName << "::" << initFunctionName << "(const char *data, int size)\n"; cppStream << "{\n"; - cppStream << "\tif (length < " << (minBits / 8) << ") {\n"; - cppStream << "\t\tif (length != 0) {\n"; + cppStream << "\tif (size < " << (minBits / 8) << ") {\n"; + cppStream << "\t\tif (size != 0) {\n"; cppStream << "\t\t\tkDebug() << \"invalid entry\";\n"; cppStream << "\t\t}\n"; cppStream << "\n"; - cppStream << "\t\tlength = 0;\n"; + cppStream << "\t\tinitSectionData();\n"; cppStream << "\t\treturn;\n"; cppStream << "\t}\n"; cppStream << "\n"; @@ -237,13 +244,26 @@ return; } - cppStream << "\tint entryLength = (" << element << ") + " << ((element.bitIndex + element.bits) / 8) << ";\n"; + QString entryLengthCalculation = element.toString(); + + while (true) { + int oldSize = entryLengthCalculation.size(); + entryLengthCalculation.replace(QRegExp("at\\(([0-9]*)\\)"), "static_cast(data[\\1])"); + + if (entryLengthCalculation.size() == oldSize) { + break; + } + } + + cppStream << "\tint entryLength = ((" << entryLengthCalculation << ") + " << ((element.bitIndex + element.bits) / 8) << ");\n"; cppStream << "\n"; - cppStream << "\tif (entryLength <= length) {\n"; - cppStream << "\t\tlength = entryLength;\n"; - cppStream << "\t} else {\n"; + cppStream << "\tif (entryLength > size) {\n"; cppStream << "\t\tkDebug() << \"adjusting length\";\n"; + cppStream << "\t\tentryLength = size;\n"; cppStream << "\t}\n"; + cppStream << "\n"; + cppStream << "\tinitSectionData(data, entryLength, size);\n"; + ignoreFirstNewLine = true; elements.removeAt(i); fixedLength = false; @@ -251,7 +271,8 @@ } if (fixedLength) { - cppStream << "\tlength = " << (minBits / 8) << ";\n"; + cppStream << "\tinitSectionData(data, " << (minBits / 8) << ", size);\n"; + ignoreFirstNewLine = true; } break; @@ -259,13 +280,15 @@ case Section: cppStream << "\n"; - cppStream << entryName << "::" << entryName << "(const QByteArray &data) : DvbStandardSection(data)\n"; + cppStream << "void " << entryName << "::" << initFunctionName << "(const char *data, int size)\n"; cppStream << "{\n"; - cppStream << "\tif (length < " << (minBits / 8) << ") {\n"; - cppStream << "\t\tlength = 0;\n"; + cppStream << "\tif (size < " << (minBits / 8) << ") {\n"; + cppStream << "\t\tinitSectionData();\n"; cppStream << "\t\treturn;\n"; cppStream << "\t}\n"; - + cppStream << "\n"; + cppStream << "\tinitStandardSection(data, size);\n"; + ignoreFirstNewLine = true; break; } @@ -283,18 +306,23 @@ return; } - cppStream << "\n"; + if (ignoreFirstNewLine) { + ignoreFirstNewLine = false; + } else { + cppStream << "\n"; + } + cppStream << "\t" << element.name << "Length = " << elements.at(i - 1) << ";\n"; cppStream << "\n"; if (element.offsetString.isEmpty()) { - cppStream << "\tif (" << element.name << "Length > (length - " << (minBits / 8) << ")) {\n"; + cppStream << "\tif (" << element.name << "Length > (getLength() - " << (minBits / 8) << ")) {\n"; cppStream << "\t\tkDebug() << \"adjusting length\";\n"; - cppStream << "\t\t" << element.name << "Length = length - " << (minBits / 8) << ";\n"; + cppStream << "\t\t" << element.name << "Length = (getLength() - " << (minBits / 8) << ");\n"; } else { - cppStream << "\tif (" << element.name << "Length > (length - (" << (minBits / 8) << element.offsetString << "))) {\n"; + cppStream << "\tif (" << element.name << "Length > (getLength() - (" << (minBits / 8) << element.offsetString << "))) {\n"; cppStream << "\t\tkDebug() << \"adjusting length\";\n"; - cppStream << "\t\t" << element.name << "Length = length - (" << (minBits / 8) << element.offsetString << ");\n"; + cppStream << "\t\t" << element.name << "Length = (getLength() - (" << (minBits / 8) << element.offsetString << "));\n"; } cppStream << "\t}\n"; @@ -321,7 +349,11 @@ headerStream << "class " << entryName << " : public DvbSectionData\n"; headerStream << "{\n"; headerStream << "public:\n"; - headerStream << "\texplicit " << entryName << "(const DvbSectionData &data_);\n"; + headerStream << "\t" << entryName << "(const char *data, int size)\n"; + headerStream << "\t{\n"; + headerStream << "\t\t" << initFunctionName << "(data, size);\n"; + headerStream << "\t}\n"; + headerStream << "\n"; break; case Section: @@ -329,7 +361,16 @@ headerStream << "class " << entryName << " : public DvbStandardSection\n"; headerStream << "{\n"; headerStream << "public:\n"; - headerStream << "\texplicit " << entryName << "(const QByteArray &data);\n"; + headerStream << "\t" << entryName << "(const char *data, int size)\n"; + headerStream << "\t{\n"; + headerStream << "\t\t" << initFunctionName << "(data, size);\n"; + headerStream << "\t}\n"; + headerStream << "\n"; + headerStream << "\texplicit " << entryName << "(const QByteArray &byteArray)\n"; + headerStream << "\t{\n"; + headerStream << "\t\t" << initFunctionName << "(byteArray.constData(), byteArray.size());\n"; + headerStream << "\t}\n"; + headerStream << "\n"; break; } @@ -339,7 +380,7 @@ headerStream << "\n"; headerStream << "\tvoid advance()\n"; headerStream << "\t{\n"; - headerStream << "\t\t*this = " << entryName << "(next());\n"; + headerStream << "\t\t" << initFunctionName << "(getData() + getLength(), getSize() - getLength());\n"; headerStream << "\t}\n"; } @@ -382,27 +423,27 @@ headerStream << "\n"; headerStream << "\tQString " << element.name << "() const\n"; headerStream << "\t{\n"; - headerStream << "\t\treturn DvbSiText::convertText(subArray(" << element << ", "; + headerStream << "\t\treturn DvbSiText::convertText(getData() + " << element << ", "; } else if (element.listType == "AtscString") { headerStream << "\n"; headerStream << "\tQString " << element.name << "() const\n"; headerStream << "\t{\n"; - headerStream << "\t\treturn AtscPsipText::convertText(subArray(" << element << ", "; + headerStream << "\t\treturn AtscPsipText::convertText(getData() + " << element << ", "; } else { headerStream << "\n"; headerStream << "\t" << element.listType << " " << element.name << "() const\n"; headerStream << "\t{\n"; - headerStream << "\t\treturn " << element.listType << "(subArray(" << element << ", "; + headerStream << "\t\treturn " << element.listType << "(getData() + " << element << ", "; } if (element.lengthFunc.isEmpty()) { if (element.offsetString.isEmpty()) { - headerStream << "length - " << (minBits / 8) << "));\n"; + headerStream << "getLength() - " << (minBits / 8) << ");\n"; } else { - headerStream << "length - (" << (minBits / 8) << element.offsetString << ")));\n"; + headerStream << "getLength() - (" << (minBits / 8) << element.offsetString << "));\n"; } } else { - headerStream << element.name << "Length));\n"; + headerStream << element.name << "Length);\n"; } headerStream << "\t}\n"; @@ -410,9 +451,19 @@ } } + headerStream << "\n"; + headerStream << "private:\n"; + + if ((type == Descriptor) || (type == Section)) { + headerStream << "\tQ_DISABLE_COPY(" << entryName << ")\n"; + } + + if ((type == Entry) || (type == Section)) { + headerStream << "\tvoid " << initFunctionName << "(const char *data, int size);\n"; + } + if (!privateVars.isEmpty()) { - headerStream << "\n"; - headerStream << "private:\n"; + headerStream << '\n'; foreach (const QString &privateVar, privateVars) { headerStream << "\tint " << privateVar << ";\n"; diff -Nru kaffeine-1.1/tools/update_dvbsi.sh kaffeine-1.2.2/tools/update_dvbsi.sh --- kaffeine-1.1/tools/update_dvbsi.sh 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/update_dvbsi.sh 2011-04-17 21:17:19.000000000 +0200 @@ -3,7 +3,7 @@ mkdir -p kaffeine_build cd kaffeine_build -cmake ../kaffeine -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TOOLS=1 +cmake ../kaffeine -DBUILD_TOOLS=1 make updatedvbsi cd ../kaffeine/tools ../../kaffeine_build/tools/updatedvbsi diff -Nru kaffeine-1.1/tools/update_headers.sh kaffeine-1.2.2/tools/update_headers.sh --- kaffeine-1.1/tools/update_headers.sh 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/update_headers.sh 2011-04-17 21:17:19.000000000 +0200 @@ -3,10 +3,8 @@ cd kaffeine/include rm -fr * -wget http://linuxtv.org/hg/v4l-dvb/raw-file/tip/linux/include/linux/dvb/dmx.h -wget http://linuxtv.org/hg/v4l-dvb/raw-file/tip/linux/include/linux/dvb/frontend.h -mv dmx.h dmx.h.1 -mv frontend.h frontend.h.1 +wget "http://git.linuxtv.org/linux-2.6.git?a=blob_plain;f=include/linux/dvb/dmx.h;hb=HEAD" -O dmx.h.1 +wget "http://git.linuxtv.org/linux-2.6.git?a=blob_plain;f=include/linux/dvb/frontend.h;hb=HEAD" -O frontend.h.1 unifdef -k -U__KERNEL__ dmx.h.1 >dmx.h || true unifdef -k -U__KERNEL__ frontend.h.1 >frontend.h || true sed 'N;s/,\n\}/\n\}/;P;D;' -i dmx.h diff -Nru kaffeine-1.1/tools/update_icons.sh kaffeine-1.2.2/tools/update_icons.sh --- kaffeine-1.1/tools/update_icons.sh 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/tools/update_icons.sh 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,16 @@ +#!/bin/sh +set -eu + +cd kaffeine/icons +rm -f hi* + +if [ `find /usr/share/icons/oxygen | grep -i kaffeine | wc --lines` != 6 ] ; then + echo "recheck number of icons" + exit 1 +fi + +for SIZE in 16 22 32 48 64 128 ; do + wget http://websvn.kde.org/*checkout*/trunk/kdesupport/oxygen-icons/$SIZE'x'$SIZE/apps/kaffeine.png -O hi$SIZE-apps-kaffeine.png +done + +wget http://websvn.kde.org/*checkout*/trunk/kdesupport/oxygen-icons/scalable/apps/kaffeine.svgz -O hisc-apps-kaffeine.svgz diff -Nru kaffeine-1.1/tools/update_l10n.sh kaffeine-1.2.2/tools/update_l10n.sh --- kaffeine-1.1/tools/update_l10n.sh 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/update_l10n.sh 2011-04-17 21:17:19.000000000 +0200 @@ -8,14 +8,14 @@ cat >CMakeLists.txt << EOF find_package(Gettext REQUIRED) -if(NOT GETTEXT_MSGMERGE_EXECUTABLE) - MESSAGE(FATAL_ERROR "Please install the msgmerge binary") -endif(NOT GETTEXT_MSGMERGE_EXECUTABLE) - IF(NOT GETTEXT_MSGFMT_EXECUTABLE) MESSAGE(FATAL_ERROR "Please install the msgfmt binary") endif(NOT GETTEXT_MSGFMT_EXECUTABLE) +if(NOT GETTEXT_MSGMERGE_EXECUTABLE) + MESSAGE(FATAL_ERROR "Please install the msgmerge binary") +endif(NOT GETTEXT_MSGMERGE_EXECUTABLE) + EOF wget http://websvn.kde.org/*checkout*/trunk/l10n-kde4/subdirs diff -Nru kaffeine-1.1/tools/updatemimetypes.cpp kaffeine-1.2.2/tools/updatemimetypes.cpp --- kaffeine-1.1/tools/updatemimetypes.cpp 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/tools/updatemimetypes.cpp 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,209 @@ +/* + * updatemimetypes.cpp + * + * Copyright (C) 2010 Christoph Pfister + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + // QCoreApplication is needed for proper file name handling + QCoreApplication application(argc, argv); + + if (argc != 3) { + qCritical() << "syntax:" << argv[0] << " "; + return 1; + } + + QFile file(argv[1]); + QStringList lines; + + { + if (!file.open(QFile::ReadOnly)) { + qCritical() << "cannot open file" << file.fileName(); + return 1; + } + + QTextStream stream(&file); + stream.setCodec("UTF-8"); + + while (!stream.atEnd()) { + lines.append(stream.readLine()); + } + + file.close(); + } + + int mimeTypeIndex = -1; + QStringList mimeTypes; + + for (int i = 0; i < lines.size(); ++i) { + if (lines.at(i).startsWith(QLatin1String("MimeType="))) { + if (mimeTypeIndex >= 0) { + qCritical() << "more than one MimeType entry found in file" << + file.fileName(); + return 1; + } + + mimeTypeIndex = i; + mimeTypes = lines.at(i).mid(9).split(';', QString::SkipEmptyParts); + } + } + + if (mimeTypeIndex < 0) { + qCritical() << "cannot find a MimeType entry in file" << file.fileName(); + return 1; + } + + mimeTypes.removeDuplicates(); + mimeTypes.sort(); + + QStringList realExtensions; + + for (int skipMimeType = -1; skipMimeType < mimeTypes.size(); ++skipMimeType) { + QStringList extensions; + + for (int i = 0; i < mimeTypes.size(); ++i) { + if (i != skipMimeType) { + KMimeType::Ptr mimetype = KMimeType::mimeType(mimeTypes.at(i), + KMimeType::DontResolveAlias); + + if (mimetype.isNull()) { + qCritical() << "unknown mime type" << mimeTypes.at(i); + return 1; + } + + extensions.append(mimetype->patterns()); + } + } + + QRegExp regExp("\\*\\.[a-z0-9+]+"); + + for (int i = 0; i < extensions.size(); ++i) { + if (extensions.at(i) == "*.anim[1-9j]") { + extensions.removeAt(i); + extensions.insert(i, "*.anim1"); + extensions.insert(i, "*.anim2"); + extensions.insert(i, "*.anim3"); + extensions.insert(i, "*.anim4"); + extensions.insert(i, "*.anim5"); + extensions.insert(i, "*.anim6"); + extensions.insert(i, "*.anim7"); + extensions.insert(i, "*.anim8"); + extensions.insert(i, "*.anim9"); + extensions.insert(i, "*.animj"); + } + + if (!regExp.exactMatch(extensions.at(i))) { + qCritical() << "unknown extension syntax" << extensions.at(i); + return 1; + } + } + + extensions.removeDuplicates(); + extensions.sort(); + + if (realExtensions.isEmpty()) { + realExtensions = extensions; + } else if (extensions.size() == realExtensions.size()) { + qWarning() << "possibly unneeded mime type found" << + mimeTypes.at(skipMimeType); + } + } + + { + if (!file.open(QFile::WriteOnly | QFile::Truncate)) { + qCritical() << "cannot open file" << file.fileName(); + return 1; + } + + QTextStream stream(&file); + stream.setCodec("UTF-8"); + + lines[mimeTypeIndex] = "MimeType=" + mimeTypes.join(";") + ';'; + + foreach (const QString &line, lines) { + stream << line << '\n'; + } + + file.close(); + } + + file.setFileName(argv[2]); + lines.clear(); + + { + if (!file.open(QFile::ReadOnly)) { + qCritical() << "cannot open file" << file.fileName(); + return 1; + } + + QTextStream stream(&file); + stream.setCodec("UTF-8"); + + while (!stream.atEnd()) { + lines.append(stream.readLine()); + } + + file.close(); + } + + { + if (!file.open(QFile::WriteOnly | QFile::Truncate)) { + qCritical() << "cannot open file" << file.fileName(); + return 1; + } + + QTextStream stream(&file); + stream.setCodec("UTF-8"); + + for (int i = 0; i < lines.size(); ++i) { + stream << lines.at(i) << '\n'; + + if (lines.at(i) == "\t\t// generated from kaffeine.desktop's mime types") { + QString line = "\t\t\""; + + foreach (const QString &extension, realExtensions) { + if ((line.size() + extension.size()) > 83) { + stream << line << "\"\n"; + line = "\t\t\""; + } + + line += extension; + line += ' '; + } + + stream << line << "\"\n"; + + while ((i < lines.size()) && + (lines.at(i) != "\t\t// manual entries")) { + ++i; + } + + stream << lines.at(i) << '\n'; + } + } + + file.close(); + } + + return 0; +} diff -Nru kaffeine-1.1/tools/update_mimetypes.sh kaffeine-1.2.2/tools/update_mimetypes.sh --- kaffeine-1.1/tools/update_mimetypes.sh 1970-01-01 01:00:00.000000000 +0100 +++ kaffeine-1.2.2/tools/update_mimetypes.sh 2011-04-17 21:17:19.000000000 +0200 @@ -0,0 +1,8 @@ +#!/bin/sh +set -eu + +mkdir -p kaffeine_build +cd kaffeine_build +cmake ../kaffeine -DBUILD_TOOLS=1 +make updatemimetypes +tools/updatemimetypes ../kaffeine/src/kaffeine.desktop ../kaffeine/src/mediawidget.cpp diff -Nru kaffeine-1.1/tools/update_scanfile.sh kaffeine-1.2.2/tools/update_scanfile.sh --- kaffeine-1.1/tools/update_scanfile.sh 2010-09-01 21:53:54.000000000 +0200 +++ kaffeine-1.2.2/tools/update_scanfile.sh 2011-04-17 21:17:19.000000000 +0200 @@ -3,6 +3,6 @@ mkdir -p kaffeine_build cd kaffeine_build -cmake ../kaffeine -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TOOLS=1 +cmake ../kaffeine -DBUILD_TOOLS=1 make convertscanfiles -tools/convertscanfiles /home/lxuser/Entwicklung/dvb-apps/util/scan /home/lxuser/Entwicklung/kaffeine/src/scanfile.dvb +tools/convertscanfiles ../dvb-apps/util/scan ../kaffeine/src/scanfile.dvb