summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlado <herrlado@gmail.com>2011-11-04 15:03:14 +0100
committerlado <herrlado@gmail.com>2011-11-04 15:03:14 +0100
commit870e917799153ce7616e4890d5c0724372e83b56 (patch)
tree5feb4e933bb760c8d7ae443a02676aeb83b39962
downloadvdr-plugin-chanman-870e917799153ce7616e4890d5c0724372e83b56.tar.gz
vdr-plugin-chanman-870e917799153ce7616e4890d5c0724372e83b56.tar.bz2
-m 'initial'
-rw-r--r--README3
-rw-r--r--chanman/COPYING340
-rw-r--r--chanman/HISTORY39
-rw-r--r--chanman/Makefile109
-rw-r--r--chanman/README20
-rw-r--r--chanman/ToDo2
-rwxr-xr-xchanman/chanman-0.0.7_i18n.diff333
-rw-r--r--chanman/chanman.c1095
-rwxr-xr-xchanman/chanman.h185
-rw-r--r--chanman/config.h3
-rw-r--r--chanman/debug33
-rwxr-xr-xchanman/i18n-to-gettext.pl347
-rwxr-xr-xchanman/i18n.c412
-rwxr-xr-xchanman/i18n.h20
-rw-r--r--chanman/po/.svn/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/README.txt2
-rw-r--r--chanman/po/.svn/dir-wcprops5
-rw-r--r--chanman/po/.svn/empty-file0
-rw-r--r--chanman/po/.svn/entries203
-rw-r--r--chanman/po/.svn/format1
-rw-r--r--chanman/po/.svn/prop-base/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/prop-base/ca_ES.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/cs_CZ.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/da_DK.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/de_DE.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/el_GR.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/es_ES.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/et_EE.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/fi_FI.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/fr_FR.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/hr_HR.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/hu_HU.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/it_IT.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/nl_NL.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/nn_NO.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/pl_PL.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/pt_PT.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/ro_RO.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/ru_RU.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/sl_SI.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/sv_SE.po.svn-base0
-rw-r--r--chanman/po/.svn/prop-base/tr_TR.po.svn-base0
-rw-r--r--chanman/po/.svn/props/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/props/ca_ES.po.svn-work0
-rw-r--r--chanman/po/.svn/props/cs_CZ.po.svn-work0
-rw-r--r--chanman/po/.svn/props/da_DK.po.svn-work0
-rw-r--r--chanman/po/.svn/props/de_DE.po.svn-work0
-rw-r--r--chanman/po/.svn/props/el_GR.po.svn-work0
-rw-r--r--chanman/po/.svn/props/es_ES.po.svn-work0
-rw-r--r--chanman/po/.svn/props/et_EE.po.svn-work0
-rw-r--r--chanman/po/.svn/props/fi_FI.po.svn-work0
-rw-r--r--chanman/po/.svn/props/fr_FR.po.svn-work0
-rw-r--r--chanman/po/.svn/props/hr_HR.po.svn-work0
-rw-r--r--chanman/po/.svn/props/hu_HU.po.svn-work0
-rw-r--r--chanman/po/.svn/props/it_IT.po.svn-work0
-rw-r--r--chanman/po/.svn/props/nl_NL.po.svn-work0
-rw-r--r--chanman/po/.svn/props/nn_NO.po.svn-work0
-rw-r--r--chanman/po/.svn/props/pl_PL.po.svn-work0
-rw-r--r--chanman/po/.svn/props/pt_PT.po.svn-work0
-rw-r--r--chanman/po/.svn/props/ro_RO.po.svn-work0
-rw-r--r--chanman/po/.svn/props/ru_RU.po.svn-work0
-rw-r--r--chanman/po/.svn/props/sl_SI.po.svn-work0
-rw-r--r--chanman/po/.svn/props/sv_SE.po.svn-work0
-rw-r--r--chanman/po/.svn/props/tr_TR.po.svn-work0
-rw-r--r--chanman/po/.svn/text-base/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/text-base/ca_ES.po.svn-base72
-rw-r--r--chanman/po/.svn/text-base/cs_CZ.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/da_DK.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/de_DE.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/el_GR.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/es_ES.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/et_EE.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/fi_FI.po.svn-base73
-rw-r--r--chanman/po/.svn/text-base/fr_FR.po.svn-base73
-rw-r--r--chanman/po/.svn/text-base/hr_HR.po.svn-base71
-rw-r--r--chanman/po/.svn/text-base/hu_HU.po.svn-base71
-rw-r--r--chanman/po/.svn/text-base/it_IT.po.svn-base72
-rw-r--r--chanman/po/.svn/text-base/nl_NL.po.svn-base72
-rw-r--r--chanman/po/.svn/text-base/nn_NO.po.svn-base71
-rw-r--r--chanman/po/.svn/text-base/pl_PL.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/pt_PT.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/ro_RO.po.svn-base71
-rw-r--r--chanman/po/.svn/text-base/ru_RU.po.svn-base70
-rw-r--r--chanman/po/.svn/text-base/sl_SI.po.svn-base71
-rw-r--r--chanman/po/.svn/text-base/sv_SE.po.svn-base71
-rw-r--r--chanman/po/.svn/text-base/tr_TR.po.svn-base70
-rw-r--r--chanman/po/.svn/tmp/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/tmp/prop-base/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/tmp/props/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/tmp/text-base/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/tmp/wcprops/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/wcprops/.wh.__dir_opaque0
-rw-r--r--chanman/po/.svn/wcprops/ca_ES.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/cs_CZ.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/da_DK.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/de_DE.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/el_GR.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/es_ES.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/et_EE.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/fi_FI.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/fr_FR.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/hr_HR.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/hu_HU.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/it_IT.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/nl_NL.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/nn_NO.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/pl_PL.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/pt_PT.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/ro_RO.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/ru_RU.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/sl_SI.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/sv_SE.po.svn-work5
-rw-r--r--chanman/po/.svn/wcprops/tr_TR.po.svn-work5
-rw-r--r--chanman/po/.wh.__dir_opaque0
-rw-r--r--chanman/po/ca_ES.po75
-rw-r--r--chanman/po/cs_CZ.po73
-rw-r--r--chanman/po/da_DK.po73
-rw-r--r--chanman/po/de_DE.po81
-rw-r--r--chanman/po/el_GR.po73
-rw-r--r--chanman/po/es_ES.po73
-rw-r--r--chanman/po/et_EE.po73
-rw-r--r--chanman/po/fi_FI.po76
-rw-r--r--chanman/po/fr_FR.po76
-rw-r--r--chanman/po/hr_HR.po74
-rw-r--r--chanman/po/hu_HU.po74
-rw-r--r--chanman/po/it_IT.po83
-rw-r--r--chanman/po/nl_NL.po75
-rw-r--r--chanman/po/nn_NO.po74
-rw-r--r--chanman/po/pl_PL.po73
-rw-r--r--chanman/po/pt_PT.po73
-rw-r--r--chanman/po/ro_RO.po74
-rw-r--r--chanman/po/ru_RU.po73
-rw-r--r--chanman/po/sl_SI.po74
-rw-r--r--chanman/po/sv_SE.po74
-rw-r--r--chanman/po/tr_TR.po73
135 files changed, 6312 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..d2fb2f9
--- /dev/null
+++ b/README
@@ -0,0 +1,3 @@
+The author has no time and not interest at this time to make further development on this plugin.
+I'm going to develop it further.
+
diff --git a/chanman/COPYING b/chanman/COPYING
new file mode 100644
index 0000000..f90922e
--- /dev/null
+++ b/chanman/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/chanman/HISTORY b/chanman/HISTORY
new file mode 100644
index 0000000..08f652a
--- /dev/null
+++ b/chanman/HISTORY
@@ -0,0 +1,39 @@
+VDR Plugin 'chanman' Revision History
+-------------------------------------
+
+2007-11-20: Version 0.0.1
+
+- Initial revision.
+With this version is possible to select a channel first by selecting the section, the ":" row in channels.conf, and secondly selecting the channel in that section.
+
+2007-12-03: Version 0.0.2
+
+With this version is possible to select cahnnel by Groups, Alphabetically and by Providers.
+
+2007-12-09: Version 0.0.3
+
+An adjustment on the management on alphabetic order, new visualization of channel and internazionalization.
+
+2007-12-14: Version 0.0.4
+2 New ordering: By Source and Name, by Source and Provider.
+"0" key inverts order of the Second menu (experimental), and in the first menu jumps between first, last, and different sources (if there are any).
+
+2007-12-20: Version 0.0.5
+Icons + Type sort
+
+2007-12-23: Version 0.0.5a
+Bug IconPatch (If you want to use IconPatch you have to change "config.h")
+
+2007-12-23: Version 0.0.5b
+Bug First Group not present!
+
+2008-01-24: Version 0.0.6
+Pressing key "0" in group sort it alpabetically.
+Pressing key 1-9 in the first menu works as in a mobile phone (eg. 1-->"ABC", 2-->"DEF", etc.)
+In the setup if you want you can setup the old style (change by number).
+Bugfix on setup (now you really use the setting you change).
+
+2008-05-12: Version 0.0.7
+New sort: Src+freq
+file.po for internazionalization
+Icon patch for vdr 1.6 (thank to zulu)
diff --git a/chanman/Makefile b/chanman/Makefile
new file mode 100644
index 0000000..5a96f3d
--- /dev/null
+++ b/chanman/Makefile
@@ -0,0 +1,109 @@
+#
+# Makefile for a Video Disk Recorder plugin
+#
+# $Id$
+
+# The official name of this plugin.
+# This name will be used in the '-P...' option of VDR to load the plugin.
+# By default the main source file also carries this name.
+# IPORTANT: the presence of this macro is important for the Make.config
+# file. So it must be defined, even if it is not used here!
+#
+PLUGIN = chanman
+
+### The version number of this plugin (taken from the main source file):
+
+VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
+
+### The C++ compiler and options:
+
+CXX ?= g++
+CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual
+
+### The directory environment:
+
+VDRDIR = ../../..
+LIBDIR = ../../lib
+TMPDIR = /tmp
+
+### Allow user defined options to overwrite defaults:
+
+-include $(VDRDIR)/Make.config
+
+### The version number of VDR's plugin API (taken from VDR's "config.h"):
+
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+
+### The name of the distribution archive:
+
+ARCHIVE = $(PLUGIN)-$(VERSION)
+PACKAGE = vdr-$(ARCHIVE)
+
+### Includes and Defines (add further entries here):
+
+INCLUDES += -I$(VDRDIR)/include
+
+DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+
+### The object files (add further files here):
+
+OBJS = $(PLUGIN).o i18n.o
+
+### Implicit rules:
+
+%.o: %.c
+ $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+# Dependencies:
+
+MAKEDEP = $(CXX) -MM -MG
+DEPFILE = .dependencies
+$(DEPFILE): Makefile
+ @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+
+-include $(DEPFILE)
+
+### Internationalization (I18N):
+
+PODIR = po
+LOCALEDIR = $(VDRDIR)/locale
+I18Npo = $(wildcard $(PODIR)/*.po)
+I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Npot = $(PODIR)/$(PLUGIN).pot
+
+%.mo: %.po
+ msgfmt -c -o $@ $<
+
+$(I18Npot): $(wildcard *.c)
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<giancarlo.rinaldo@tiscali.it>' -o $@ $^
+
+%.po: $(I18Npot)
+ msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+ @touch $@
+
+$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ @mkdir -p $(dir $@)
+ cp $< $@
+
+.PHONY: i18n
+i18n: $(I18Nmsgs)
+
+### Targets:
+
+all: libvdr-$(PLUGIN).so i18n
+
+libvdr-$(PLUGIN).so: $(OBJS)
+ $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+dist: clean
+ @-rm -rf $(TMPDIR)/$(ARCHIVE)
+ @mkdir $(TMPDIR)/$(ARCHIVE)
+ @cp -a * $(TMPDIR)/$(ARCHIVE)
+ @tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE)
+ @-rm -rf $(TMPDIR)/$(ARCHIVE)
+ @echo Distribution package created as $(PACKAGE).tgz
+
+clean:
+ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff --git a/chanman/README b/chanman/README
new file mode 100644
index 0000000..822fe96
--- /dev/null
+++ b/chanman/README
@@ -0,0 +1,20 @@
+This is a "plugin" for the Video Disk Recorder (VDR).
+
+Written by: RINALDO Giancarlo <rinaldo@dipmat.unime.it>
+Advice and suggestions: BRUNO Luigi
+
+Project's homepage: http://www.messinalug.org/vdr-chanman/
+
+Latest version available at: http://www.messinalug.org/vdr-chanman/
+
+See the file COPYING for license information.
+
+Description: This plugin simplifies the choice of a channel by a multilevel menu.
+
+Installation: make plugins (is enough!)
+
+Execute: ./vdr -Pchanman
+
+Remark : If you like Icons then change config.h and uncomment the line
+//#define ICONPATCH
+
diff --git a/chanman/ToDo b/chanman/ToDo
new file mode 100644
index 0000000..09bf23b
--- /dev/null
+++ b/chanman/ToDo
@@ -0,0 +1,2 @@
+Memorize settings
+Moving channels
diff --git a/chanman/chanman-0.0.7_i18n.diff b/chanman/chanman-0.0.7_i18n.diff
new file mode 100755
index 0000000..72bf717
--- /dev/null
+++ b/chanman/chanman-0.0.7_i18n.diff
@@ -0,0 +1,333 @@
+diff -ruNp chanman-0.0.7/i18n.c chanman-0.0.7-i18n/i18n.c
+--- chanman-0.0.7/i18n.c 2008-05-11 09:49:13.000000000 +0200
++++ chanman-0.0.7-i18n/i18n.c 2008-05-12 09:51:52.000000000 +0200
+@@ -11,9 +11,163 @@
+ #if APIVERSNUM < 10507
+
+ const tI18nPhrase Phrases[] = {
+- { "Group",
++ { "Channel manager plugin",
++ "Kanal Manager Plugin",
++ "",// TODO
++ "Plugin per gestire i canali",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Channel Manager",
++ "Kanal Manager",
++ "",// TODO
++ "Gestione canali",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Channel manager",
++ "Kanal Manager",
++ "",// TODO
++ "Gestione canali",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Radio",
++ "Radio",
++ "",// TODO
++ "Radio",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Tv",
++ "TV",
++ "",// TODO
++ "Tv",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
+ "",
+ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Tv Crypt",
++ "TV verschlüsselt",
++ "",// TODO
++ "Tv codif.",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "All",
++ "Alle",
++ "",// TODO
++ "Tutti",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Group",
++ "Gruppe",
++ "",// TODO
+ "Gruppo",
+ "",// TODO
+ "",// TODO
+@@ -34,10 +188,10 @@ const tI18nPhrase Phrases[] = {
+ "",
+ },
+ { "Name",
+- "",
++ "Name",
+ "",// TODO
+ "Nome",
+- "",// TODO
++ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+@@ -55,11 +209,33 @@ const tI18nPhrase Phrases[] = {
+ "",// TODO
+ "",
+ },
+- { "Src+Name",
++ { "Channels",
++ "Kanäle",
++ "",// TODO
++ "Canali",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
+ "",
+ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Src+Name",
++ "Quelle+Name",
++ "",// TODO
+ "Srg+Nome",
+- "",// TODO
++ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+@@ -78,10 +254,10 @@ const tI18nPhrase Phrases[] = {
+ "",
+ },
+ { "Provider",
+- "",
++ "Provider",
+ "",// TODO
+ "Provider",
+- "",// TODO
++ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+@@ -100,10 +276,10 @@ const tI18nPhrase Phrases[] = {
+ "",
+ },
+ { "Src+Provider",
+- "",
++ "Quelle+Provider",
+ "",// TODO
+ "Srg+Provider",
+- "",// TODO
++ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+@@ -121,9 +297,31 @@ const tI18nPhrase Phrases[] = {
+ "",// TODO
+ "",
+ },
+- { "Max items for alphabetic order",
++ { "Src+Frequency",
++ "Quelle+Frequenz",
++ "",// TODO
++ "Srg+Freq.",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
+ "",
+ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Max items for alphabetic order",
++ "Max Elemente für alphabetische Sortierung",
++ "",// TODO
+ "Massimo elementi ordine Alfabetico",
+ "",// TODO
+ "",// TODO
+@@ -143,10 +341,54 @@ const tI18nPhrase Phrases[] = {
+ "",// TODO
+ "",
+ },
+- { "Show : 1) Prov.; 2) ChannelID",
++ { "Show : 1) Prov.; 2) ChID; 3) Freq.",
++ "Zeige : 1) Prov.; 2) ID; 3) Freq.",
++ "",// TODO
++ "Mostra: 1) Prov 2) ID Can 3) Freq",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Jump : 1) Alphabetic; 2) Numeric",
++ "Springe : 1) Alphabetisch; 2) Numerisch",
++ "",// TODO
++ "Vai a: 1) Alfabetico 2) Num.",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
+ "",
+ "",// TODO
+- "Mostra : 1) Prov.; 2) ChannelID",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ "",// TODO
++ "",// TODO
++ "",// TODO
++ "",
++ },
++ { "Button$Switch",
++ "Umschalten",
++ "",// TODO
++ "Cambia",
+ "",// TODO
+ "",// TODO
+ "",// TODO
diff --git a/chanman/chanman.c b/chanman/chanman.c
new file mode 100644
index 0000000..2817d82
--- /dev/null
+++ b/chanman/chanman.c
@@ -0,0 +1,1095 @@
+
+/*
+ * Chanman.c: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#include <cctype>
+#include <vdr/tools.h>
+#include <vdr/timers.h>
+#include <vdr/plugin.h>
+#include <vdr/interface.h>
+#include <vdr/device.h>
+#include "i18n.h"
+
+
+#ifdef USE_WAREAGLEICON
+#include <vdr/iconpatch.h>
+#endif
+
+
+#define CHANNELNUMBERTIMEOUT 1000 //ms
+
+
+
+static const char *VERSION = "0.0.8";
+
+#include "chanman.h"
+
+
+// --- cMyChannel (MyChannels) -------------------------------------------------------
+
+
+
+eChannelSortMode cMyChannel::sortMode=csmNumber;
+eChannelFilterMode cMyChannel::filterMode=cfmAll;
+
+int cMyChannel::Compare(const cListObject &ListObject) const
+{
+ cMyChannel *p = (cMyChannel *)&ListObject;
+ int r = -1;
+ if (sortMode == csmProvider)
+ r = strcoll(channel->Provider(), p->channel->Provider());
+ else if (sortMode == csmName || r == 0)
+ r = strcoll(channel->Name(),p->channel->Name());
+ else if (sortMode == csmSrcName || sortMode == csmSrcProvider || sortMode == csmSrcFrequency ){
+ r = strcoll(*cSource::ToString(channel->Source()),*cSource::ToString(p->channel->Source()));
+ if(r==0){
+ if(sortMode == csmSrcName) r = strcoll(channel->Name(), p->channel->Name());
+ else if(sortMode == csmSrcProvider) r = strcoll(channel->Provider(), p->channel->Provider());
+ else r = channel->Frequency() - p->channel->Frequency();
+ }
+ } else if (sortMode == csmNumber || r == 0){
+ r = pos - p->pos;
+ }
+ return r;
+};
+
+void cMyChannels::Set() {
+ int pos=1;
+ for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel)) {
+ Add(new cMyChannel(channel,pos));
+ pos++;
+ }
+}
+
+
+/*cMyChannels::~cMyChannels() {
+ fprintf(stdout, "Canali distrutti\n");
+}*/
+
+
+/*
+void cMyChannels::Reset() {
+ cMyChannel *lchannel = First();
+ for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel) ) {
+ lchannel->SetCh(channel);
+ lchannel = Next(lchannel);
+ }
+ }*/
+
+void cMyChannels::FilterChan() {
+ for (cMyChannel *lchannel = First(); lchannel; lchannel = Next(lchannel)) {
+ if (Filtered(lchannel)){
+ lchannel->In(true);
+ } else {
+ lchannel->In(false);
+ }
+ }
+}
+
+bool cMyChannels::Filtered(cMyChannel *lchannel) {
+ bool res=false;
+
+ eChannelFilterMode fm=lchannel->FilterMode();
+ if (lchannel->GetCh()->GroupSep() || fm==cfmAll)
+ res=true;
+ else if(fm==cfmRadio)
+ res=(lchannel->GetCh()->Vpid() == 1 || lchannel->GetCh()->Vpid() == 0);
+ else if(fm==cfmTv)
+ res=(lchannel->GetCh()->Vpid() > 1 && lchannel->GetCh()->Ca() == 0);
+ else if(fm==cfmTvCrypted)
+ res=(lchannel->GetCh()->Vpid() > 1 && lchannel->GetCh()->Ca() != 0);
+
+
+ return res;
+}
+
+
+bool cMyChannels::Modified(void)
+{
+ bool Result = modified;
+ modified = false;
+ return Result;
+}
+
+
+cMyChannels MyChannels;
+
+
+cList<cToCutChannel> ToCutChannels;
+
+//----
+
+
+
+// --- cMenuSetupChanMan -------------------------------------------------------
+int NrRow = 30;
+int WhatShow = 1;
+int WhatJump = 1;
+
+cMenuSetupChanMan::cMenuSetupChanMan(void)
+{
+ newNrRow = NrRow;
+ newWhatShow = WhatShow;
+ newWhatJump = WhatJump;
+ Add(new cMenuEditIntItem( tr("Max items for alphabetic order"),&newNrRow));
+ Add(new cMenuEditIntItem( tr("Show : 1) Prov.; 2) ChID; 3) Freq."),&newWhatShow));
+ Add(new cMenuEditIntItem( tr("Jump : 1) Alphabetic; 2) Numeric"),&newWhatJump));
+}
+
+void cMenuSetupChanMan::Store(void)
+{
+ SetupStore("NrRow", NrRow = newNrRow);
+ SetupStore("WhatShow", WhatShow = newWhatShow);
+ SetupStore("WhatJump", WhatJump = newWhatJump);
+}
+
+
+
+
+
+// Gruppi in ordine di inserimento
+bool cItemChoice1::increasing=false;
+
+//----
+
+
+
+
+bool cItemChoice2::increasing=true;
+
+
+
+// ---Setting filter menu
+//class cFilterMenu : public cOsdMenu {
+// private:
+// //void Setup(void);
+// public:
+// cFilterMenu(void);
+// ~cFilterMenu(void);
+// // eOSState ProcessKey(eKeys k);
+// // eOSState Number(eKeys k);
+//};
+
+//class cFilterItem : public cOsdItem {
+// private:
+// int positem;
+
+// public:
+// cFilterItem(int positem, const char *FilterName);
+// // int Number(void){return positem;}
+//};
+
+//------
+
+
+// --- cPluginChanman -------------------------------------------------------
+
+
+cPluginChanman::cPluginChanman(void)
+{
+ NrRow=30;
+ WhatShow=1;
+ WhatJump=1;
+
+ // Initialize any member variables here.
+ // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
+ // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
+}
+
+cPluginChanman::~cPluginChanman()
+{
+ // Clean up after yourself!
+}
+
+const char *cPluginChanman::CommandLineHelp(void)
+{
+ // Return a string that describes all known command line options.
+ return NULL;
+}
+
+bool cPluginChanman::ProcessArgs(int argc, char *argv[])
+{
+ // Implement command line argument processing here if applicable.
+ return true;
+}
+
+bool cPluginChanman::Initialize(void)
+{
+ // Initialize any background activities the plugin shall perform.
+ return true;
+}
+
+bool cPluginChanman::Start(void)
+{
+ // Start any background activities the plugin shall perform.
+#if APIVERSNUM >= 10507
+ I18nRegister( "chanman" );
+#else
+ RegisterI18n( Phrases );
+#endif
+ return true;
+}
+
+void cPluginChanman::Stop(void)
+{
+ // Stop any background activities the plugin shall perform.
+}
+
+void cPluginChanman::Housekeeping(void)
+{
+ // Perform any cleanup or other regular tasks.
+}
+
+void cPluginChanman::MainThreadHook(void)
+{
+ // Perform actions in the context of the main program thread.
+ // WARNING: Use with great care - see PLUGINS.html!
+}
+
+cString cPluginChanman::Active(void)
+{
+ // Return a message string if shutdown should be postponed
+ return NULL;
+}
+
+cOsdObject *cPluginChanman::MainMenuAction(void)
+{
+ // Perform the action when selected from the main VDR menu.
+ return new cFirstMenu;
+}
+
+cMenuSetupPage *cPluginChanman::SetupMenu(void)
+{
+ // Return a setup menu in case the plugin supports one.
+ return new cMenuSetupChanMan;
+}
+
+bool cPluginChanman::SetupParse(const char *Name, const char *Value)
+{
+ // Parse your own setup parameters and store their values.
+
+ if (!strcasecmp(Name, "NrRow")) NrRow = atoi(Value);
+ else if (!strcasecmp(Name, "WhatShow")) WhatShow = atoi(Value);
+ else if (!strcasecmp(Name, "WhatJump")) WhatJump = atoi(Value);
+ else
+ return false;
+
+ return true;
+}
+
+bool cPluginChanman::Service(const char *Id, void *Data)
+{
+ // Handle custom service requests from other plugins
+ return false;
+}
+
+const char **cPluginChanman::SVDRPHelpPages(void)
+{
+ // Return help text for SVDRP commands this plugin implements
+ return NULL;
+}
+
+cString cPluginChanman::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode)
+{
+ // Process SVDRP commands this plugin implements
+ return NULL;
+}
+
+
+//----------Filter Menu---------
+
+//cFilterMenu::cFilterMenu() : cOsdMenu(tr("Filters"),4) {
+
+// Add(new cFilterItem(1,tr("Radio")));
+// Add(new cFilterItem(2,tr("Televisions")));
+// Add(new cFilterItem(3,tr("Crypted Televisions")));
+// Add(new cFilterItem(4,tr("Television and Crypted")));
+// Add(new cFilterItem(5,tr("All")));
+
+// Display();
+//}
+
+//cFilterMenu::~cFilterMenu(void) {
+//}
+
+//cFilterItem::cFilterItem(int Positem, const char *FilterName)
+//{
+// positem=Positem;
+// char *buffer=NULL;
+// asprintf(&buffer, "%3d \t%s", positem, FilterName);
+// SetText(buffer, false);
+//}
+
+
+//----------cFirstMenu---------
+
+cFirstMenu::cFirstMenu(void) : cOsdMenu(tr("Channel Manager"),4,27,8) {
+
+ MyChannels.Set();
+ Setup();
+ SetFirstHelp();
+ Display();
+}
+
+
+// enum eChannelFilterMode { cfmAll, cfmRadio, cfmTv, cfmTvCrypted };
+void cFirstMenu::SetFirstHelp() {
+ const char *Blu[] = { NULL, tr("Radio"), tr("Tv"), tr("Tv Crypt"),tr("All") };
+
+ SetHelp(cMyChannel::SortMode()==csmNumber ? tr("Src+Frequency"):tr("Group"),
+ cMyChannel::SortMode()==csmProvider ? tr("Src+Provider"):tr("Provider"),
+ cMyChannel::SortMode()==csmName ? tr("Src+Name"):tr("Name"),
+ Blu[cMyChannel::FilterMode()+1]
+ );
+
+}
+
+cFirstMenu::~cFirstMenu(void) {
+ MyChannels.Clear();
+ cMyChannel::SetSortMode(csmNumber);
+ cMyChannel::SetFilterMode(cfmAll);
+
+ ToCutChannels.Clear();
+}
+
+
+void cFirstMenu::Setup() {
+ int nch=0;
+ int positem=0;
+ number=0;
+ bool isInGroup=false;
+
+
+ cMyChannel *first=NULL;
+ cChannel *currentChannel;
+ currentChannel = Channels.GetByNumber(cDevice::CurrentChannel());
+
+ cItemChoice1 *currentItem = NULL;
+
+ Clear();
+ for (cMyChannel *lchannel = MyChannels.First(); lchannel; lchannel = MyChannels.Next(lchannel)) {
+ if(lchannel->GetCh()==currentChannel) isInGroup=true;
+ if (!SkipIt(lchannel)){
+ if (IsFirst(lchannel, nch)) {
+ first=lchannel;
+ nch=1;
+ } else if(nch!=0){ // Incrementa solo se c'e' un first
+ nch++;
+ }
+ }
+
+ if (((nch>1) || (nch==1 && lchannel->SortMode()!=csmNumber) || (nch==1 && lchannel->SortMode()==csmNumber && lchannel->FilterMode()==cfmAll )) &&
+ (lchannel==MyChannels.Last() || IsLast(lchannel,nch))) {
+ positem++;
+ cItemChoice1 *item = new cItemChoice1(positem,first,nch);
+ Add(item);
+ if (isInGroup){
+ // fprintf(stderr, "Sono nel gruppo %s\n",first->GetCh()->Name());
+ currentItem = item;
+ isInGroup=false;
+ }
+ nch=0;
+ }
+
+ }
+
+ SetCurrent(currentItem);
+}
+
+
+bool cFirstMenu::SkipIt(cMyChannel *lchannel) {
+ return (!(lchannel->IsIn()) || ((lchannel->SortMode()!=csmNumber) && (lchannel->GetCh()->GroupSep())));
+}
+
+bool cFirstMenu::IsFirst(cMyChannel *lchannel, int nch) {
+ bool res=false;
+
+ if (lchannel->SortMode()==csmNumber) res=(lchannel->GetCh()->GroupSep());
+ else if (lchannel->SortMode()==csmName) res=(nch==0);
+ else if (lchannel->SortMode()==csmProvider) res=(nch==0);
+ else if (lchannel->SortMode()==csmSrcProvider) res=(nch==0);
+ else if (lchannel->SortMode()==csmSrcName) res=(nch==0);
+ else if (lchannel->SortMode()==csmSrcFrequency) res=(nch==0);
+ return res;
+}
+
+bool cFirstMenu::IsLast(cMyChannel *lchannel, int nch) {
+ bool res=false;
+ if (lchannel->SortMode()==csmNumber) res=(MyChannels.Next(lchannel)->GetCh()->GroupSep());
+ else if (lchannel->SortMode()==csmName || lchannel->SortMode()==csmSrcName )
+ res=(strncmp(lchannel->GetCh()->Name(),MyChannels.Next(lchannel)->GetCh()->Name(),1) || nch==NrRow);
+ else if (lchannel->SortMode()==csmProvider || lchannel->SortMode()==csmSrcProvider) {
+ if (!lchannel->GetCh()->GroupSep()){
+ // nchannel=MyChannels.Next(lchannel);
+ // fprintf(stderr, "%d, %d\n",lchannel, nchannel);
+ // fprintf(stderr, "%s = %s \n",lchannel->GetCh()->Name(), nchannel->GetCh()->Name());
+ // fprintf(stderr, "%s = %s \n",lchannel->GetCh()->Provider(), nchannel->GetCh()->Provider());
+ // fprintf(stderr, "Prima\n");
+ res=(strcoll(lchannel->GetCh()->Provider(),MyChannels.Next(lchannel)->GetCh()->Provider())!=0);
+ // fprintf(stderr, "Dopo\n");
+ }
+ } else if (lchannel->SortMode()==csmSrcFrequency) {
+ if (!lchannel->GetCh()->GroupSep()){
+ res=(lchannel->GetCh()->Frequency()!=MyChannels.Next(lchannel)->GetCh()->Frequency());
+ }
+ }
+ // r = strcoll(channel->Provider(), p->channel->Provider());
+
+return res;
+}
+
+void cFirstMenu::JumpNext()
+{
+ int last = Count() - 1;
+ int current=Current();
+ int Src;
+ if (cMyChannel::SortMode()==csmProvider || cMyChannel::SortMode()==csmName || cMyChannel::SortMode()==csmNumber){
+ if (current!=last) SetCurrent(Get(Count()-1));
+ else SetCurrent(Get(0));
+ } else {
+ if (current==last) SetCurrent(Get(0));
+ else {
+ Src=((cItemChoice1 *)Get(current))->Src();
+ for (cItemChoice1 *ci = (cItemChoice1 *)Get(current); ci && ci->Src()==Src; ci = (cItemChoice1 *)ci->Next())
+ if (ci && ci!=(cItemChoice1 *)Last()) SetCurrent((cOsdItem *)ci->Next());
+ else SetCurrent(Get(0));
+ }
+ }
+}
+
+
+const char * cFirstMenu::NameProv(cItemChoice1 *cx){
+ cMyChannel *q=(cMyChannel *)cx->GetFirst();
+ if (cMyChannel::SortMode()==csmName || cMyChannel::SortMode()==csmSrcName){
+ return q->GetCh()->Name();
+ } else if (cMyChannel::SortMode()==csmProvider || cMyChannel::SortMode()==csmSrcProvider){
+ return q->GetCh()->Provider();
+ }
+ // Caso csmNumber
+ cMyChannel *q1=(cMyChannel *)cx->GetFirst()->Prev();
+ return q1->GetCh()->Name();
+}
+
+void cFirstMenu::JumpNextLetter(int num)
+{
+ // const char *KeyAlpha[] = {tr(" "), tr("A"), tr("D"), tr("G"), tr("J"), tr("M"), tr("P"), tr("T"), tr("W")};
+ const char *KeyAlpha[] = {" ", "A", "D", "G", "J", "M", "P", "T", "W"};
+ // int last = Count() - 1;
+ int current=Current();
+
+ cItemChoice1 *cic=(cItemChoice1 *)Get(current);
+
+ cItemChoice1 *ci=(cItemChoice1 *)Get(current);
+
+
+ if (strncmp(KeyAlpha[num-1], NameProv(ci) ,1)>0){
+ // La lettera premuta e' successiva all'iniziale del corrente item
+ for(ci = cic;
+ ci && strncmp(KeyAlpha[num-1], NameProv(ci), 1)>0;
+ ci = (cItemChoice1 *)ci->Next());
+ // fprintf(stderr, "%s = %s \n",KeyAlpha[num-1], NameProv(ci));
+
+ } else if (num < 9 && strncmp(KeyAlpha[num], NameProv(ci), 1)<=0) {
+ // La lettera premuta e' precedente all'iniziale del corrente item
+ for( ; ci && strncmp(KeyAlpha[num-1], NameProv(ci) ,1)<=0; ci = (cItemChoice1 *)ci->Prev());
+ if (ci) ci = (cItemChoice1 *)ci->Next();
+ // else ci = (cItemChoice1 *)First();
+ //fprintf(stderr, "%s = %s \n",KeyAlpha[num-1], ci->GetFirst()->GetCh()->Name());
+ } else {
+ // La lettera premuta e' precedente all'iniziale del corrente item e num==9
+ for(ci = cic;
+ ci && strncmp(NameProv(cic), NameProv(ci), 1)==0;
+ ci = (cItemChoice1 *)ci->Next());
+ // fprintf(stderr, "%s = %s \n",NameProv(cic), NameProv(ci));
+ //fprintf(stderr, "%s = %s \n",cic->GetFirst()->GetCh()->Name(), ci->GetFirst()->GetCh()->Name() );
+ }
+
+ if (ci && ci!=(cItemChoice1 *)Last()) SetCurrent((cOsdItem *)ci);
+ else SetCurrent(Get(0));
+}
+
+
+
+
+eOSState cFirstMenu::Number(eKeys Key)
+{
+ if (numberTimer.TimedOut())
+ number = 0;
+ if(!number && Key==k0){
+ if (cMyChannel::SortMode()==csmNumber){
+ if (cItemChoice1::Increasing()){
+ MyChannels.Sort();
+ Setup();
+ cItemChoice1::SetIncreasing(false);
+ } else {
+ Sort();
+ cItemChoice1::SetIncreasing(true);
+ }
+ } else {
+ JumpNext();
+ }
+ Display();
+ } else if (WhatJump==1 && (cMyChannel::SortMode()!=csmNumber || cMyChannel::SortMode()==csmNumber && cItemChoice1::Increasing())) {
+ JumpNextLetter(Key-k0);
+ Display();
+ } else {
+ number = number * 10 + Key - k0;
+ for (cItemChoice1 *ci = (cItemChoice1 *)First(); ci; ci = (cItemChoice1 *)ci->Next()){
+ if (ci->Number() == number) {
+ SetCurrent(ci);
+ Display();
+ break;
+ }
+ }
+ }
+
+ numberTimer.Set(CHANNELNUMBERTIMEOUT);
+ return osContinue;
+}
+
+eOSState cFirstMenu::ProcessKey(eKeys Key)
+{
+ eOSState state = cOsdMenu::ProcessKey(Key);
+ if (state == osUnknown)
+ {
+ //switch (Key & ~k_Repeat)
+ switch (Key)
+ {
+ case k0...k9:
+ return Number(Key);
+ break;
+ case kUp:
+ case kUp|k_Repeat:
+ break;
+ case kDown:
+ case kDown|k_Repeat:
+ break;
+ case kLeft:
+ case kLeft|k_Repeat:
+ break;
+ case kRight:
+ case kRight|k_Repeat:
+ break;
+ case kRed:
+ if(cMyChannel::SortMode()==csmNumber) {
+ cMyChannel::SetSortMode(csmSrcFrequency);
+ MyChannels.Sort();
+ } else {
+ cMyChannel::SetSortMode(csmNumber);
+ MyChannels.Sort();
+ cItemChoice1::SetIncreasing(false);
+ }
+ MyChannels.SetModified();
+ // Setup();
+ // SetFirstHelp();
+ // Display();
+ break;
+ case kGreen:
+ if(cMyChannel::SortMode()==csmProvider) cMyChannel::SetSortMode(csmSrcProvider);
+ else cMyChannel::SetSortMode(csmProvider);
+ MyChannels.Sort();
+ MyChannels.SetModified();
+ // Setup();
+ // SetFirstHelp();
+ // Display();
+ break;
+ case kYellow:
+ if(cMyChannel::SortMode()==csmName) cMyChannel::SetSortMode(csmSrcName);
+ else cMyChannel::SetSortMode(csmName);
+ MyChannels.Sort();
+ MyChannels.SetModified();
+ // Setup();
+ // SetFirstHelp();
+ // Display();
+ break;
+ case kBlue:
+ cMyChannel::IncFilterMode();
+ MyChannels.FilterChan();
+ MyChannels.SetModified();
+ // Setup();
+ // SetFirstHelp();
+ // Display();
+ break;
+ case kOk:
+ return AddSubMenu(new cSecondMenu( ((cItemChoice1 *)Get(Current()))->GetFirst(), ((cItemChoice1 *)Get(Current()))->GetNum()));
+ // Dove Torna una volta uscito dal sotto menu'?
+ break;
+ case kBack:
+ return osEnd;
+ default:
+ return state;
+ }
+ state = osContinue;
+ }
+ if(MyChannels.Modified()){
+ Setup();
+ SetFirstHelp();
+ Display();
+ }
+ return state;
+
+}
+
+//---- cItemChoice1----
+
+
+
+cItemChoice1::cItemChoice1(int Positem, cMyChannel *lchannel, int nch)
+{
+ char *buffer=NULL;
+ positem=Positem;
+ if (lchannel->SortMode()==csmNumber) {
+ // fprintf(stderr, "%s \n",lchannel->GetCh()->Name());
+ if(MyChannels.Next(lchannel)) firstlch=MyChannels.Next(lchannel);
+ else firstlch=NULL;
+ nch--;
+ } else firstlch=lchannel;
+
+
+ numch=nch;
+ if (lchannel->SortMode()==csmSrcProvider || lchannel->SortMode()==csmProvider) {
+ src=lchannel->GetCh()->Source();
+ asprintf(&buffer, "%3d\t%s \t%s \t%3d", positem, lchannel->GetCh()->Provider(), *cSource::ToString(lchannel->GetCh()->Source()), nch);
+ } else if (lchannel->SortMode()==csmSrcFrequency) {
+ src=lchannel->GetCh()->Source();
+ asprintf(&buffer, "%3d\t%8d %s \t%s \t%3d", positem, lchannel->GetCh()->Frequency(), lchannel->GetCh()->Provider(),
+ *cSource::ToString(lchannel->GetCh()->Source()), nch);
+ } else if (lchannel->SortMode()==csmSrcName) {
+ src=lchannel->GetCh()->Source();
+ asprintf(&buffer, "%3d\t%s \t%s \t%3d", positem, lchannel->GetCh()->Name(), *cSource::ToString(lchannel->GetCh()->Source()), nch);
+ } else asprintf(&buffer, "%3d\t%s\t\t%3d", positem, lchannel->GetCh()->Name(), nch);
+
+ SetText(buffer, false);
+}
+
+
+int cItemChoice1::Compare(const cListObject &ListObject) const
+{
+ cItemChoice1 *p = (cItemChoice1 *)&ListObject;
+ cMyChannel *q=(cMyChannel *)p->GetFirst()->Prev(); //Il precedente al primo e' il nome del gruppo
+ cMyChannel *q0=(cMyChannel *)firstlch->Prev(); // Come sopra
+
+ return strcoll(q0->GetCh()->Name(), q->GetCh()->Name());
+}
+
+
+
+/*
+int cMenuChannelItem::Compare(const cListObject &ListObject) const
+{
+ cMenuChannelItem *p = (cMenuChannelItem *)&ListObject;
+ int r = -1;
+ if (sortMode == csmProvider)
+ r = strcoll(channel->Provider(), p->channel->Provider());
+ if (sortMode == csmName || r == 0)
+ r = strcoll(channel->Name(), p->channel->Name());
+ if (sortMode == csmNumber || r == 0)
+ r = channel->Number() - p->channel->Number();
+ return r;
+}
+*/
+
+
+// --- cSecondMenu -------------------------------------------------------
+
+
+cSecondMenu::cSecondMenu(cMyChannel *firstlch, int numch) : cOsdMenu(tr("Channels"),4,25) {
+ cMyChannel *lchannel;
+ number=0;
+ lchannel=firstlch;
+
+ for (int i=1; i<=numch; i++) {
+ // Salta tutti i "canali-sezione" ed i canali filtrati
+ while(lchannel->GetCh()->GroupSep() || !(lchannel->IsIn())) lchannel = MyChannels.Next(lchannel);
+
+ cItemChoice2 *item = new cItemChoice2(i,lchannel->GetCh(),lchannel);
+ Add(item);
+ lchannel = MyChannels.Next(lchannel);
+ }
+
+ SetHelp(tr("Button$Switch"),
+ tr("Button$Cut"),
+ cMyChannel::SortMode()==csmNumber ? tr("Button$Paste"):tr(""),
+ cMyChannel::SortMode()==csmNumber ? tr("Button$Mark"):tr(""));
+ Display();
+}
+
+cSecondMenu::~cSecondMenu() {
+}
+
+cChannel *cSecondMenu::GetChannel(int Index)
+{
+ cItemChoice2 *p = (cItemChoice2 *)Get(Index);
+ return p ? (cChannel *)p->GetChan() : NULL;
+}
+
+
+
+cMyChannel *cSecondMenu::GetMyChannel(int Index)
+{
+ cItemChoice2 *p = (cItemChoice2 *)Get(Index);
+ return p ? (cMyChannel *)p->GetMyChan() : NULL;
+}
+
+
+void cSecondMenu::Propagate(void)
+{
+ int i=1;
+ Channels.ReNumber();
+ for (cItemChoice2 *ci = (cItemChoice2 *)First(); ci; ci = (cItemChoice2 *)ci->Next()){
+ ci->SetPos(i);
+ i++;
+ ci->Set();
+ }
+ Display();
+ Channels.SetModified(true);
+ MyChannels.SetModified();
+}
+
+
+void cSecondMenu::Move(int From, int To)
+{
+ int CurrentChannelNr = cDevice::CurrentChannel();
+ cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr);
+ cChannel *FromChannel = GetChannel(From);// From e' la posizione nel menu di cItemChoice2
+ cChannel *ToChannel = GetChannel(To); // GetChannel Restituisce la posizione nella lista Channels.
+ cMyChannel *FromMyChannel = GetMyChannel(From);
+ cMyChannel *ToMyChannel = GetMyChannel(To);
+
+ if (FromChannel && ToChannel) {
+ int FromNumber = FromChannel->Number();
+ int ToNumber = ToChannel->Number();
+ Channels.Move(FromChannel, ToChannel);
+ MyChannels.Move(FromMyChannel, ToMyChannel);
+ cOsdMenu::Move(From, To);
+ Propagate();
+
+ isyslog("channel %d moved to %d", FromNumber, ToNumber);
+ if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr) {
+ if (!cDevice::PrimaryDevice()->Replaying() || cDevice::PrimaryDevice()->Transferring())
+ Channels.SwitchTo(CurrentChannel->Number());
+ else
+ cDevice::SetCurrentChannel(CurrentChannel);
+ }
+ }
+}
+
+
+void cSecondMenu::Paste(void){
+
+ // int CurrentChannelNr = cDevice::CurrentChannel();
+ // cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr);
+
+ cMyChannel *FromMyChannel;
+
+ cItemChoice2 *CurrentChoice=(cItemChoice2 *)Get(Current());
+
+ cMyChannel *ToMyChannel=CurrentChoice->GetMyChan();
+
+ cChannel *FromChannel;
+ cChannel *ToChannel = ToMyChannel->GetCh();
+
+ int i=1;
+ for (cToCutChannel *mychancut = ToCutChannels.First(); mychancut; mychancut = ToCutChannels.Next(mychancut)){
+ // for (cToCutChannel *mychancut = ToCutChannels.Last(); mychancut; mychancut = ToCutChannels.Prev(mychancut)){
+ FromMyChannel=mychancut->Get();
+ FromMyChannel->ToCut(false);
+
+ FromChannel=FromMyChannel->GetCh();
+
+ Channels.Move(FromChannel, ToChannel);
+ MyChannels.Move(FromMyChannel, ToMyChannel);
+
+ //void cOsdMenu::Add(cOsdItem *Item, bool Current, cOsdItem *After)
+
+ //cItemChoice2 *item = new cItemChoice2(i,lchannel->GetCh(),lchannel);
+ // Add(item);
+
+ Add(new cItemChoice2(i,FromChannel,FromMyChannel), true, CurrentChoice);
+ i++;
+
+ // ToChannel=Channels.Next(ToChannel);
+ // ToMyChannel=MyChannels.Next(ToMyChannel);
+
+ ToChannel=FromChannel;
+ ToMyChannel=FromMyChannel;
+
+ isyslog("channel %d moved to %d", i, i);
+ }
+
+ ToCutChannels.Clear();
+ Propagate();
+}
+
+void cSecondMenu::Cut(void){
+ cItemChoice2 *ci = (cItemChoice2 *)Get(Current());
+ cMyChannel *mch = ci->GetMyChan();
+ if (!(mch->ToCut())){
+ mch->ToCut(true);
+ ToCutChannels.Ins(new cToCutChannel(mch));
+ } else {
+ mch->ToCut(false);
+
+ cToCutChannel *mychancut = ToCutChannels.First();
+ while(mychancut && mychancut->Get()!=mch){
+ mychancut = ToCutChannels.Next(mychancut);
+ }
+ if(mychancut->Get()==mch) ToCutChannels.Del(mychancut,false);//non cancello l'oggetto con false ma solo il puntatore!
+ }
+
+ ci->Set();
+ Display();
+}
+
+
+eOSState cSecondMenu::Switch(void)
+{
+ cChannel *ch = ((cItemChoice2 *)Get(Current()))->GetChan();
+ if (ch)
+ return cDevice::PrimaryDevice()->SwitchChannel(ch, true) ? osEnd : osContinue;
+ return osEnd;
+}
+
+
+
+
+eOSState cSecondMenu::Number(eKeys Key)
+{
+ if (numberTimer.TimedOut())
+ number = 0;
+ if(!number && Key==k0){
+ cItemChoice2::IncFlag();
+ Sort();
+ Display();
+ }
+ number = number * 10 + Key - k0;
+ for (cItemChoice2 *ci = (cItemChoice2 *)First(); ci; ci = (cItemChoice2 *)ci->Next()){
+ if (ci->Number() == number) {
+ SetCurrent(ci);
+ Display();
+ break;
+ }
+ }
+ numberTimer.Set(CHANNELNUMBERTIMEOUT);
+ return osContinue;
+}
+
+
+
+
+eOSState cSecondMenu::ProcessKey(eKeys Key)
+{
+ eOSState state = cOsdMenu::ProcessKey(Key);
+ if (state == osUnknown)
+ {
+ //switch (Key & ~k_Repeat)
+ switch (Key)
+ {
+ case k0...k9:
+ return Number(Key);
+ case kUp:
+ case kUp|k_Repeat:
+ break;
+ case kDown:
+ case kDown|k_Repeat:
+ break;
+ case kLeft:
+ case kLeft|k_Repeat:
+ break;
+ case kRight:
+ case kRight|k_Repeat:
+ break;
+ case kRed:
+ // Cambia canale rimanendo sul menu'
+ Switch();
+ break;
+ case kGreen:
+ Cut();
+ break;
+ case kYellow:
+ if (cMyChannel::SortMode()==csmNumber) Paste();
+ break;
+ case kBlue:
+ if (cMyChannel::SortMode()==csmNumber) Mark();
+ break;
+ case kOk:
+ return Switch();
+ case kBack:
+ return osEnd;
+ default:
+ return state;
+ }
+ state = osContinue;
+ }
+ return state;
+
+}
+
+
+//----Choices in Second Menu----
+
+
+/* #if APIVERSNUM >= 10507 */
+/* const char *cItemChoice2::Icon() */
+/* { */
+/* if (channel->Vpid() == 1 || channel->Vpid() == 0){ */
+/* #ifdef USE_WAREAGLEICON */
+/* if (Setup.WarEagleIcons) { */
+/* return IsLangUtf8() ? ICON_RADIO_UTF8 : ICON_RADIO; */
+/* } else { */
+/* #endif */
+/* return "R"; */
+/* } */
+/* } else if (channel->Ca() == 0){ */
+/* #ifdef USE_WAREAGLEICON */
+/* if (Setup.WarEagleIcons) { */
+/* return IsLangUtf8() ? ICON_TV_UTF8 : ICON_TV; */
+/* } else { */
+/* #endif */
+/* return "T"; */
+/* } */
+/* } else { */
+/* #ifdef USE_WAREAGLEICON */
+/* if (Setup.WarEagleIcons) { */
+/* return IsLangUtf8() ? ICON_TV_CRYPTED_UTF8 : ICON_TV_CRYPTED; */
+/* } */
+/* else */
+/* #endif */
+/* return "C"; */
+/* } */
+/* } */
+/* #endif */
+
+/* #if APIVERSNUM < 10507 */
+/* int cItemChoice2::Icon() */
+/* { */
+/* if (channel->Vpid() == 1 || channel->Vpid() == 0) */
+/* #ifdef USE_WAREAGLEICON */
+/* return ICON_RADIO; */
+/* #else */
+/* return 'R'; */
+/* #endif */
+/* else if (channel->Ca() == 0) */
+/* #ifdef USE_WAREAGLEICON */
+/* return ICON_TV; */
+/* #else */
+/* return 'T'; */
+/* #endif */
+/* else */
+/* #ifdef USE_WAREAGLEICON */
+/* return ICON_TV_VERSCHL; */
+/* #else */
+/* return 'C'; */
+/* #endif */
+/* } */
+/* #endif */
+
+int cItemChoice2::Icon()
+{
+ if (channel->Vpid() == 1 || channel->Vpid() == 0)
+ return 'R';
+ else if (channel->Ca() == 0)
+ return 'T';
+ else
+ return 'C';
+}
+
+
+cItemChoice2::cItemChoice2(int Positem, cChannel *Channel,cMyChannel *MyChannel)
+{
+ positem=Positem;
+ channel=Channel;
+ mychannel=MyChannel;
+ Set();
+ /* char *buffer=NULL;
+
+ if (WhatShow==1)
+ asprintf(&buffer,
+#if APIVERSNUM >= 10507
+ "%3d\t%s %s\t %s",
+#else
+ "%3d\t%c %s\t %s",
+#endif
+ positem, Icon(), channel->Name(), channel->Provider());
+ else if (WhatShow==2)
+ asprintf(&buffer, channel->Rid() ?
+#if APIVERSNUM >= 10507
+ "%3d\t%s %s\t %s-%d-%d-%d-%d" : "%3d\t%s %s\t %s-%d-%d-%d",
+#else
+ "%3d\t%c %s\t %s-%d-%d-%d-%d" : "%3d\t%c %s\t %s-%d-%d-%d",
+#endif
+ positem, Icon(), channel->Name(),*cSource::ToString(channel->Source()),
+ channel->Nid(), channel->Tid(), channel->Sid(), channel->Rid());
+ else
+ asprintf(&buffer,
+#if APIVERSNUM >= 10507
+ "%3d\t%s %s\t %d",
+#else
+ "%3d\t%c %s\t %d",
+#endif
+ positem, Icon(), channel->Name(), channel->Frequency());
+
+ SetText(buffer, false);*/
+}
+
+
+
+void cItemChoice2::Set(void)
+{
+ // positem=Positem;
+ // channel=Channel;
+ char *buffer=NULL;
+ int signpos;
+ signpos=mychannel->ToCut() ? -(positem) : positem;
+ if (WhatShow==1)
+ asprintf(&buffer,
+/* #if APIVERSNUM >= 10507 */
+/* "%3d\t%s %s\t %s", */
+/* #else */
+/* "%3d\t%c %s\t %s", */
+/* #endif */
+ "%3d\t%c %s\t %s",
+ signpos, Icon(), channel->Name(), channel->Provider());
+ else if (WhatShow==2)
+ asprintf(&buffer, channel->Rid() ?
+/* #if APIVERSNUM >= 10507 */
+/* "%3d\t%s %s\t %s-%d-%d-%d-%d" : "%3d\t%s %s\t %s-%d-%d-%d", */
+/* #else */
+/* "%3d\t%c %s\t %s-%d-%d-%d-%d" : "%3d\t%c %s\t %s-%d-%d-%d", */
+/* #endif */
+ "%3d\t%c %s\t %s-%d-%d-%d-%d" : "%3d\t%c %s\t %s-%d-%d-%d",
+ signpos, Icon(), channel->Name(),*cSource::ToString(channel->Source()),
+ channel->Nid(), channel->Tid(), channel->Sid(), channel->Rid());
+ else
+ asprintf(&buffer,
+/* #if APIVERSNUM >= 10507 */
+/* "%3d\t%s %s\t %d", */
+/* #else */
+/* "%3d\t%c %s\t %d", */
+/* #endif */
+ "%3d\t%c %s\t %d",
+ signpos, Icon(), channel->Name(), channel->Frequency());
+
+ SetText(buffer, false);
+}
+
+
+int cItemChoice2::Compare(const cListObject &ListObject) const
+{
+ cItemChoice2 *p = (cItemChoice2 *)&ListObject;
+ int r = -1;
+ if (increasing)
+ r = positem - p->Number();
+ else r = p->Number() - positem;
+
+ return r;
+}
+
+//----------
+
+VDRPLUGINCREATOR(cPluginChanman); // Don't touch this!
diff --git a/chanman/chanman.h b/chanman/chanman.h
new file mode 100755
index 0000000..8da104a
--- /dev/null
+++ b/chanman/chanman.h
@@ -0,0 +1,185 @@
+
+#if APIVERSNUM >= 10507
+static const char *DESCRIPTION = trNOOP( "Channel manager plugin" );
+static const char *MAINMENUENTRY = trNOOP( "Channel manager" );
+#else
+static const char *DESCRIPTION = "Channel manager plugin";
+static const char *MAINMENUENTRY = "Channel manager";
+#endif
+
+
+enum eChannelSortMode { csmNumber, csmName, csmProvider, csmSrcProvider, csmSrcName , csmSrcFrequency};
+
+enum eChannelFilterMode { cfmAll, cfmRadio, cfmTv, cfmTvCrypted };
+
+
+
+class cPluginChanman : public cPlugin {
+private:
+ // Add any member variables or functions you may need here.
+public:
+ cPluginChanman(void);
+ virtual ~cPluginChanman();
+ virtual const char *Version(void) { return VERSION; }
+ virtual const char *Description(void) { return tr(DESCRIPTION); }
+ virtual const char *CommandLineHelp(void);
+ virtual bool ProcessArgs(int argc, char *argv[]);
+ virtual bool Initialize(void);
+ virtual bool Start(void);
+ virtual void Stop(void);
+ virtual void Housekeeping(void);
+ virtual void MainThreadHook(void);
+ virtual cString Active(void);
+ virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY); }
+ virtual cOsdObject *MainMenuAction(void);
+ virtual cMenuSetupPage *SetupMenu(void);
+ virtual bool SetupParse(const char *Name, const char *Value);
+ virtual bool Service(const char *Id, void *Data = NULL);
+ virtual const char **SVDRPHelpPages(void);
+ virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode);
+};
+
+
+
+class cMyChannel : public cListObject {
+ private:
+ static eChannelSortMode sortMode;
+ static eChannelFilterMode filterMode;
+ cChannel *channel;
+ int pos;
+ bool isIn;
+ bool toCut;
+ public:
+ cMyChannel(cChannel *Channel, int Pos) { channel = Channel; isIn=true;pos=Pos;toCut=false;}
+ cChannel *GetCh(void){return channel;}
+ void SetCh(cChannel *Channel){ channel = Channel; isIn=true; }
+ static void SetSortMode(eChannelSortMode SortMode){ sortMode=SortMode;}
+ static void SetFilterMode(eChannelFilterMode FilterMode){ filterMode=FilterMode;}
+ static void IncFilterMode(void) { filterMode = eChannelFilterMode((filterMode == cfmTvCrypted) ? cfmAll : filterMode + 1); }
+ bool IsIn(void){return isIn;}
+ void In(bool IsIn){isIn=IsIn;}
+ bool ToCut(){return toCut;}
+ void ToCut(bool ToCut){toCut=ToCut;}
+ static eChannelSortMode SortMode(void){ return sortMode;}
+ static eChannelFilterMode FilterMode(void){ return filterMode;}
+ virtual int Compare(const cListObject &ListObject) const;
+};
+
+
+class cMyChannels : public cList<cMyChannel>{
+ private:
+ bool modified;
+ public:
+ void Set(void);
+ //~cMyChannels(void);
+ //void Reset(void);
+ void FilterChan(void);
+ bool Filtered(cMyChannel *lchannel);
+ void SetModified(void){modified=true;}
+ bool Modified(void);
+};
+
+
+class cToCutChannel : public cListObject {
+ private:
+ cMyChannel *mychannel;
+ public:
+ cToCutChannel(cMyChannel *MyChannel){mychannel=MyChannel;}
+ cMyChannel *Get(void){return mychannel;}
+};
+
+
+class cMenuSetupChanMan : public cMenuSetupPage {
+private:
+ int newNrRow;
+ int newWhatShow;
+ int newWhatJump;
+protected:
+ virtual void Store(void);
+public:
+ cMenuSetupChanMan(void);
+ };
+
+
+
+class cItemChoice1 : public cOsdItem {
+ private:
+ int positem;
+ static bool increasing;
+ cMyChannel *firstlch;
+ int numch;
+ int src;
+ public:
+ cItemChoice1(int positem, cMyChannel *first, int numch);
+ cMyChannel *GetFirst(void){return firstlch;}
+ int GetNum(void){return numch;}
+ int Number(void){return positem;}
+ int Src(void){return src;}
+ virtual int Compare(const cListObject &ListObject) const;
+ static void SetIncreasing(bool Inc){increasing=Inc;}
+ static bool Increasing(void){return increasing;}
+};
+
+
+
+class cFirstMenu : public cOsdMenu {
+ private:
+ int number;
+ cTimeMs numberTimer;
+ void Setup(void);
+ public:
+ cFirstMenu(void);
+ ~cFirstMenu(void);
+ bool IsFirst(cMyChannel *lchannel, int nch);
+ bool IsLast(cMyChannel *lchannel, int nch);
+ bool SkipIt(cMyChannel *lchannel);
+ bool Filtered(cMyChannel *lchannel);
+ void JumpNext(void);
+ void JumpNextLetter(int num);
+ const char * NameProv(cItemChoice1 *cx);
+ void SetFirstHelp(void);
+ eOSState ProcessKey(eKeys k);
+ eOSState Number(eKeys k);
+};
+
+
+class cSecondMenu : public cOsdMenu {
+ private:
+ int number;
+ cTimeMs numberTimer;
+ void Propagate(void);
+ cChannel *GetChannel(int Index);
+ cMyChannel *GetMyChannel(int Index);
+ public:
+ cSecondMenu(cMyChannel *firstlch, int numch);
+ ~cSecondMenu(void);
+ eOSState ProcessKey(eKeys k);
+ eOSState Switch(void);
+ eOSState Number(eKeys k);
+ void Move(int From, int To);
+ void Cut();
+ void Paste();
+};
+
+class cItemChoice2 : public cOsdItem {
+ private:
+ int positem;
+ static bool increasing;
+ cChannel *channel;
+ cMyChannel *mychannel;
+ public:
+ cItemChoice2(int positem,cChannel *channel,cMyChannel *mychannel);
+ cChannel *GetChan(void){return channel;}
+ cMyChannel *GetMyChan(void){return mychannel;}
+ int Number(void){return positem;}
+ void SetPos(int Positem){positem=Positem;}
+/* #if APIVERSNUM >= 10507 */
+/* const char *Icon(void); */
+/* #else */
+/* int Icon(void); */
+/* #endif */
+ int Icon(void);
+ virtual int Compare(const cListObject &ListObject) const;
+ virtual void Set(void);
+ static void IncFlag(void){increasing=!increasing;}
+};
diff --git a/chanman/config.h b/chanman/config.h
new file mode 100644
index 0000000..96abc6f
--- /dev/null
+++ b/chanman/config.h
@@ -0,0 +1,3 @@
+// Configuration file
+// If you use iconpatch uncomment the following line
+//#define ICONPATCH
diff --git a/chanman/debug b/chanman/debug
new file mode 100644
index 0000000..6e47626
--- /dev/null
+++ b/chanman/debug
@@ -0,0 +1,33 @@
+export LANG=it_IT@euro
+export LC_CTYPE=it_IT@euro
+
+emacs debug
+
+gdb ~/vdrVideo/vdr/vdr -s ~/vdrVideo/vdr/PLUGINS/lib/libvdr-chanman.so.1.4.5
+
+break cSecondMenu::Cut()
+break cSecondMenu::Paste()
+
+break cSecondMenu::Propagate()
+
+break cMenuChannels::Setup()
+break cMenuChannels::cMenuChannels()
+break menu.c:417
+
+break chanman.c:599
+
+run -P'softdevice -vo xv:' -Pchanman
+
+
+
+// Salta le funzioni
+(n)ext
+
+// Entra nelle funzioni
+(s)tep
+//Stampa
+(p)rint
+// Continua
+(c)
+// Pulisce breakpoint
+clear \ No newline at end of file
diff --git a/chanman/i18n-to-gettext.pl b/chanman/i18n-to-gettext.pl
new file mode 100755
index 0000000..c3bff31
--- /dev/null
+++ b/chanman/i18n-to-gettext.pl
@@ -0,0 +1,347 @@
+#!/usr/bin/perl -w
+
+# Convert i18n texts to gettext
+#
+# Extracts all texts from the file i18n.c and creates language
+# specific *.po files.
+#
+# Usage: i18n-to-gettext.pl
+#
+# See the main source file 'vdr.c' for copyright information and
+# how to reach the author.
+#
+# $Id: i18n-to-gettext.pl 1.6 2007/11/04 10:57:36 kls Exp $
+
+# How to convert an actual plugin:
+#
+# - If your code contains something like
+#
+# const char *Text = "Some text";
+# ...
+# Function(tr(Text));
+#
+# you need to enclose the text constant in trNOOP(...), as in
+#
+# const char *Text = trNOOP("Some text");
+#
+# The actual usage of the tr() macro remains unchanged.
+#
+# - If you have comments following the texts in your i18n.c file
+# that should be seen by the translators, move them from the
+# i18n.c file into the file where the text is actually used,
+# and mark them with the TRANSLATORS keyword, as in
+#
+# // TRANSLATORS: note the plural!
+# Add(new cMenuEditIntItem( tr("Setup.EPG$Preferred languages"), ...
+#
+# - Fill in your email address in the line
+# $MSGIDBUGS = "" ...
+# below, so that users can reach you in case there is a problem
+# with a message id.
+#
+# - Run this Perl script from within your plugin's source directory.
+# This script will run 'xgettext' to extract all of your texts
+# into a file named <pluginname>.pot. After that it will extract
+# your existing i18n texts from the file i18n.c (or wherever you
+# have defined them) and generate *.po files for all languages
+# currently known by VDR.
+#
+# - Your Makefile will be automatically adjusted to allow for
+# building the *.mo files necessary for supporting gettext().
+# Please check carefully whether the automatic adjustments have
+# succeeded, though. The modified Makefile will be written to
+# Makefile.new, so you can call this script any numer of times
+# in case you need to do some fine tuning of your texts (especially
+# adding some trNOOP() in case the script reports "missing phrases".
+# Once you're done converting your plugin source to using gettext,
+# rename Makefile.new to Makefile.
+#
+# - You may want to remove the old internationalized texts from your
+# source. Usually this means removing the files i18n.[hc], stripping
+# i18n.o from the OBJS variable in the Makefile and removing all
+# '#include "i18n.h"' lines from the rest of your source files.
+# These steps are not done automatically.
+
+# Check for the existence of a Makefile:
+
+die "Makefile not found!" unless (-f "Makefile");
+
+# Determine the plugin name:
+
+$PLUGIN = `grep '^PLUGIN *=' Makefile | head -1` || die "can't find plugin name!";
+$PLUGIN =~ s/.*= *(.*)\n/$1/;
+die "can't find plugin name!" unless ($PLUGIN);
+
+# Locate the file containing the texts:
+
+$I18NFILE = "";
+for ("i18n.c", "i18n.h", `ls *.c`) { # try i18n.[ch] explicitly first
+ chomp($f = $_);
+ if (-f $f && `grep tI18nPhrase $f`) {
+ $I18NFILE = $f;
+ last;
+ }
+ }
+die "can't find internationalized texts!" unless ($I18NFILE);
+
+# Plugin specific information:
+
+$TITLE = "VDR plugin language source file";
+$COPYRIGHT = "2007 Klaus Schmidinger <kls\@cadsoft.de>";
+$PACKAGE = "VDR";
+$VERSION = "1.5.7";
+$MSGIDBUGS = "giancarlo.rinaldo\@tiscali.it";
+$LANGUAGETEAM = "<vdr\@linuxtv.org>";
+
+# Gettext environment:
+
+$XGETTEXT = "xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='$MSGIDBUGS'";
+$PODIR = "po";
+$POTFILE = "$PODIR/$PLUGIN.pot";
+
+# Languages as known by VDR 1.5.6:
+
+@LANGS = (
+ "en_US",
+ "de_DE",
+ "sl_SI",
+ "it_IT",
+ "nl_NL",
+ "pt_PT",
+ "fr_FR",
+ "nn_NO",
+ "fi_FI",
+ "pl_PL",
+ "es_ES",
+ "el_GR",
+ "sv_SE",
+ "ro_RO",
+ "hu_HU",
+ "ca_ES",
+ "ru_RU",
+ "hr_HR",
+ "et_EE",
+ "da_DK",
+ "cs_CZ",
+ "tr_TR"
+ );
+
+@CHARSETS = (
+ "ISO-8859-15",
+ "ISO-8859-15",
+ "ISO-8859-2",
+ "ISO-8859-15",
+ "ISO-8859-15",
+ "ISO-8859-1",
+ "ISO-8859-1",
+ "ISO-8859-1",
+ "ISO-8859-15",
+ "ISO-8859-2",
+ "ISO-8859-15",
+ "ISO-8859-7",
+ "ISO-8859-1",
+ "ISO-8859-2",
+ "ISO-8859-2",
+ "ISO-8859-1",
+ "ISO-8859-5",
+ "ISO-8859-2",
+ "ISO-8859-13",
+ "ISO-8859-15",
+ "ISO-8859-2",
+ "ISO-8859-9",
+ );
+
+@TRANSLATORS = (
+ "Klaus Schmidinger <kls\@cadsoft.de>, 2000",
+ "Klaus Schmidinger <kls\@cadsoft.de>, 2000",
+ "Miha Setina <mihasetina\@softhome.net>, 2000; Matjaz Thaler <matjaz.thaler\@guest.arnes.si>, 2003",
+ "Alberto Carraro <bertocar\@tin.it>, 2001; Antonio Ospite <ospite\@studenti.unina.it>, 2003; Sean Carlos <seanc\@libero.it>, 2005",
+ "Arnold Niessen <niessen\@iae.nl> <arnold.niessen\@philips.com>, 2001; Hans Dingemans <hans.dingemans\@tacticalops.nl>, 2003; Maarten Wisse <Maarten.Wisse\@urz.uni-hd.de>, 2005",
+ "Paulo Lopes <pmml\@netvita.pt>, 2001",
+ "Jean-Claude Repetto <jc\@repetto.org>, 2001; Olivier Jacques <jacquesolivier\@hotmail.com>, 2003; Gregoire Favre <greg\@magma.unil.ch>, 2003; Nicolas Huillard <nhuillard\@e-dition.fr>, 2005",
+ "Jørgen Tvedt <pjtvedt\@online.no>, 2001; Truls Slevigen <truls\@slevigen.no>, 2002",
+ "Hannu Savolainen <hannu\@opensound.com>, 2002; Jaakko Hyvätti <jaakko\@hyvatti.iki.fi>, 2002; Niko Tarnanen <niko.tarnanen\@hut.fi>, 2003; Rolf Ahrenberg <rahrenbe\@cc.hut.fi>, 2003",
+ "Michael Rakowski <mrak\@gmx.de>, 2002",
+ "Ruben Nunez Francisco <ruben.nunez\@tang-it.com>, 2002",
+ "Dimitrios Dimitrakos <mail\@dimitrios.de>, 2002",
+ "Tomas Prybil <tomas\@prybil.se>, 2002; Jan Ekholm <chakie\@infa.abo.fi>, 2003",
+ "Paul Lacatus <paul\@campina.iiruc.ro>, 2002; Lucian Muresan <lucianm\@users.sourceforge.net>, 2004",
+ "Istvan Koenigsberger <istvnko\@hotmail.com>, 2002; Guido Josten <guido.josten\@t-online.de>, 2002",
+ "Marc Rovira Vall <tm05462\@salleURL.edu>, 2003; Ramon Roca <ramon.roca\@xcombo.com>, 2003; Jordi Vilà <jvila\@tinet.org>, 2003",
+ "Vyacheslav Dikonov <sdiconov\@mail.ru>, 2004",
+ "Drazen Dupor <drazen.dupor\@dupor.com>, 2004; Dino Ravnic <dino.ravnic\@fer.hr>, 2004",
+ "Arthur Konovalov <kasjas\@hot.ee>, 2004",
+ "Mogens Elneff <mogens\@elneff.dk>, 2004",
+ "Vladimír Bárta <vladimir.barta\@k2atmitec.cz>, 2006",
+ "Oktay Yolgeçen <oktay_73\@yahoo.de>, 2007"
+ );
+
+@LASTTRANSLATOR = (
+ "Klaus Schmidinger <kls\@cadsoft.de>",
+ "Klaus Schmidinger <kls\@cadsoft.de>",
+ "Matjaz Thaler <matjaz.thaler\@guest.arnes.si>",
+ "Sean Carlos <seanc\@libero.it>",
+ "Maarten Wisse <Maarten.Wisse\@urz.uni-hd.de>",
+ "Paulo Lopes <pmml\@netvita.pt>",
+ "Nicolas Huillard <nhuillard\@e-dition.fr>",
+ "Truls Slevigen <truls\@slevigen.no>",
+ "Rolf Ahrenberg <rahrenbe\@cc.hut.fi>",
+ "Michael Rakowski <mrak\@gmx.de>",
+ "Ruben Nunez Francisco <ruben.nunez\@tang-it.com>",
+ "Dimitrios Dimitrakos <mail\@dimitrios.de>",
+ "Tomas Prybil <tomas\@prybil.se>",
+ "Lucian Muresan <lucianm\@users.sourceforge.net>",
+ "Istvan Koenigsberger <istvnko\@hotmail.com>, Guido Josten <guido.josten\@t-online.de>",
+ "Jordi Vilà <jvila\@tinet.org>",
+ "Vyacheslav Dikonov <sdiconov\@mail.ru>",
+ "Drazen Dupor <drazen.dupor\@dupor.com>",
+ "Arthur Konovalov <kasjas\@hot.ee>",
+ "Mogens Elneff <mogens\@elneff.dk>",
+ "Vladimír Bárta <vladimir.barta\@k2atmitec.cz>",
+ "Oktay Yolgeçen <oktay_73\@yahoo.de>"
+ );
+
+# Collect all translated texts:
+
+open(F, $I18NFILE) || die "$I18NFILE: $!\n";
+$InComment = 0;
+while (<F>) {
+ chomp;
+ s/\t/ /g; # get rid of tabs
+ s/ *$//; # get rid of trailing blanks
+ s/^ *\/\/.*//; # remove comment lines
+ s/ *\/\/.*//; # strip trailing comments
+ s/\/\*.*\*\///g; # strip c comments
+ if (/\/\*/) {
+ $InComment = 1;
+ s/\/\*.*$//; # remove start of comment
+ }
+ elsif (/\*\//) {
+ $InComment = 0;
+ s/^.*\*\///; # remove end of comment
+ }
+ elsif ($InComment) {
+ next;
+ }
+ next if (/^ *$/); # skip empty lines
+ next if (/#if/);
+ next if (/#endif/);
+ next unless ($found or $found = /const *tI18nPhrase .*{/); # sync on phrases
+ next if (/const *tI18nPhrase .*{/); # skip sync line
+ last if (/{ *NULL *}/); # stop after last phrase
+ if (/{ *(.*),/) {
+ $Original = $1;
+ $Index = 0;
+ }
+ elsif (/}/) {
+ }
+ else {
+ $Translated = $_;
+ $Translated =~ s/ *(.*),/$1/;
+ $Index++;
+ $Map{$Original}[$Index] = $Translated;
+ }
+ }
+close(F);
+
+# Generate the .pot file:
+
+(mkdir($PODIR) || die "$PODIR: $!\n") unless -d $PODIR;
+
+system("$XGETTEXT -o $POTFILE *.c");
+
+# Generate .po files for all languages:
+
+open(POT, $POTFILE) || die "$POTFILE: $!\n";
+@POT = <POT>;
+close(POT);
+
+for ($Index = 1; $LANGS[$Index]; $Index++) {
+
+ $Authors = "# " . join("\n# ", split(/; */, $TRANSLATORS[$Index])) . "\n";
+
+ $POFILE = "$PODIR/$LANGS[$Index].po";
+ open(PO, ">$POFILE") || die "$POFILE: $!\n";
+ $msgid = "";
+ for (@POT) {
+ next if (/^#, fuzzy$/); # skip the 'fuzzy' keyword
+ $msgid = $1 if (/^msgid (".+")/);
+ $date = $1 if (/POT-Creation-Date: (.*)\\n/);
+ $s = $_;
+ if (!$msgid) {
+ $s =~ s/SOME DESCRIPTIVE TITLE/$TITLE/;
+ $s =~ s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/$COPYRIGHT/;
+ $s =~ s/PACKAGE/$PACKAGE/;
+ $s =~ s/VERSION/$VERSION/;
+ $s = $Authors if (/FIRST AUTHOR/);
+ $s =~ s/YEAR-MO-DA HO:MI\+ZONE/$date/;
+ $s =~ s/FULL NAME <EMAIL\@ADDRESS>/$LASTTRANSLATOR[$Index]/;
+ $s =~ s/LANGUAGE <LL\@li\.org>/$LANGUAGETEAM/;
+ $s =~ s/CHARSET/$CHARSETS[$Index]/;
+ }
+ else {
+ $s =~ s/""/$Map{$msgid}[$Index]/ if ($msgid && /^msgstr ""/ && defined $Map{$msgid}[$Index]);
+ $Used{$msgid} = 1;
+ }
+ print PO $s;
+ }
+ close(PO);
+ }
+
+# Report missing phrases:
+
+for (keys %Map) {
+ push(@Missing, "$_\n") unless $Used{$_};
+ }
+
+if (@Missing) {
+ print "Missing phrases (may need to use trNOOP):\n\n";
+ print sort(@Missing);
+ }
+
+# Adjust the Makefile:
+
+$MAKEI18N = q{### Internationalization (I18N):
+
+PODIR = po
+LOCALEDIR = $(VDRDIR)/locale
+I18Npo = $(wildcard $(PODIR)/*.po)
+I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Npot = $(PODIR)/$(PLUGIN).pot
+
+%.mo: %.po
+ msgfmt -c -o $@ $<
+
+$(I18Npot): $(wildcard *.c)
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<} . $MSGIDBUGS . q{>' -o $@ $^
+
+%.po: $(I18Npot)
+ msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+ @touch $@
+
+$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ @mkdir -p $(dir $@)
+ cp $< $@
+
+.PHONY: i18n
+i18n: $(I18Nmsgs)
+
+};
+
+open(OLD, "Makefile") || die "Makefile: $!";
+open(NEW, ">Makefile.new") || die "Makefile.new: $!";
+while (<OLD>) {
+ chomp;
+ if (/Targets:/) {
+ print NEW $MAKEI18N;
+ }
+ elsif (/^all:/) {
+ $_ .= " i18n";
+ }
+ elsif (/^clean:/) {
+ $_ .= "\n\t\@-rm -f \$(PODIR)/*.mo \$(PODIR)/*.pot";
+ }
+ print NEW "$_\n";
+ }
+close(NEW);
+close(OLD);
diff --git a/chanman/i18n.c b/chanman/i18n.c
new file mode 100755
index 0000000..3bb7a94
--- /dev/null
+++ b/chanman/i18n.c
@@ -0,0 +1,412 @@
+/*
+ * i18n.c: Internationalization
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id: i18n.c 1.6 2006/04/22 09:30:57 kls Exp $
+ */
+
+#include "i18n.h"
+
+#if APIVERSNUM < 10507
+
+const tI18nPhrase Phrases[] = {
+ { "Channel manager plugin",
+ "Kanal Manager Plugin",
+ "",// TODO
+ "Plugin per gestire i canali",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Channel Manager",
+ "Kanal Manager",
+ "",// TODO
+ "Gestione canali",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Channel manager",
+ "Kanal Manager",
+ "",// TODO
+ "Gestione canali",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Radio",
+ "Radio",
+ "",// TODO
+ "Radio",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Tv",
+ "TV",
+ "",// TODO
+ "Tv",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Tv Crypt",
+ "TV verschlüsselt",
+ "",// TODO
+ "Tv codif.",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "All",
+ "Alle",
+ "",// TODO
+ "Tutti",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Group",
+ "Gruppe",
+ "",// TODO
+ "Gruppo",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Name",
+ "Name",
+ "",// TODO
+ "Nome",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Channels",
+ "Kanäle",
+ "",// TODO
+ "Canali",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Src+Name",
+ "Quelle+Name",
+ "",// TODO
+ "Srg+Nome",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Provider",
+ "Provider",
+ "",// TODO
+ "Provider",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Src+Provider",
+ "Quelle+Provider",
+ "",// TODO
+ "Srg+Prov.",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Src+Frequency",
+ "Quelle+Frequenz",
+ "",// TODO
+ "Srg+Freq.",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Max items for alphabetic order",
+ "Max Elemente für alphabetische Sortierung",
+ "",// TODO
+ "Voci max in ordine Alfabetico",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Show : 1) Prov.; 2) ChID; 3) Freq.",
+ "Zeige : 1) Prov.; 2) ID; 3) Freq.",
+ "",// TODO
+ "Mostra: 1) Prov 2) ID Can 3) Freq",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Jump : 1) Alphabetic; 2) Numeric",
+ "Springe : 1) Alphabetisch; 2) Numerisch",
+ "",// TODO
+ "Vai a: 1) Alfabetico 2) Num.",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { "Button$Switch",
+ "Umschalten",
+ "",// TODO
+ "Cambia",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ "",// TODO
+ "",// TODO
+ "",// TODO
+ "",
+ },
+ { NULL }
+ };
+#endif
diff --git a/chanman/i18n.h b/chanman/i18n.h
new file mode 100755
index 0000000..5d367fa
--- /dev/null
+++ b/chanman/i18n.h
@@ -0,0 +1,20 @@
+/*
+ * i18n.h: Internationalization
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id: i18n.h 1.2 2002/05/11 14:48:16 kls Exp $
+ */
+
+#ifndef _I18N__H
+#define _I18N__H
+
+#include <vdr/i18n.h>
+
+#if APIVERSNUM < 10507
+extern const tI18nPhrase Phrases[];
+#define trNOOP(s) (s)
+#endif
+
+
+#endif //_I18N__H
diff --git a/chanman/po/.svn/.wh.__dir_opaque b/chanman/po/.svn/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/.wh.__dir_opaque
diff --git a/chanman/po/.svn/README.txt b/chanman/po/.svn/README.txt
new file mode 100644
index 0000000..271a8ce
--- /dev/null
+++ b/chanman/po/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/chanman/po/.svn/dir-wcprops b/chanman/po/.svn/dir-wcprops
new file mode 100644
index 0000000..6605f0d
--- /dev/null
+++ b/chanman/po/.svn/dir-wcprops
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 29
+/!svn/ver/14/trunk/chanman/po
+END
diff --git a/chanman/po/.svn/empty-file b/chanman/po/.svn/empty-file
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/empty-file
diff --git a/chanman/po/.svn/entries b/chanman/po/.svn/entries
new file mode 100644
index 0000000..565c19a
--- /dev/null
+++ b/chanman/po/.svn/entries
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="14"
+ name=""
+ committed-date="2008-05-11T20:57:22.188156Z"
+ url="http://svn.messinalug.org/trunk/chanman/po"
+ last-author="allanon"
+ kind="dir"
+ uuid="3a754965-cece-4aa4-9d64-1df25c4bb22d"
+ repos="http://svn.messinalug.org"
+ revision="16"/>
+<entry
+ committed-rev="13"
+ name="nl_NL.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="726cabc2f784b0607c3580fd0ab32b3c"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="hr_HR.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="72620ab88e89634ff7a204de73935d79"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="da_DK.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="527873f2a90c1c84e7959ed7baf36a08"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="pl_PL.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="6bc314eb5663059edeea155d5c8c67d1"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nn_NO.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="4050e48222673329d2dc119648c6de29"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="14"
+ name="it_IT.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-05-11T20:57:22.188156Z"
+ checksum="88170af28d1f82a12cde34917af34eaa"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-05-12T18:03:02.000000Z"/>
+<entry
+ committed-rev="13"
+ name="hu_HU.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="84c9b47236dad8ead6e0ac9f49bb96d6"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="sl_SI.po"
+ text-time="2008-05-18T17:40:25.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="42856b3e57d51d4ef6ad08cf72d33df9"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="ca_ES.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="3b8bbd60724a2c76a551f26b8fcaeaa1"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="fi_FI.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="2561e413a9d9142c0aa0e796a2dea287"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="sv_SE.po"
+ text-time="2008-05-18T17:40:25.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="1c6dda575fc109f33527ab4e2a592d9d"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="ro_RO.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="8faa2c7f214b68ac6012d3d267252511"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="et_EE.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="126c07793e1d0cfaa8535fbe5e6422be"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="pt_PT.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="20b3983fc41441160849c3ae3a0c034b"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="el_GR.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="bff7cd3a21dae79a3768ccf797846cac"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="tr_TR.po"
+ text-time="2008-05-18T17:40:25.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="495dfd8331f1dc5f0f4f358c0e165275"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="ru_RU.po"
+ text-time="2008-05-18T17:40:25.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="5bef09319fa6309e4c70a8687812b3a6"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="fr_FR.po"
+ text-time="2008-05-18T17:40:24.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="fdfc51283c7ed3c0b029d5b890d9bb4d"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="13"
+ name="es_ES.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="bd552ddd0ed1373aedc488ab42b23f51"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+<entry
+ committed-rev="14"
+ name="de_DE.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-05-11T20:57:22.188156Z"
+ checksum="ae5915a8b192a2587b23ccbcb10f6586"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-05-12T18:03:02.000000Z"/>
+<entry
+ committed-rev="13"
+ name="cs_CZ.po"
+ text-time="2008-05-18T17:40:23.000000Z"
+ committed-date="2008-04-19T17:32:54.492883Z"
+ checksum="46cf61b3b72fad9daee887455cbcd253"
+ last-author="allanon"
+ kind="file"
+ prop-time="2008-04-19T12:39:58.000000Z"/>
+</wc-entries>
diff --git a/chanman/po/.svn/format b/chanman/po/.svn/format
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/chanman/po/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/chanman/po/.svn/prop-base/.wh.__dir_opaque b/chanman/po/.svn/prop-base/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/.wh.__dir_opaque
diff --git a/chanman/po/.svn/prop-base/ca_ES.po.svn-base b/chanman/po/.svn/prop-base/ca_ES.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/ca_ES.po.svn-base
diff --git a/chanman/po/.svn/prop-base/cs_CZ.po.svn-base b/chanman/po/.svn/prop-base/cs_CZ.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/cs_CZ.po.svn-base
diff --git a/chanman/po/.svn/prop-base/da_DK.po.svn-base b/chanman/po/.svn/prop-base/da_DK.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/da_DK.po.svn-base
diff --git a/chanman/po/.svn/prop-base/de_DE.po.svn-base b/chanman/po/.svn/prop-base/de_DE.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/de_DE.po.svn-base
diff --git a/chanman/po/.svn/prop-base/el_GR.po.svn-base b/chanman/po/.svn/prop-base/el_GR.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/el_GR.po.svn-base
diff --git a/chanman/po/.svn/prop-base/es_ES.po.svn-base b/chanman/po/.svn/prop-base/es_ES.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/es_ES.po.svn-base
diff --git a/chanman/po/.svn/prop-base/et_EE.po.svn-base b/chanman/po/.svn/prop-base/et_EE.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/et_EE.po.svn-base
diff --git a/chanman/po/.svn/prop-base/fi_FI.po.svn-base b/chanman/po/.svn/prop-base/fi_FI.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/fi_FI.po.svn-base
diff --git a/chanman/po/.svn/prop-base/fr_FR.po.svn-base b/chanman/po/.svn/prop-base/fr_FR.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/fr_FR.po.svn-base
diff --git a/chanman/po/.svn/prop-base/hr_HR.po.svn-base b/chanman/po/.svn/prop-base/hr_HR.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/hr_HR.po.svn-base
diff --git a/chanman/po/.svn/prop-base/hu_HU.po.svn-base b/chanman/po/.svn/prop-base/hu_HU.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/hu_HU.po.svn-base
diff --git a/chanman/po/.svn/prop-base/it_IT.po.svn-base b/chanman/po/.svn/prop-base/it_IT.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/it_IT.po.svn-base
diff --git a/chanman/po/.svn/prop-base/nl_NL.po.svn-base b/chanman/po/.svn/prop-base/nl_NL.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/nl_NL.po.svn-base
diff --git a/chanman/po/.svn/prop-base/nn_NO.po.svn-base b/chanman/po/.svn/prop-base/nn_NO.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/nn_NO.po.svn-base
diff --git a/chanman/po/.svn/prop-base/pl_PL.po.svn-base b/chanman/po/.svn/prop-base/pl_PL.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/pl_PL.po.svn-base
diff --git a/chanman/po/.svn/prop-base/pt_PT.po.svn-base b/chanman/po/.svn/prop-base/pt_PT.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/pt_PT.po.svn-base
diff --git a/chanman/po/.svn/prop-base/ro_RO.po.svn-base b/chanman/po/.svn/prop-base/ro_RO.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/ro_RO.po.svn-base
diff --git a/chanman/po/.svn/prop-base/ru_RU.po.svn-base b/chanman/po/.svn/prop-base/ru_RU.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/ru_RU.po.svn-base
diff --git a/chanman/po/.svn/prop-base/sl_SI.po.svn-base b/chanman/po/.svn/prop-base/sl_SI.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/sl_SI.po.svn-base
diff --git a/chanman/po/.svn/prop-base/sv_SE.po.svn-base b/chanman/po/.svn/prop-base/sv_SE.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/sv_SE.po.svn-base
diff --git a/chanman/po/.svn/prop-base/tr_TR.po.svn-base b/chanman/po/.svn/prop-base/tr_TR.po.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/prop-base/tr_TR.po.svn-base
diff --git a/chanman/po/.svn/props/.wh.__dir_opaque b/chanman/po/.svn/props/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/.wh.__dir_opaque
diff --git a/chanman/po/.svn/props/ca_ES.po.svn-work b/chanman/po/.svn/props/ca_ES.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/ca_ES.po.svn-work
diff --git a/chanman/po/.svn/props/cs_CZ.po.svn-work b/chanman/po/.svn/props/cs_CZ.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/cs_CZ.po.svn-work
diff --git a/chanman/po/.svn/props/da_DK.po.svn-work b/chanman/po/.svn/props/da_DK.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/da_DK.po.svn-work
diff --git a/chanman/po/.svn/props/de_DE.po.svn-work b/chanman/po/.svn/props/de_DE.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/de_DE.po.svn-work
diff --git a/chanman/po/.svn/props/el_GR.po.svn-work b/chanman/po/.svn/props/el_GR.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/el_GR.po.svn-work
diff --git a/chanman/po/.svn/props/es_ES.po.svn-work b/chanman/po/.svn/props/es_ES.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/es_ES.po.svn-work
diff --git a/chanman/po/.svn/props/et_EE.po.svn-work b/chanman/po/.svn/props/et_EE.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/et_EE.po.svn-work
diff --git a/chanman/po/.svn/props/fi_FI.po.svn-work b/chanman/po/.svn/props/fi_FI.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/fi_FI.po.svn-work
diff --git a/chanman/po/.svn/props/fr_FR.po.svn-work b/chanman/po/.svn/props/fr_FR.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/fr_FR.po.svn-work
diff --git a/chanman/po/.svn/props/hr_HR.po.svn-work b/chanman/po/.svn/props/hr_HR.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/hr_HR.po.svn-work
diff --git a/chanman/po/.svn/props/hu_HU.po.svn-work b/chanman/po/.svn/props/hu_HU.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/hu_HU.po.svn-work
diff --git a/chanman/po/.svn/props/it_IT.po.svn-work b/chanman/po/.svn/props/it_IT.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/it_IT.po.svn-work
diff --git a/chanman/po/.svn/props/nl_NL.po.svn-work b/chanman/po/.svn/props/nl_NL.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/nl_NL.po.svn-work
diff --git a/chanman/po/.svn/props/nn_NO.po.svn-work b/chanman/po/.svn/props/nn_NO.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/nn_NO.po.svn-work
diff --git a/chanman/po/.svn/props/pl_PL.po.svn-work b/chanman/po/.svn/props/pl_PL.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/pl_PL.po.svn-work
diff --git a/chanman/po/.svn/props/pt_PT.po.svn-work b/chanman/po/.svn/props/pt_PT.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/pt_PT.po.svn-work
diff --git a/chanman/po/.svn/props/ro_RO.po.svn-work b/chanman/po/.svn/props/ro_RO.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/ro_RO.po.svn-work
diff --git a/chanman/po/.svn/props/ru_RU.po.svn-work b/chanman/po/.svn/props/ru_RU.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/ru_RU.po.svn-work
diff --git a/chanman/po/.svn/props/sl_SI.po.svn-work b/chanman/po/.svn/props/sl_SI.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/sl_SI.po.svn-work
diff --git a/chanman/po/.svn/props/sv_SE.po.svn-work b/chanman/po/.svn/props/sv_SE.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/sv_SE.po.svn-work
diff --git a/chanman/po/.svn/props/tr_TR.po.svn-work b/chanman/po/.svn/props/tr_TR.po.svn-work
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/props/tr_TR.po.svn-work
diff --git a/chanman/po/.svn/text-base/.wh.__dir_opaque b/chanman/po/.svn/text-base/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/text-base/.wh.__dir_opaque
diff --git a/chanman/po/.svn/text-base/ca_ES.po.svn-base b/chanman/po/.svn/text-base/ca_ES.po.svn-base
new file mode 100644
index 0000000..b0621cb
--- /dev/null
+++ b/chanman/po/.svn/text-base/ca_ES.po.svn-base
@@ -0,0 +1,72 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Marc Rovira Vall <tm05462@salleURL.edu>, 2003
+# Ramon Roca <ramon.roca@xcombo.com>, 2003
+# Jordi Vilà <jvila@tinet.org>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/cs_CZ.po.svn-base b/chanman/po/.svn/text-base/cs_CZ.po.svn-base
new file mode 100644
index 0000000..c1804d2
--- /dev/null
+++ b/chanman/po/.svn/text-base/cs_CZ.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/da_DK.po.svn-base b/chanman/po/.svn/text-base/da_DK.po.svn-base
new file mode 100644
index 0000000..15c9fb3
--- /dev/null
+++ b/chanman/po/.svn/text-base/da_DK.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Mogens Elneff <mogens@elneff.dk>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/de_DE.po.svn-base b/chanman/po/.svn/text-base/de_DE.po.svn-base
new file mode 100644
index 0000000..5775522
--- /dev/null
+++ b/chanman/po/.svn/text-base/de_DE.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Klaus Schmidinger <kls@cadsoft.de>, 2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr "Kanal Manager Plugin"
+
+msgid "Channel manager"
+msgstr "Kanal Manager"
+
+msgid "Max items for alphabetic order"
+msgstr "Max Elemente für alphabetische Sortierung"
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr "Zeige : 1) Prov.; 2) ID; 3) Freq."
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr "Springe : 1) Alphabetisch; 2) Numerisch"
+
+msgid "Channel Manager"
+msgstr "Kanal Manager"
+
+msgid "Radio"
+msgstr "Radio"
+
+msgid "Tv"
+msgstr "TV"
+
+msgid "Tv Crypt"
+msgstr "TV verschlüsselt"
+
+msgid "All"
+msgstr "Alle"
+
+msgid "Src+Frequency"
+msgstr "Quelle+Frequenz"
+
+msgid "Group"
+msgstr "Gruppe"
+
+msgid "Src+Provider"
+msgstr "Quelle+Provider"
+
+msgid "Provider"
+msgstr "Provider"
+
+msgid "Src+Name"
+msgstr "Quelle+Name"
+
+msgid "Name"
+msgstr "Name"
+
+msgid "Channels"
+msgstr "Kanäle"
+
+msgid "Button$Switch"
+msgstr "Umschalten"
diff --git a/chanman/po/.svn/text-base/el_GR.po.svn-base b/chanman/po/.svn/text-base/el_GR.po.svn-base
new file mode 100644
index 0000000..076150b
--- /dev/null
+++ b/chanman/po/.svn/text-base/el_GR.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-7\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/es_ES.po.svn-base b/chanman/po/.svn/text-base/es_ES.po.svn-base
new file mode 100644
index 0000000..b7210cc
--- /dev/null
+++ b/chanman/po/.svn/text-base/es_ES.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/et_EE.po.svn-base b/chanman/po/.svn/text-base/et_EE.po.svn-base
new file mode 100644
index 0000000..df31b9a
--- /dev/null
+++ b/chanman/po/.svn/text-base/et_EE.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Arthur Konovalov <kasjas@hot.ee>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-13\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/fi_FI.po.svn-base b/chanman/po/.svn/text-base/fi_FI.po.svn-base
new file mode 100644
index 0000000..8736dc3
--- /dev/null
+++ b/chanman/po/.svn/text-base/fi_FI.po.svn-base
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Hannu Savolainen <hannu@opensound.com>, 2002
+# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002
+# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003
+# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/fr_FR.po.svn-base b/chanman/po/.svn/text-base/fr_FR.po.svn-base
new file mode 100644
index 0000000..5f50a9e
--- /dev/null
+++ b/chanman/po/.svn/text-base/fr_FR.po.svn-base
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Jean-Claude Repetto <jc@repetto.org>, 2001
+# Olivier Jacques <jacquesolivier@hotmail.com>, 2003
+# Gregoire Favre <greg@magma.unil.ch>, 2003
+# Nicolas Huillard <nhuillard@e-dition.fr>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/hr_HR.po.svn-base b/chanman/po/.svn/text-base/hr_HR.po.svn-base
new file mode 100644
index 0000000..4fa004f
--- /dev/null
+++ b/chanman/po/.svn/text-base/hr_HR.po.svn-base
@@ -0,0 +1,71 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Drazen Dupor <drazen.dupor@dupor.com>, 2004
+# Dino Ravnic <dino.ravnic@fer.hr>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/hu_HU.po.svn-base b/chanman/po/.svn/text-base/hu_HU.po.svn-base
new file mode 100644
index 0000000..d4184fc
--- /dev/null
+++ b/chanman/po/.svn/text-base/hu_HU.po.svn-base
@@ -0,0 +1,71 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Istvan Koenigsberger <istvnko@hotmail.com>, 2002
+# Guido Josten <guido.josten@t-online.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/it_IT.po.svn-base b/chanman/po/.svn/text-base/it_IT.po.svn-base
new file mode 100644
index 0000000..a8e7da9
--- /dev/null
+++ b/chanman/po/.svn/text-base/it_IT.po.svn-base
@@ -0,0 +1,72 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Alberto Carraro <bertocar@tin.it>, 2001
+# Antonio Ospite <ospite@studenti.unina.it>, 2003
+# Sean Carlos <seanc@libero.it>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-05-11 21:25+0200\n"
+"PO-Revision-Date: 2008-04-19 18:49+0100\n"
+"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr "Plugin per gestire i canali"
+
+msgid "Channel manager"
+msgstr "Gestione canali"
+
+msgid "Max items for alphabetic order"
+msgstr "Voci max in ordine Alfabetico"
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr "Mostra: 1) Prov 2) ID Can 3) Freq"
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr "Vai a: 1) Alfabetico 2) Num."
+
+msgid "Channel Manager"
+msgstr "Gestione canali"
+
+msgid "Radio"
+msgstr "Radio"
+
+msgid "Tv"
+msgstr "Tv"
+
+msgid "Tv Crypt"
+msgstr "Tv codif."
+
+msgid "All"
+msgstr "Tutti"
+
+msgid "Src+Frequency"
+msgstr "Srg+Freq."
+
+msgid "Group"
+msgstr "Gruppo"
+
+msgid "Src+Provider"
+msgstr "Srg+Prov."
+
+msgid "Provider"
+msgstr "Provider"
+
+msgid "Src+Name"
+msgstr "Srg+Nome"
+
+msgid "Name"
+msgstr "Nome"
+
+msgid "Channels"
+msgstr "Canali"
+
+msgid "Button$Switch"
+msgstr "Cambia"
diff --git a/chanman/po/.svn/text-base/nl_NL.po.svn-base b/chanman/po/.svn/text-base/nl_NL.po.svn-base
new file mode 100644
index 0000000..4c7052e
--- /dev/null
+++ b/chanman/po/.svn/text-base/nl_NL.po.svn-base
@@ -0,0 +1,72 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001
+# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003
+# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/nn_NO.po.svn-base b/chanman/po/.svn/text-base/nn_NO.po.svn-base
new file mode 100644
index 0000000..eac19a4
--- /dev/null
+++ b/chanman/po/.svn/text-base/nn_NO.po.svn-base
@@ -0,0 +1,71 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Jørgen Tvedt <pjtvedt@online.no>, 2001
+# Truls Slevigen <truls@slevigen.no>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/pl_PL.po.svn-base b/chanman/po/.svn/text-base/pl_PL.po.svn-base
new file mode 100644
index 0000000..ee4237b
--- /dev/null
+++ b/chanman/po/.svn/text-base/pl_PL.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Michael Rakowski <mrak@gmx.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/pt_PT.po.svn-base b/chanman/po/.svn/text-base/pt_PT.po.svn-base
new file mode 100644
index 0000000..4dc8a54
--- /dev/null
+++ b/chanman/po/.svn/text-base/pt_PT.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Paulo Lopes <pmml@netvita.pt>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/ro_RO.po.svn-base b/chanman/po/.svn/text-base/ro_RO.po.svn-base
new file mode 100644
index 0000000..58edb81
--- /dev/null
+++ b/chanman/po/.svn/text-base/ro_RO.po.svn-base
@@ -0,0 +1,71 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Paul Lacatus <paul@campina.iiruc.ro>, 2002
+# Lucian Muresan <lucianm@users.sourceforge.net>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/ru_RU.po.svn-base b/chanman/po/.svn/text-base/ru_RU.po.svn-base
new file mode 100644
index 0000000..0fba8df
--- /dev/null
+++ b/chanman/po/.svn/text-base/ru_RU.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-5\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/sl_SI.po.svn-base b/chanman/po/.svn/text-base/sl_SI.po.svn-base
new file mode 100644
index 0000000..7fbb235
--- /dev/null
+++ b/chanman/po/.svn/text-base/sl_SI.po.svn-base
@@ -0,0 +1,71 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Miha Setina <mihasetina@softhome.net>, 2000
+# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/sv_SE.po.svn-base b/chanman/po/.svn/text-base/sv_SE.po.svn-base
new file mode 100644
index 0000000..7edb668
--- /dev/null
+++ b/chanman/po/.svn/text-base/sv_SE.po.svn-base
@@ -0,0 +1,71 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Tomas Prybil <tomas@prybil.se>, 2002
+# Jan Ekholm <chakie@infa.abo.fi>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/text-base/tr_TR.po.svn-base b/chanman/po/.svn/text-base/tr_TR.po.svn-base
new file mode 100644
index 0000000..dcdd2a2
--- /dev/null
+++ b/chanman/po/.svn/text-base/tr_TR.po.svn-base
@@ -0,0 +1,70 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2008-04-19 14:40+0200\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-9\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Channel manager plugin"
+msgstr ""
+
+msgid "Channel manager"
+msgstr ""
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
diff --git a/chanman/po/.svn/tmp/.wh.__dir_opaque b/chanman/po/.svn/tmp/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/tmp/.wh.__dir_opaque
diff --git a/chanman/po/.svn/tmp/prop-base/.wh.__dir_opaque b/chanman/po/.svn/tmp/prop-base/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/tmp/prop-base/.wh.__dir_opaque
diff --git a/chanman/po/.svn/tmp/props/.wh.__dir_opaque b/chanman/po/.svn/tmp/props/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/tmp/props/.wh.__dir_opaque
diff --git a/chanman/po/.svn/tmp/text-base/.wh.__dir_opaque b/chanman/po/.svn/tmp/text-base/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/tmp/text-base/.wh.__dir_opaque
diff --git a/chanman/po/.svn/tmp/wcprops/.wh.__dir_opaque b/chanman/po/.svn/tmp/wcprops/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/tmp/wcprops/.wh.__dir_opaque
diff --git a/chanman/po/.svn/wcprops/.wh.__dir_opaque b/chanman/po/.svn/wcprops/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.svn/wcprops/.wh.__dir_opaque
diff --git a/chanman/po/.svn/wcprops/ca_ES.po.svn-work b/chanman/po/.svn/wcprops/ca_ES.po.svn-work
new file mode 100644
index 0000000..4395b95
--- /dev/null
+++ b/chanman/po/.svn/wcprops/ca_ES.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/ca_ES.po
+END
diff --git a/chanman/po/.svn/wcprops/cs_CZ.po.svn-work b/chanman/po/.svn/wcprops/cs_CZ.po.svn-work
new file mode 100644
index 0000000..3caa604
--- /dev/null
+++ b/chanman/po/.svn/wcprops/cs_CZ.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/cs_CZ.po
+END
diff --git a/chanman/po/.svn/wcprops/da_DK.po.svn-work b/chanman/po/.svn/wcprops/da_DK.po.svn-work
new file mode 100644
index 0000000..f3e0910
--- /dev/null
+++ b/chanman/po/.svn/wcprops/da_DK.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/da_DK.po
+END
diff --git a/chanman/po/.svn/wcprops/de_DE.po.svn-work b/chanman/po/.svn/wcprops/de_DE.po.svn-work
new file mode 100644
index 0000000..5bd27f2
--- /dev/null
+++ b/chanman/po/.svn/wcprops/de_DE.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/14/trunk/chanman/po/de_DE.po
+END
diff --git a/chanman/po/.svn/wcprops/el_GR.po.svn-work b/chanman/po/.svn/wcprops/el_GR.po.svn-work
new file mode 100644
index 0000000..588f7ff
--- /dev/null
+++ b/chanman/po/.svn/wcprops/el_GR.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/el_GR.po
+END
diff --git a/chanman/po/.svn/wcprops/es_ES.po.svn-work b/chanman/po/.svn/wcprops/es_ES.po.svn-work
new file mode 100644
index 0000000..7829452
--- /dev/null
+++ b/chanman/po/.svn/wcprops/es_ES.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/es_ES.po
+END
diff --git a/chanman/po/.svn/wcprops/et_EE.po.svn-work b/chanman/po/.svn/wcprops/et_EE.po.svn-work
new file mode 100644
index 0000000..5a42398
--- /dev/null
+++ b/chanman/po/.svn/wcprops/et_EE.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/et_EE.po
+END
diff --git a/chanman/po/.svn/wcprops/fi_FI.po.svn-work b/chanman/po/.svn/wcprops/fi_FI.po.svn-work
new file mode 100644
index 0000000..c0bb8d1
--- /dev/null
+++ b/chanman/po/.svn/wcprops/fi_FI.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/fi_FI.po
+END
diff --git a/chanman/po/.svn/wcprops/fr_FR.po.svn-work b/chanman/po/.svn/wcprops/fr_FR.po.svn-work
new file mode 100644
index 0000000..d4d634b
--- /dev/null
+++ b/chanman/po/.svn/wcprops/fr_FR.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/fr_FR.po
+END
diff --git a/chanman/po/.svn/wcprops/hr_HR.po.svn-work b/chanman/po/.svn/wcprops/hr_HR.po.svn-work
new file mode 100644
index 0000000..d077271
--- /dev/null
+++ b/chanman/po/.svn/wcprops/hr_HR.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/hr_HR.po
+END
diff --git a/chanman/po/.svn/wcprops/hu_HU.po.svn-work b/chanman/po/.svn/wcprops/hu_HU.po.svn-work
new file mode 100644
index 0000000..0c894db
--- /dev/null
+++ b/chanman/po/.svn/wcprops/hu_HU.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/hu_HU.po
+END
diff --git a/chanman/po/.svn/wcprops/it_IT.po.svn-work b/chanman/po/.svn/wcprops/it_IT.po.svn-work
new file mode 100644
index 0000000..c4f1e22
--- /dev/null
+++ b/chanman/po/.svn/wcprops/it_IT.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/14/trunk/chanman/po/it_IT.po
+END
diff --git a/chanman/po/.svn/wcprops/nl_NL.po.svn-work b/chanman/po/.svn/wcprops/nl_NL.po.svn-work
new file mode 100644
index 0000000..62896f8
--- /dev/null
+++ b/chanman/po/.svn/wcprops/nl_NL.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/nl_NL.po
+END
diff --git a/chanman/po/.svn/wcprops/nn_NO.po.svn-work b/chanman/po/.svn/wcprops/nn_NO.po.svn-work
new file mode 100644
index 0000000..b04ee66
--- /dev/null
+++ b/chanman/po/.svn/wcprops/nn_NO.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/nn_NO.po
+END
diff --git a/chanman/po/.svn/wcprops/pl_PL.po.svn-work b/chanman/po/.svn/wcprops/pl_PL.po.svn-work
new file mode 100644
index 0000000..589e7aa
--- /dev/null
+++ b/chanman/po/.svn/wcprops/pl_PL.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/pl_PL.po
+END
diff --git a/chanman/po/.svn/wcprops/pt_PT.po.svn-work b/chanman/po/.svn/wcprops/pt_PT.po.svn-work
new file mode 100644
index 0000000..5eef6ec
--- /dev/null
+++ b/chanman/po/.svn/wcprops/pt_PT.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/pt_PT.po
+END
diff --git a/chanman/po/.svn/wcprops/ro_RO.po.svn-work b/chanman/po/.svn/wcprops/ro_RO.po.svn-work
new file mode 100644
index 0000000..bd3b729
--- /dev/null
+++ b/chanman/po/.svn/wcprops/ro_RO.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/ro_RO.po
+END
diff --git a/chanman/po/.svn/wcprops/ru_RU.po.svn-work b/chanman/po/.svn/wcprops/ru_RU.po.svn-work
new file mode 100644
index 0000000..a56c83b
--- /dev/null
+++ b/chanman/po/.svn/wcprops/ru_RU.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/ru_RU.po
+END
diff --git a/chanman/po/.svn/wcprops/sl_SI.po.svn-work b/chanman/po/.svn/wcprops/sl_SI.po.svn-work
new file mode 100644
index 0000000..00582a0
--- /dev/null
+++ b/chanman/po/.svn/wcprops/sl_SI.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/sl_SI.po
+END
diff --git a/chanman/po/.svn/wcprops/sv_SE.po.svn-work b/chanman/po/.svn/wcprops/sv_SE.po.svn-work
new file mode 100644
index 0000000..823c4ca
--- /dev/null
+++ b/chanman/po/.svn/wcprops/sv_SE.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/sv_SE.po
+END
diff --git a/chanman/po/.svn/wcprops/tr_TR.po.svn-work b/chanman/po/.svn/wcprops/tr_TR.po.svn-work
new file mode 100644
index 0000000..c00d63c
--- /dev/null
+++ b/chanman/po/.svn/wcprops/tr_TR.po.svn-work
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/!svn/ver/13/trunk/chanman/po/tr_TR.po
+END
diff --git a/chanman/po/.wh.__dir_opaque b/chanman/po/.wh.__dir_opaque
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chanman/po/.wh.__dir_opaque
diff --git a/chanman/po/ca_ES.po b/chanman/po/ca_ES.po
new file mode 100644
index 0000000..8503bc0
--- /dev/null
+++ b/chanman/po/ca_ES.po
@@ -0,0 +1,75 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Marc Rovira Vall <tm05462@salleURL.edu>, 2003
+# Ramon Roca <ramon.roca@xcombo.com>, 2003
+# Jordi Vilà <jvila@tinet.org>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/cs_CZ.po b/chanman/po/cs_CZ.po
new file mode 100644
index 0000000..54fedbf
--- /dev/null
+++ b/chanman/po/cs_CZ.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/da_DK.po b/chanman/po/da_DK.po
new file mode 100644
index 0000000..2658d3f
--- /dev/null
+++ b/chanman/po/da_DK.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Mogens Elneff <mogens@elneff.dk>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/de_DE.po b/chanman/po/de_DE.po
new file mode 100644
index 0000000..b0cee6b
--- /dev/null
+++ b/chanman/po/de_DE.po
@@ -0,0 +1,81 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Klaus Schmidinger <kls@cadsoft.de>, 2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr "Max Elemente für alphabetische Sortierung"
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr "Zeige : 1) Prov.; 2) ID; 3) Freq."
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr "Springe : 1) Alphabetisch; 2) Numerisch"
+
+msgid "Channel Manager"
+msgstr "Kanal Manager"
+
+msgid "Radio"
+msgstr "Radio"
+
+msgid "Tv"
+msgstr "TV"
+
+msgid "Tv Crypt"
+msgstr "TV verschlüsselt"
+
+msgid "All"
+msgstr "Alle"
+
+msgid "Src+Frequency"
+msgstr "Quelle+Frequenz"
+
+msgid "Group"
+msgstr "Gruppe"
+
+msgid "Src+Provider"
+msgstr "Quelle+Provider"
+
+msgid "Provider"
+msgstr "Provider"
+
+msgid "Src+Name"
+msgstr "Quelle+Name"
+
+msgid "Name"
+msgstr "Name"
+
+msgid "Channels"
+msgstr "Kanäle"
+
+msgid "Button$Switch"
+msgstr "Umschalten"
+
+#, fuzzy
+msgid "Button$Cut"
+msgstr "Umschalten"
+
+#, fuzzy
+msgid "Button$Paste"
+msgstr "Umschalten"
+
+msgid "Button$Mark"
+msgstr ""
+
+#~ msgid "Channel manager plugin"
+#~ msgstr "Kanal Manager Plugin"
+
+#~ msgid "Channel manager"
+#~ msgstr "Kanal Manager"
diff --git a/chanman/po/el_GR.po b/chanman/po/el_GR.po
new file mode 100644
index 0000000..6e9e93c
--- /dev/null
+++ b/chanman/po/el_GR.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-7\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/es_ES.po b/chanman/po/es_ES.po
new file mode 100644
index 0000000..d683eeb
--- /dev/null
+++ b/chanman/po/es_ES.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/et_EE.po b/chanman/po/et_EE.po
new file mode 100644
index 0000000..398a12d
--- /dev/null
+++ b/chanman/po/et_EE.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Arthur Konovalov <kasjas@hot.ee>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-13\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/fi_FI.po b/chanman/po/fi_FI.po
new file mode 100644
index 0000000..1e16ebc
--- /dev/null
+++ b/chanman/po/fi_FI.po
@@ -0,0 +1,76 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Hannu Savolainen <hannu@opensound.com>, 2002
+# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002
+# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003
+# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/fr_FR.po b/chanman/po/fr_FR.po
new file mode 100644
index 0000000..5e00f0f
--- /dev/null
+++ b/chanman/po/fr_FR.po
@@ -0,0 +1,76 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Jean-Claude Repetto <jc@repetto.org>, 2001
+# Olivier Jacques <jacquesolivier@hotmail.com>, 2003
+# Gregoire Favre <greg@magma.unil.ch>, 2003
+# Nicolas Huillard <nhuillard@e-dition.fr>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/hr_HR.po b/chanman/po/hr_HR.po
new file mode 100644
index 0000000..89d8c48
--- /dev/null
+++ b/chanman/po/hr_HR.po
@@ -0,0 +1,74 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Drazen Dupor <drazen.dupor@dupor.com>, 2004
+# Dino Ravnic <dino.ravnic@fer.hr>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/hu_HU.po b/chanman/po/hu_HU.po
new file mode 100644
index 0000000..3c447e9
--- /dev/null
+++ b/chanman/po/hu_HU.po
@@ -0,0 +1,74 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Istvan Koenigsberger <istvnko@hotmail.com>, 2002
+# Guido Josten <guido.josten@t-online.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/it_IT.po b/chanman/po/it_IT.po
new file mode 100644
index 0000000..3a38f9b
--- /dev/null
+++ b/chanman/po/it_IT.po
@@ -0,0 +1,83 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Alberto Carraro <bertocar@tin.it>, 2001
+# Antonio Ospite <ospite@studenti.unina.it>, 2003
+# Sean Carlos <seanc@libero.it>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 18:49+0100\n"
+"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr "Voci max in ordine Alfabetico"
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr "Mostra: 1) Prov 2) ID Can 3) Freq"
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr "Vai a: 1) Alfabetico 2) Num."
+
+msgid "Channel Manager"
+msgstr "Gestione canali"
+
+msgid "Radio"
+msgstr "Radio"
+
+msgid "Tv"
+msgstr "Tv"
+
+msgid "Tv Crypt"
+msgstr "Tv codif."
+
+msgid "All"
+msgstr "Tutti"
+
+msgid "Src+Frequency"
+msgstr "Srg+Freq."
+
+msgid "Group"
+msgstr "Gruppo"
+
+msgid "Src+Provider"
+msgstr "Srg+Prov."
+
+msgid "Provider"
+msgstr "Provider"
+
+msgid "Src+Name"
+msgstr "Srg+Nome"
+
+msgid "Name"
+msgstr "Nome"
+
+msgid "Channels"
+msgstr "Canali"
+
+msgid "Button$Switch"
+msgstr "Cambia"
+
+#, fuzzy
+msgid "Button$Cut"
+msgstr "Cambia"
+
+#, fuzzy
+msgid "Button$Paste"
+msgstr "Cambia"
+
+msgid "Button$Mark"
+msgstr ""
+
+#~ msgid "Channel manager plugin"
+#~ msgstr "Plugin per gestire i canali"
+
+#~ msgid "Channel manager"
+#~ msgstr "Gestione canali"
diff --git a/chanman/po/nl_NL.po b/chanman/po/nl_NL.po
new file mode 100644
index 0000000..f5576cd
--- /dev/null
+++ b/chanman/po/nl_NL.po
@@ -0,0 +1,75 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001
+# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003
+# Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/nn_NO.po b/chanman/po/nn_NO.po
new file mode 100644
index 0000000..69a93b3
--- /dev/null
+++ b/chanman/po/nn_NO.po
@@ -0,0 +1,74 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Jørgen Tvedt <pjtvedt@online.no>, 2001
+# Truls Slevigen <truls@slevigen.no>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/pl_PL.po b/chanman/po/pl_PL.po
new file mode 100644
index 0000000..b0853a5
--- /dev/null
+++ b/chanman/po/pl_PL.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Michael Rakowski <mrak@gmx.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/pt_PT.po b/chanman/po/pt_PT.po
new file mode 100644
index 0000000..0f1c358
--- /dev/null
+++ b/chanman/po/pt_PT.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Paulo Lopes <pmml@netvita.pt>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/ro_RO.po b/chanman/po/ro_RO.po
new file mode 100644
index 0000000..9077892
--- /dev/null
+++ b/chanman/po/ro_RO.po
@@ -0,0 +1,74 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Paul Lacatus <paul@campina.iiruc.ro>, 2002
+# Lucian Muresan <lucianm@users.sourceforge.net>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/ru_RU.po b/chanman/po/ru_RU.po
new file mode 100644
index 0000000..b11aeea
--- /dev/null
+++ b/chanman/po/ru_RU.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-5\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/sl_SI.po b/chanman/po/sl_SI.po
new file mode 100644
index 0000000..d768dbf
--- /dev/null
+++ b/chanman/po/sl_SI.po
@@ -0,0 +1,74 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Miha Setina <mihasetina@softhome.net>, 2000
+# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/sv_SE.po b/chanman/po/sv_SE.po
new file mode 100644
index 0000000..59ef5d8
--- /dev/null
+++ b/chanman/po/sv_SE.po
@@ -0,0 +1,74 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Tomas Prybil <tomas@prybil.se>, 2002
+# Jan Ekholm <chakie@infa.abo.fi>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""
diff --git a/chanman/po/tr_TR.po b/chanman/po/tr_TR.po
new file mode 100644
index 0000000..6b9b8bd
--- /dev/null
+++ b/chanman/po/tr_TR.po
@@ -0,0 +1,73 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <giancarlo.rinaldo@tiscali.it>\n"
+"POT-Creation-Date: 2009-01-03 10:30+0100\n"
+"PO-Revision-Date: 2008-04-19 11:25+0200\n"
+"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-9\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Max items for alphabetic order"
+msgstr ""
+
+msgid "Show : 1) Prov.; 2) ChID; 3) Freq."
+msgstr ""
+
+msgid "Jump : 1) Alphabetic; 2) Numeric"
+msgstr ""
+
+msgid "Channel Manager"
+msgstr ""
+
+msgid "Radio"
+msgstr ""
+
+msgid "Tv"
+msgstr ""
+
+msgid "Tv Crypt"
+msgstr ""
+
+msgid "All"
+msgstr ""
+
+msgid "Src+Frequency"
+msgstr ""
+
+msgid "Group"
+msgstr ""
+
+msgid "Src+Provider"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Src+Name"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Button$Switch"
+msgstr ""
+
+msgid "Button$Cut"
+msgstr ""
+
+msgid "Button$Paste"
+msgstr ""
+
+msgid "Button$Mark"
+msgstr ""